什么是zabbix

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

zabbix安装

环境

服务器名称 ip地址
centos7V1-zabbix: zbserver1 192.168.10.222
centos7V2-zabbix: zbserver2 192.168.10.223

安装步骤

设置2台机器的服务器名称

[root@localhost ~]# hostnamectl set-hostname zbserver1
[root@localhost ~]# su
[root@zbserver1 ~]#

mysql安装

参照 mysql安装

zabbix

zabbix的安装

直接到 https://www.zabbix.com/download 去下载zabbix的源。注意选择相对应的步骤

下载仓库,注意不要使用epel-release库的zabbix*

[root@zbserver1 ~]# # rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
[root@zbserver1 ~]# # yum clean all

安装zabbix proxy

[root@zbserver1 ~]# yum install -y zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy

安装 数据库

mysql> create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

导入数据

# cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix_proxy

禁用logbin信任函数创建功能

mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

编辑配置文件,修改数据库密码

vi /etc/zabbix/zabbix_proxy.conf
找到相应的区域

### Option: DBPassword
#       Database password. Ignored for SQLite.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=1qaz!QAZ  #修改此值

启动zabbix

systemctl restart zabbix-proxy
systemctl enable zabbix-proxy 

上述步骤如果出错,那么应该是zabbix不支持mysql8.0的认证方式,更改zabbix的密码如下

错误信息如下


-- Unit zabbix-proxy.service has begun starting up.
Sep 10 15:54:42 zbserver1 systemd[1]: Can't open PID file /run/zabbix/zabbix_proxy.pid (yet?) after start: No such file or directory
Sep 10 15:54:42 zbserver1 systemd[1]: Failed to start Zabbix Proxy.
-- Subject: Unit zabbix-proxy.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit zabbix-proxy.service has failed.

修改密码,更新权限表

mysql> alter user zabbix@localhost identified  with mysql_native_password by '1qaz!QAZ';
Query OK, 0 rows affected (0.08 sec)

mysql> flush privileges

重新启动服务

  systemctl restart zabbix-proxy
  systemctl enable zabbix-proxy
作者:严锋  创建时间:2023-09-10 15:35
最后编辑:严锋  更新时间:2025-05-09 15:48