【案例共创】在华为云开发者空间基于Euler OS搭建Zabbix监控系统的最佳实践
【摘要】 一、案例介绍 项目简介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
二、免费领取云主机
如您还没有云主机,可点击链接,根据领取指南进行操作。
如您已领取云主机,可直接开始案例实践。
三、操作流程
💡 说明:
- 本实验需要华为云账号,且经过实名认证
- 本实验需要开发者空间账号,且经过实名认证
- 如您还没有云主机,可点击链接,根据领取指南进行操作
1.①中通过本机的谷歌浏览器,登录华为云开发者空间,进行后续zabbix的安装。
2.②中可以通过本机或者华为云开发者空间访问Zabbix Web界面,实现对服务器的监控。
四、用到资源
云资源 | 价格/时 | 时长 |
---|---|---|
开发者空间-云主机 | 免费 | 40min |
合计:0 元
五、实践步骤
1、环境开通
1.1 配置云主机
点击配置云主机,按照如下表格内容进行配置,配置完成后点击安装,待其环境准备完毕后,点击【进入桌面】。
云主机名称 | CPU架构 | 规格 | 操作系统 | 系统镜像 | 工具 |
---|---|---|---|---|---|
zabbix实践 | ARM | 4 vCPUs 8 GB | Euler | Huawei Cloud EulerOS 2.0 | 默认 |
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
访问浏览器如下图所示:
点击下一步时,会出现一些报错,此时会出现 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
再进行刷新,就能够成功了。
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;
完成这部分,就可以在前端进入数据库配配置界面,填写数据库密码,继续下一步,
当遇到如下报错时,是因为配置文件无权限导致的,将该路径文件下载复制到前端提示的目录里即可。
最终,完成zabbix安装,访问界面如下:
2.5 访问Zabbix服务端
初始用户名:Admin 默认密码:zabbix,点击访问即可~
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)