介紹:
當需要監控的設備有很多,設備產生的監控數據需要很大的磁盤空間。爲了保證數據的安全性,可以把zabbix-web和zabbix-mysql分離。如果有更高的要求,mysql還可以搭建主從集羣。
實驗環境:
系統 角色 IP
Centos7.6 Zabbix-Server 192.168.14.217
Centos7.6 Zabbix-mysql 192.168.14.218
Centos7.6 Zabbix-agent 192.168.14.212
一、Zabbix-server端的部署
1、測試環境,關閉防火牆和selinux
#更改主機名
[root@localhost ~]# hostnamectl set-hostname zabbix-server
#關閉防火牆和selinux
[root@zabbix-server ~]# systemctl stop firewalld.service
[root@zabbix-server ~]# systemctl disable firewalld.service
[root@zabbix-server ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@zabbix-server ~]# setenforce 0
2、安裝zabbix rpm包(注意鏈接會更新)
[root@zabbix-server ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
3、安裝Server端的服務
[root@zabbix-server ~]# yum -y install zabbix-server-mysql zabbix-web-mysql
4、修改zabbix_server配置文件
[root@zabbix-server ~]# cat /etc/zabbix/zabbix_server.conf |grep -v "^$"|grep -v "^#"
ListenPort=10051 #監聽端口
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=192.168.14.218 #zabbix-mysql主機的IP地址
DBName=zabbix #zabbix-mysql數據庫名
DBUser=zabbix #zabbix-mysql的登錄用戶名
DBPassword=zabbix #zabbix-mysql的登錄密碼
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
5、修改zabbix前端PHP配置
[root@zabbix-server ~]# vi /etc/httpd/conf.d/zabbix.conf
# php_value date.timezone Europe/Riga 改爲》》 php_value date.timezone Asia/Shanghai
6、拷貝數據庫文件到zabbix-mysql主機
[root@zabbix-server ~]# scp /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz [email protected]:/root/
7、啓動服務
#zabbix-web服務
[root@zabbix-server ~]# systemctl start httpd
[root@zabbix-server ~]# systemctl enable httpd
#zabbix-server服務
[root@zabbix-server ~]# systemctl start zabbix-server
[root@zabbix-server ~]# systemctl enable zabbix-server
二、Zabbix-mysql端的部署
1、測試環境,關閉防火牆和selinux
#修改主機名
[root@localhost ~]# hostnamectl set-hostname zabbix-mysql
#關閉防火牆和selinux
[root@zabbix-mysql ~]# systemctl stop firewalld.service
[root@zabbix-mysql ~]# systemctl disable firewalld.service
[root@zabbix-mysql ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@zabbix-mysql ~]# setenforce 0
2、可選,刪除系統自帶數據庫
[root@zabbix-mysql ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@zabbix-mysql ~]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
3、安裝數據庫
[root@zabbix-mysql ~]# yum install mariadb-server mariadb –y
4、啓動服務
[root@zabbix-mysql ~]# systemctl start mariadb
[root@zabbix-mysql ~]# systemctl enable mariadb
5、創建數據庫,用戶和密碼(要跟zabbix-server配置文件一致),並運行遠程登錄
[root@zabbix-mysql ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 5.5.65-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@'192.168.14.%' IDENTIFIED BY 'zabbix';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
Bye
6、導入數據庫文件
[root@zabbix-mysql ~]# zcat create.sql.gz | mysql -uzabbix -pzabbix zabbix
三、Zabbix-server端的Web配置
1、瀏覽器訪問zabbix-server
2、登錄之後查看zabbi-server服務是否正常
四、Zabbix-agent部署
1、修改zabbix-agent配置文件
[root@localhost ~]# vi /etc/zabbix/zabbix_agentd.conf |grep -v "^$"|grep -v "^#"
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.14.217 #zabbix-server主機的IP
ServerActive=192.168.14.217 #zabbix-server主機的IP
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
2、重啓服務
[root@localhost ~]# systemctl restart zabbix-agent
3、zabbix-web添加主機
4、查看狀態
至此zabbix的web頁面和mysql分佈式部署成功。