Zabbix 部 署
Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持。
Zabbix 是一个企业级的分布式开源监控方案。
Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。
Zabbix支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbix可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。
Zabbix是免费的。Zabbix是根据GPL通用公共许可证第2版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用。
1:环境
系统 |
IP |
配置 |
主机名 |
CentOS7.9 |
10.0.0.10 |
2C2G |
zabbix-server |
CentOS7.9 |
10.0.0.11 |
2C2G |
zabbix-agent |
CentOS7.9 |
10.0.0.12 |
2C2G |
zabbix-mysql |
2:基础配置
# 关闭防火墙
systemctl disable firewalld --now
# 设置临时关闭selinux
setenforce 0
# 设置永久关闭selinux 所有主机操作
[root@virtual_host ~]# cat /etc/sysconfig/selinux | grep -v "^#"
SELINUX=disabled
SELINUXTYPE=targeted
修改完成之后使用 reboot 命令重启服务器即可开始zabbix的安装
# 部署数据库MySQL zabbix-mysql操作
[root@zabbix-mysql ~]# yum install -y mariadb mariadb-server
[root@zabbix-mysql ~]# systemctl enable mariadb.service --now
[root@zabbix-mysql ~]# mysql
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
# 这一步只有5.5-5.7是这么操作,8.0要分开操作,先创建用户然后再授权
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'10.0.0.%' identified by "zabbix";
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
3:配置repo并安装zabbix
# 添加repo源地址 server和agent部署即可
[root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@zabbix-server ~]# yum clean all
# 安装zabbix所需组件
# zabbix-server和代理和Enable Red Hat Software Collections
[root@zabbix-server ~]# yum install -y zabbix-server-mysql zabbix-agent centos-release-scl mariadb
# 安装zabbix前段所需依赖包
# 编辑配置文件 /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...
[root@zabbix-server ~]# yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl
# agent主机安装agent
[root@zabbix-agent ~]# yum install -y zabbix-agent
# 导入zabbix数据库 zabbix-server操作
[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql-5.0.20/create.sql.gz | mysql -uzabbix -pzabbix -Dzabbix -h 10.0.0.12
[root@zabbix-server ~]# mysql -uzabbix -pzabbix -h 10.0.0.12 -e "show tables from zabbix;"
+----------------------------+
| Tables_in_zabbix |
+----------------------------+
| acknowledges |
| actions |
| alerts |
| application_discovery |
| application_prototype |
| application_template |
| applications |
| auditlog |
---
# 修改zabbix-server的配置文件
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf +124
DBPassword=zabbix
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf +91
DBHost=10.0.0.12
# DBPassword=zabbix
# 将2、3行内容修改如下
[root@zabbix-server ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf +2
user = nginx
group = nginx
# 配置时区
[root@zabbix-server ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf +25
php_value[date.timezone] = Asia/Shanghai
# 修改nginx配置文件
[root@zabbix-server ~]# vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf +2
# server_name 为所在主机的IP地址
listen 80;
server_name 10.0.0.10;
# 将32行内容注释掉,并新增33行内容如下
# fastcgi_pass unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock;
fastcgi_pass 127.0.0.1:9000;
# 修改PHP配置文件
[root@zabbix-server ~]# vim /etc/opt/rh/rh-php72/php.ini +383
max_execution_time = 300
[root@zabbix-server ~]# vim /etc/opt/rh/rh-php72/php.ini +393
max_input_time = 300
[root@zabbix-server ~]# vim /etc/opt/rh/rh-php72/php.ini +672
post_max_size = 16M
[root@zabbix-server ~]# vim /etc/opt/rh/rh-php72/php.ini +902
date.timezone = Asia/Shanghai
# 重启所有服务并设为开机自启
[root@zabbix-server ~]# systemctl restart zabbix-server rh-nginx116-nginx rh-php72-php-fpm
[root@zabbix-server ~]# systemctl enable zabbix-server rh-nginx116-nginx rh-php72-php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/rh-nginx116-nginx.service to /usr/lib/systemd/system/rh-nginx116-nginx.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/rh-php72-php-fpm.service to /usr/lib/systemd/system/rh-php72-php-fpm.service
# 出现这两个问题的话解决方法是在他们的service内找到 ExecStart前面加上 ExecStartPost=/bin/sleep 0.1 即可解决
Dec 27 23:38:10 zabbix-agent systemd[1]: Can't open PID file /run/zabbix/zabbix_agentd.pid (yet?) after start: No such file or directory
Feb 07 00:12:04 zabbix-server systemd[1]: Can't open PID file /run/zabbix/zabbix_server.pid (yet?) after start: No such file or directory
4:汉化
# 解决中文乱码问题
1)在zabbix-server服务器上安装如下文件符集
yum -y install wqy-microhei-fonts
2)然后替换linux上默认的字符集
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
3)出现覆盖询问时输入 y 回车即可
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
cp: overwrite ‘/usr/share/fonts/dejavu/DejaVuSans.ttf’? y