准备工作
系统环境
系统版本:CentOS Linux release 8.1.1911
MySQL版本:8.0.17
Nginx版本:1.16.1
Zabbix版本:4.4
安装MySQL
Zabbix支持多种数据库来存放采集到的数据,常用的如:MySQL、PostgreSQL、Oracle、IBM DB2、SQLite等,低版本可以参考上次部署好的MySQL 5.7.28,这次准备装MySQL 8.0.17
通过YUM安装
安装yum源
1 | rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm |
安装MySQL
1 | yum install -y @mysql |
当前MySQL版本是8.0.17

启动MySQL
1 | systemctl start mysqld |

配置MySQL
1 | 与低版本不同 |

1 | # 添加root远程权限 |
安装Nginx
通过RPM包安装
添加yum源
1 | vim /etc/yum.repos.d/nginx.repo |
安装Nginx
1 | yum install -y nginx |
当前Nginx stable版本是1.16.1

通过二进制包安装
下载压缩包
1 | wget http://nginx.org/download/nginx-1.16.1.tar.gz |
安装依赖包
1 | yum install -y pcre pcre-devel zlib zlib-devel gcc-c++ libtool openssl openssl-devel |
编译Nginx
1 | ./configure |
配置环境变量
1 | vim /etc/profile |
安装Zabbix
安装yum源
1 | rpm -ivh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm |
安装Zabbix组件
1 | yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent |
这里可能会因为网络问题导致某些组件下载安装失败,解决方法是用阿里云替换官方源
1 | rpm -e zabbix-release |
创建Zabbix库
1 | mysql -uroot -p |
1 | # 创建zabbix库 |
导入表结构
1 | zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix |
这就是导入后的zabbix库

连接Zabbix server与MySQL
1 | vim /etc/zabbix/zabbix_server.conf |
启动Zabbix
启动PHP
修改PHP时区
1 | vim /etc/php-fpm.d/zabbix.conf |
设置自启动
1 | systemctl enable --now php-fpm |
启动Nginx
配置Nginx
1 | vim /etc/nginx/conf.d/zabbix.conf |
设置自启动
1 | nginx -t |
启动Zabbix
1 | systemctl enable --now zabbix-server zabbix-agent |
这里可能会遇到启动失败的问题

按提示查看失败原因,可以看到是SELinux的锅

直接关掉再启动zabbix-server
1 | setenforce 0 |

配置一下SELinux
1 | vim /etc/sysconfig/selinux |
再看一下监听端口是否成功开启
1 | netstat -tnlp |

全部启动完毕后就可以在浏览器打开 http://localhost:9000/ 浏览Zabbix安装页面了

配置Zabbix
检查前端环境
这里一般都是PHP相关的配置,如果有项目报错就去修改/etc/php.ini
配置数据库连接
这里是配置前端和数据库连接的账户信息,填入之前配置好的MySQL库、用户和密码
如果你的数据库不是在本机,记得填入数据库所在的IP地址

配置服务端信息
填入自定义host和name,端口如果没有修改过/etc/zabbix/zabbix_server.conf就是默认的10051
最后会在/etc/zabbix/web/下生成一个zabbix.conf.php文件来保存刚刚配置好的所有信息

这样基于MySQL和Nginx的Zabbix就部署完毕了,访问 http://localhost:9000/ 就可以用初始用户名密码登陆。
常用配置文件
| 目录 | 描述 |
|---|---|
| /usr/share/zabbix/ | zabbix组件目录 |
| /etc/nginx/conf.d/zabbix.conf | nginx-zabbix配置文件 |
| /etc/php-fpm.d/zabbix.conf | php-fpm配置文件 |
| /etc/php.ini | php配置文件 |
| /etc/zabbix/web/zabbix.conf.php | zabbix-web端配置信息 |
参考资料
https://www.zabbix.com/documentation/4.4/manual
https://blog.csdn.net/zhwxl_zyx/article/details/104885812