天天看點

Centos7 Zabbix3.4分布式監控zabbix-proxy

官網介紹:

zabbix proxy 可以代替 zabbix server 收集性能和可用性資料,然後把資料彙報給 zabbix server,并且在一定程度上分擔了zabbix server 的壓力。

此外,當所有agents和proxies報告給一個Zabbix server并且所有資料都集中收集時,使用proxy是實作集中式和分布式監控的最簡單方法。

zabbix proxy 使用場景:

  • 監控遠端區域裝置
  • 監控本地網絡不穩定區域
  • 當 zabbix 監控上千裝置時,使用它來減輕 server 的壓力
  • 簡化分布式監控的維護
Centos7 Zabbix3.4分布式監控zabbix-proxy

zabbix proxy 僅僅需要一條 tcp 連接配接到 zabbix server,是以防火牆上僅僅需要加上一條規則即可。

proxy 收集到資料之後,首先将資料緩存在本地,然後在一定得時間之後傳遞給 zabbix server,這樣就不會因為伺服器的任何臨時通信問題而丢失資料。這個時間由 proxy配置檔案中參數 ProxyLocalBuffer 和 ProxyOfflineBuffer 決定。

實驗環境:(同一個區域網路)

系統              角色            内網IP            公網IP
Centos7.6    zabbix-server    10.1.88.200        113.108.x.x
Centos7.6    zabbix-proxy     192.168.14.211     121.32.x.x
Centos7.6    zabbix-agent     192.168.14.212
           

伺服器公網

Centos7 Zabbix3.4分布式監控zabbix-proxy

用戶端公網

Centos7 Zabbix3.4分布式監控zabbix-proxy

一、Zabbix-server部署

1、檢視https://blog.csdn.net/tladagio/article/details/79056421

二、Zabbix-proxy部署

1、測試環境,關閉防火牆和selinux

#修改主機名
[[email protected] ~]# hostnamectl set-hostname proxy
#關閉防火牆和selinux
[[email protected] ~]# systemctl stop firewalld.service
[[email protected] ~]# systemctl disable firewalld.service
[[email protected] ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[[email protected] ~]# setenforce 0
           

2、可選,删除系統自帶資料庫

Centos7 Zabbix3.4分布式監控zabbix-proxy

3、安裝zabbix rpm包(注意連結會更新)

[[email protected] ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
           

4、資料庫安裝和配置

#yum安裝
[[email protected] ~]# yum -y install mariadb mariadb-server

#啟動mysql
[[email protected] ~]# systemctl start mariadb
[[email protected] ~]# systemctl enable  mariadb

#初始化mysql(修改root使用者密碼為redhat)
[[email protected] ~]# mysql_secure_installation

#建立proxy資料庫,proxy使用者
[[email protected] ~]# mysql -uroot -p
MariaDB [(none)]> create database zabbix_proxy character set utf8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON zabbix_proxy.* to 'zabbix'@'localhost' IDENTIFIED BY 'Proxy123!';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit
Bye
           

5、安裝zabbix-proxy

[[email protected] ~]# yum install -y zabbix-proxy zabbix-proxy-mysql zabbix-agent
           

6、導入資料庫(注意版本号zabbix-proxy-mysql-3.4.15會随着zabbix rpm包改變)

[[email protected] ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.15/schema.sql.gz | mysql -uroot -p zabbix_proxy
Enter password: 輸入密碼redhat
           

7、修改zabbix_proxy配置檔案(注意是Server IP指向zabbix-server的公網映射IP)

[[email protected] ~]# vi /etc/zabbix/zabbix_proxy.conf 
[[email protected] ~]# cat /etc/zabbix/zabbix_proxy.conf |grep -v "^#"|grep -v "^$"
Server=113.108.x.x
Hostname=proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=Proxy123!
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
           
Centos7 Zabbix3.4分布式監控zabbix-proxy

8、修改zabbix_agent配置檔案(注意Server IP指定zabbix-proxy伺服器的IP,這裡是同一台機器)

[[email protected] ~]# vi /etc/zabbix/zabbix_agentd.conf 
[[email protected] ~]# cat /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.211
ServerActive=192.168.14.211
Hostname=proxy
Include=/etc/zabbix/zabbix_agentd.d/*.conf
           

9、重新開機服務(如何有新的agent加入,建議重新開機proxy服務)

[[email protected] ~]# systemctl restart zabbix-agent
[[email protected] ~]# systemctl restart zabbix-proxy
           

10、主機名解析

[[email protected] ~]# vi /etc/hosts
[[email protected] ~]# cat  /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.14.211	proxy
192.168.14.212	client-212
           

11、檢視相關日志

[[email protected] ~]# cat /var/log/zabbix/zabbix_proxy.log
           
Centos7 Zabbix3.4分布式監控zabbix-proxy

三、Zabbix-agent部署

1、測試環境,關閉防火牆和selinux

#更改主機名
[[email protected] ~]# hostnamectl set-hostname client-212
#關閉防火牆和selinux
[[email protected] ~]# systemctl stop firewalld.service
[[email protected] ~]# systemctl disable firewalld.service
[[email protected] ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[[email protected] ~]# setenforce 0
           

2、安裝zabbix rpm包(注意連結會更新)

[[email protected] ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
           

3、安裝zabbix-agent

[[email protected] ~]# yum install -y zabbix-agent
           

4、修改zabbix_agent配置檔案(注意Server IP指定zabbix-proxy伺服器的IP)

[[email protected] ~]# vi /etc/zabbix/zabbix_agentd.conf 
[[email protected] ~]# cat /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.211
ServerActive=192.168.14.211
Hostname=192.168.14.212
Include=/etc/zabbix/zabbix_agentd.d/*.conf
           

5、啟動服務

[[email protected] ~]# systemctl start zabbix-agent 
[[email protected] ~]# systemctl enable  zabbix-agent
           

四、華為防火牆配置

1、華為防火牆添加zabbix-server的10051端口映射

Centos7 Zabbix3.4分布式監控zabbix-proxy

五、Zabbix-server的Web頁面設定

1、建立代理

Centos7 Zabbix3.4分布式監控zabbix-proxy

2、填寫代理名稱并設定模式為主動

Centos7 Zabbix3.4分布式監控zabbix-proxy

3、建立主機

Centos7 Zabbix3.4分布式監控zabbix-proxy

4、填寫内容

Centos7 Zabbix3.4分布式監控zabbix-proxy

5、檢視狀态

Centos7 Zabbix3.4分布式監控zabbix-proxy

6、檢視圖形能正常收集到資料

Centos7 Zabbix3.4分布式監控zabbix-proxy

至此,zabbix用戶端和zabbix伺服器在不同的兩個公網範圍,通過zabbix-proxy代理成功。

繼續閱讀