Zabbix 介绍
Zabbix 由 Alexei Vladishev 创建、现由 Zabbix SIA 主导开发支持,是一款基于 AGPL-3.0 许可证的免费开源企业级分布式监控解决方案,可监控网络、服务器、虚拟机、应用程序等多类IT对象的健康与完整性,支持轮询和 trapping,具备灵活的电子邮件告警机制、优质的数据报告与可视化功能,还提供 Web 前端方便远程评估网络及服务器状态,适用于不同规模组织的 IT 基础设施监控,且源代码可免费获取。
核心功能
Zabbix 的数据收集能力强大,支持 SNMP、IPMI 等多种可用性和性能检查及自定义检查,可按自定义间隔由 server/proxy 和 agents 执行数据采集,并能通过触发器灵活定义阈值;同时具备高度可配置的告警(支持自定义通知及远程命令等自动化操作)、实时图形、网站模拟点击跟踪等网络监控功能,提供自定义图形、网络拓扑图、报表等丰富可视化选项;其数据存储于数据库且可配置历史数据保留,配置过程便捷(支持主机添加、模板应用及模板分组与继承),还拥有网络设备及资源自动发现、基于PHP的便捷web界面、用于集成的 Zabbix API、安全的权限系统,以及适用于 Linux 和Windows 系统、C 语言编写的轻量高效 agent,同时支持通过 Zabbix proxy 实现远程监控,适配复杂环境。
架构组成
Zabbix 由几个主要的软件组件组成。
- Zabbix server: 是 agents 向其报告可用性和完整性信息和统计信息的中心组件。server 是存储所有配置、统计和操作数据的中央存储库。
- 数据存储: Zabbix 收集的所有配置信息以及数据都存储在数据库中。
- Web 界面: Zabbix server 的一部分,通常(但不一定)与 server 运行在同一台设备上。
- Zabbix proxy: 是 Zabbix 部署的可选部分;但是对于分散单个 Zabbix server 的负载非常有用。可以代替 Zabbix server 收集性能和可用性数据。
- Zabbix agent: 部署在被监控目标上,以主动监控本地资源和应用程序,并将收集到的数据报告给 Zabbix server。从 Zabbix 4.4 开始,有两种类型的 agent 可用:Zabbix agent (轻量级,在许多平台上支持,用 C 编写)和 Zabbix agent 2 (非常灵活,易于使用插件扩展,用 Go 编写)。
兼容性
Zabbix server 可运行在 Linux、Solaris、HP-UX 等主流操作系统上,Agent 适配 Windows、Linux 等系统。
安装环境
- 操作系统: openEuler 24.03 LTS
- Zabbix版本: 7.4.2
Zabbix 安装
openEuler 操作系统安装
此处省略,可以参考如下文章。
使用 VirtualBox 虚拟机安装 openEuler 操作系统
基础环境预配置
修改主机名
执行命令修改主机名,修改完主机名以后需要退出重新登录一下才生效。
hostnamectl set-hostname zabbixbash
查看主机版本信息
确认 openEuler 系统的版本。

关闭 SElinux 和防火墙
- 临时关闭 SElinux。
setenforce 0- 修改配置文件永久关闭。
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configcat /etc/selinux/config
- 关闭防火墙并设置为开机不启动。
systemctl stop firewalldsystemctl disable firewalld
配置软件源(可选)
openEuler 默认是官方在线源,如果觉得安装软件的速度慢,可以修改为华为云或阿里云的软件源地址。
sed -i "s@http://repo.openeuler.org/openEuler-24.03-LTS-SP1/@https://mirrors.aliyun.com/openeuler/openEuler-24.03-LTS-SP1/@g" /etc/yum.repos.d/openEuler.repodnf clean alldnf makecache安装服务程序
安装 MySQL 服务
dnf install -y mysql mysql-server
安装 php 和 Apache 服务
dnf install -y php php-fpm httpd
安装编译软件和工具
dnf install -y libevent-devel mysql-devel pcre-devel pcre2-devel
启动和初始化数据库
- 启动 MySQL 并设置为开机自启。
systemctl enable mysqld --now
- 查看 MySQL 运行状态。
systemctl status mysqld.service
- 登录 MySQL。
mysql
- 初始化 MySQL 和配置 root 密码。
alter user root@'localhost' identified by 'Ictstu@123';exit;
下载安装 Zabbix
- 创建 zabbix 用户及用户组。
groupadd --system zabbixuseradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
- 创建 zabbix 安装目录。
mkdir -p /app/zabbixchown zabbix:zabbix -R /app/zabbix/chmod 755 -R /app/zabbix/
- 下载和解压 zabbix 软件包。
wget https://cdn.zabbix.com/zabbix/sources/stable/7.4/zabbix-7.4.2.tar.gztar -xvzf zabbix-7.4.2.tar.gz
- 编译 zabbix 软件,并指定安装目录。
cd zabbix-7.4.2/./configure --prefix=/app/zabbix --enable-server --enable-agent --with-mysql
-
出现下图所示即表示编译完成。

-
安装 zabbix 软件。
make install
配置 Zabbix 数据库
- 登录 MySQL 数据库,并创建 zabbix 数据库和用户。
mysql -uroot -p'Ictstu@123'create database zabbix character set utf8mb4 collate utf8mb4_bin;create user zabbix@localhost identified by 'Ictstu@123';grant all privileges on zabbix.* to zabbix@localhost;set global log_bin_trust_function_creators = 1;exit;
- 导入 zabbix 数据库文件。
mysql -uzabbix -p'Ictstu@123' zabbix < /root/zabbix-7.4.2/database/mysql/schema.sqlmysql -uzabbix -p'Ictstu@123' zabbix < /root/zabbix-7.4.2/database/mysql/images.sqlmysql -uzabbix -p'Ictstu@123' zabbix < /root/zabbix-7.4.2/database/mysql/data.sql
配置 Apache 和 php
- 启动 httpd 和 php-fpm 服务并设置为开机自启。
systemctl enable httpd --nowsystemctl enable php-fpm --now
- 复制 Zabbix UI 文件到 Apache 工作目录。
cp -r /root/zabbix-7.4.2/ui/* /var/www/html/
- 修改 Apache 工作目录的权限。
chown apache:apache -R /var/www/html/chmod 755 -R /var/www/html/
- 复制 zabbix Apache 配置文件到 Apache 的配置文件目录中。
cp /var/www/html/httpconf.php /etc/httpd/conf.d/
- 修改 Apache 配置文件,在 158 行后面加入如下内容。
vim /etc/httpd/conf/httpd.conf <FilesMatch \.php$> SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost/" </FilesMatch>
- 重启 Apache 服务。
systemctl restart httpd
- 安装 php 程序的依赖软件。
dnf -y install php-gd php-mysqlnd php-bcmath php-xml php-mbstring
- 修改 php 参数,完成下列参数的修改。
vim /etc/php.inipost_max_size = 16Mmax_execution_time = 300max_input_time = 300- 重启 php 服务。
systemctl restart php-fpm.service
安装 Zabbix 前端
-
在浏览器中输入 openEuler 操作系统的 IP 地址,回车,将语言修改为”Chinese(zh_CN)”。


-
点击”下一步”,进行必要条件检查。

-
所有项目通过后点击”下一步”,配置数据库连接,填写好数据库的用户名和密码。

-
填写 Zabbix 的主机名以后点击”下一步”。

-
检查参数无误后点击”下一步”。

-
点击”完成”,完成 Zabbix 前端安装。

-
使用账号:
Admin,密码:zabbix登录。
-
登录完成。

配置 Zabbix Server
- 创建 Zabbix Server 守护程序,并写入如下内容。
vim /usr/lib/systemd/system/zabbix-server.service[Unit]Description=Zabbix ServerAfter=syslog.targetAfter=network.targetAfter=postgresql.serviceAfter=pgbouncer.serviceAfter=postgresql-13.service[Service]Environment="CONFFILE=/app/zabbix/etc/zabbix_server.conf"EnvironmentFile=-/etc/sysconfig/zabbix-serverType=forkingRestart=on-failurePIDFile=/app/zabbix/zabbix_server.pidKillMode=control-groupExecStart=/app/zabbix/sbin/zabbix_server -c $CONFFILEExecStop=/bin/kill -SIGTERM $MAINPIDRestartSec=10sTimeoutSec=0[Install]WantedBy=multi-user.target- 修改 Zabbix Server 配置文件,完成以下条目修改。
vim /app/zabbix/etc/zabbix_server.confLogFile=/var/log/zabbix/zabbix_server.logDBUser=zabbixDBPassword=Ictstu@123PidFile=/app/zabbix/zabbix_server.pid- 修改目录的权限。
mkdir -p /var/log/zabbixchown zabbix:zabbix /var/log/zabbix/chown zabbix:zabbix -R /app/zabbix/
- 启动 Zabbix Server 服务,并设置为开机自启。
systemctl enable zabbix-server.service --now
-
此时再刷新页面,会显示”Zabbix服务器运行中”的值为”是”。

配置 Zabbix Agent
- 创建 Zabbix Agent 守护程序,并写入如下内容。
vim /usr/lib/systemd/system/zabbix-agent.service[Unit]Description=Zabbix AgentAfter=syslog.targetAfter=network.target[Service]Environment="CONFFILE=/app/zabbix/etc/zabbix_agent.conf"Type=simpleRestart=on-failurePIDFile=/app/zabbix/zabbix_agentd.pidKillMode=control-groupExecStart=/app/zabbix/sbin/zabbix_agentd -c $CONFFILEExecStop=/bin/kill -SIGTERM $MAINPIDRestartSec=10sUser=zabbixGroup=zabbix[Install]WantedBy=multi-user.target- 修改 Zabbix Agent 配置文件,完成以下条目修改。
vim /app/zabbix/etc/zabbix_agentd.confLogFile=/var/log/zabbix/zabbix_agentd.logPidFile=/app/zabbix/zabbix_agentd.pid- 启动 Zabbix Agent 服务,并设置为开机自启。
systemctl enable zabbix-agent.service --now/app/zabbix/sbin/zabbix_agentd -c /app/zabbix/etc/zabbix_agentd.conf
-
过一会再刷新页面,主机可用性变为”1可用”,并且能够显示CPU内存等参数信息了。

至此,Zabbix 已经安装完成。