【案例共创】在华为云开发者空间基于Euler OS搭建Zabbix监控系统的最佳实践

举报
周周的奇妙编程 发表于 2025/02/24 19:59:36 2025/02/24
116 0 0
【摘要】 一、案例介绍 项目简介Zabbix致力于构建异构环境下高可用性的智能监控体系,通过深度适配Euler OS操作系统的安全特性和华为云原生架构,提供更适合企业级场景的监控解决方案。开发者空间是华为云面向开发者提供的云上开发环境,支持开发者快速创建、部署、调试、运行、管理应用。开发者空间提供丰富的开发工具和资源,支持开发者快速构建应用,加速开发。本项目在华为云开发者空间基于Euler OS搭建...

一、案例介绍

项目简介

Zabbix致力于构建异构环境下高可用性的智能监控体系,通过深度适配Euler OS操作系统的安全特性和华为云原生架构,提供更适合企业级场景的监控解决方案。

开发者空间是华为云面向开发者提供的云上开发环境,支持开发者快速创建、部署、调试、运行、管理应用。开发者空间提供丰富的开发工具和资源,支持开发者快速构建应用,加速开发。

本项目在华为云开发者空间基于Euler OS搭建Zabbix监控系统,实现跨平台硬件资源监控、业务指标可视化及智能告警联动,打造精准可靠、弹性扩展、开箱即用的运维体验,以及易集成、易配置、易维护的部署方案。

技术栈构成

  • 基础平台:华为云开发者空间
  • 基础环境:Huawei Cloud EulerOS 2.0 + MySQL 8.0 + PHP 8.0 + Apache
  • 部署对象:Zabbix 7.2

二、免费领取云主机

如您还没有云主机,可点击链接,根据领取指南进行操作。

如您已领取云主机,可直接开始案例实践。

image.png

三、操作流程

image.png

💡 说明:

  • 本实验需要华为云账号,且经过实名认证
  • 本实验需要开发者空间账号,且经过实名认证
  • 如您还没有云主机,可点击链接,根据领取指南进行操作

1.①中通过本机的谷歌浏览器,登录华为云开发者空间,进行后续zabbix的安装。
2.②中可以通过本机或者华为云开发者空间访问Zabbix Web界面,实现对服务器的监控。

四、用到资源

云资源 价格/时 时长
开发者空间-云主机 免费 40min

合计:0 元

五、实践步骤

1、环境开通

1.1 配置云主机

点击配置云主机,按照如下表格内容进行配置,配置完成后点击安装,待其环境准备完毕后,点击【进入桌面】。

云主机名称 CPU架构 规格 操作系统 系统镜像 工具
zabbix实践 ARM 4 vCPUs 8 GB Euler Huawei Cloud EulerOS 2.0 默认

image.png

1.2 安装及配置MySQL

6.0 以上版本需要安装mysql8.0以上版本的数据库(以mysql为例子),在欧拉系统自带 mysql8.0 的源,无需要安装额外的源。

执行如下命令,进入root权限账户:

sudo -i

执行如下命令,查看欧拉系统自带 mysql8.0 的源:

dnf list | grep mysql

执行如下命令,安装mysql8.0:

dnf -y install mysql-server

执行如下命令,启动数据库:

systemctl start mysqld  && systemctl enable mysqld 

当出现Created symlink字样即表示启动成功!

执行如下命令,初始化数据库:

mysql_secure_installation

一路回车,设置自己的数据库密码,移除匿名用户,移除测试数据库等等

1.3 安装及配置PHP

执行如下命令,安装PHP:

dnf -y install php php-fpm

1.4 安装及配置Apache

由于安装PHP会自动安装apache服务,所以安装过程并未提及apache的安装过程。

2. 安装及配置Zabbix服务端

2.1 准备Zabbix服务端

进入tmp目录下,拉取zabbix的源码包:

cd /tmp
wget https://cdn.zabbix.com/zabbix/sources/stable/7.2/zabbix-7.2.0.tar.gz

当前路径下解压源码包

tar -zxvf zabbix-7.2.0.tar.gz

结构树如下:

2.2 配置Zabbix服务端

首先创建zabbix用户及用户组

groupadd --system zabbix

useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

创建zabbix安装目录

mkdir -p /app/zabbix

执行下面的命令,进入环境检查和编译环节:

ls /tmp
cd /tmp/zabbix-6.2.4
./configure --prefix=/app/zabbix --enable-server --enable-agent --with-mysql

在这里可以看到环境检查的结果是缺少mysql的开发库:

执行如下命令,安装mysql的开发库:

dnf -y install libevent-devel
dnf -y install mysql-devel
dnf -y install pcre-devel

再次执行编译命令,可以看到执行情况如下:

./configure --prefix=/app/zabbix --enable-server --enable-agent --with-mysql

2.3 安装Zabbix服务端

执行如下命令,进行安装:

make install

最终整体目录如下所示:

移动前端文件到apache服务的网页目录下:

mv /tmp/zabbix-7.2.0/ui/* /var/http/html

启动apache并访问:

systemctl start httpd && systemctl enable httpd
systemctl start php-fpm && systemctl enable php-fpm

访问浏览器如下图所示:

image.png

点击下一步时,会出现一些报错,此时会出现 PHP 所需要一些依赖和参数的报错,所以继续安装一些PHP相关的依赖。

dnf -y install php-gd php-mysqlnd php-bcmath php-xml php-mbstring

接下来调整PHP的配置文件如下三处, post_max_size ,max_excution_time , max_input_time

vim /etc/php.ini

修改完成后,重启php-fpm服务:

systemctl restart php-fpm

再进行刷新,就能够成功了。

image.png

2.4 Zabbix服务端数据库配置

mysql -uroot -p

create database zabbix character set utf8mb4 collate utf8mb4_bin;

create user zabbix@localhost identified by 'p@ssw0rd';

grant all privileges on zabbix.* to zabbix@localhost;

set global log_bin_trust_function_creators = 1;

quit;

导入Zbbix 的数据文件:


cat /tmp/zabbix-7.2.0/database/mysql/schema.sql | mysql -uzabbix -p ’密码’ zabbix

cat /tmp/zabbix-7.2.0/database/mysql/images.sql | mysql -uzabbix -p’密码’ zabbix

cat /tmp/zabbix-7.2.0/database/mysql/data.sql | mysql -uzabbix -p’密码’ zabbix

相关数据导入完成后关掉log_bin_trust_function_creators功能

set global log_bin_trust_function_creators = 0;

quit;

完成这部分,就可以在前端进入数据库配配置界面,填写数据库密码,继续下一步,

image.png

当遇到如下报错时,是因为配置文件无权限导致的,将该路径文件下载复制到前端提示的目录里即可。

最终,完成zabbix安装,访问界面如下:

2.5 访问Zabbix服务端

初始用户名:Admin 默认密码:zabbix,点击访问即可~

image.png

3. 安装及配置Zabbix客户端

上面我们已经完成了服务端的部署,下面开始进行客户端部署,并成功监测到本机的服务状况。

执行如下命令配置Zabbix-agent:

vim /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/app/zabbix/etc/zabbix_agent.conf"
Type=simple
Restart=on-failure
PIDFile=/app/zabbix/zabbix_agentd.pid
KillMode=control-group
ExecStart=/app/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target

执行如下命令修改zabbix agent配置文件:

vim /app/zabbix/etc/zabbix_agentd.conf

执行如下命令启动zabbix agent:

systemctl start zabbix-agent && systemctl enable zabbix-agent

执行成功后可看到正在运行中:

systemctl status zabbix-agent
netstat -ntlup | grep 10050

至此,在华为云开发者空间基于Euler OS搭建Zabbix服务端和客户端完成。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。