天天看點

分布式監控:分布式

Zabbix Proxy

是一個類似于代理的服務,可以代替

Zabbix-server

擷取 

zabbix-agent

資訊。其中

資料

存到本地(Proxy有自己的資料庫)然後在發送給Server,這樣可以保證資料不丢失 

  

Zabbix-server ----->Zabbix-Proxy ----->Zabbix-Server

  

分布式監控:分布式

位址:https://www.zabbix.com/documentation/3.0/manual/distributed_monitoring/proxies

Zabbix Proxy 使用場景

  常用于多機房情況或者監控主機特别多,幾千台左右。這時候使用Zabbix Proxy 可以減輕伺服器

server

的壓力,還可以減輕Zabbix的維護。 

  最常用的特點是适用于

多機房

網絡不穩定

的時候,因為如果直接由Zabbix-server發送資訊可能agent沒有收到,但是直接使用

Zabbix-Proxy

就不會遇到這個問題。 

   

Zabbix官方說明(分布式監控) 

Proxy 有如下功能 

分布式監控:分布式

位址: https://www.zabbix.com/documentation/3.0/manual/distributed_monitoring 

NO - 中文解釋 

1.沒有Web界面 

2.本身不做任何告警通知(告警通知都是Server做)

小結: 

  

Zabbix Proxy

 可以有多個,用來代理

Zabbix server

來運作。

Proxy

會将所有資料暫存于本地,然後同一轉發到Zabbix Server上 

  Proxy隻需要一條TCP連結,可以連接配接到Zabbix-server上即可。是以防火牆隻需要添加一條Zabbix Proxy即可 我們可以參考上面的

Zabbix Proxy圖

  Proxy是需要使用單獨的

資料庫

,是以不能将

Server

Agent

放在一起 

Proxy說明:https://www.zabbix.com/documentation/3.0/manual/distributed_monitoring/proxies 

安裝文檔:https://www.zabbix.com/documentation/3.0/manual/installation/install 

安裝部署 

官方文檔使用的是源碼安裝,因為友善我們使用yum安裝,因為我們隻有2台,是以就用agent當做Proxy

[[email protected] ~]# yum install -y zabbix-proxy zabbix-proxy-mysql mariadb-server
我們需要啟動MySQL
[[email protected] ~]# systemctl start mariadb.service      

我們還需要建立一個庫

mysql
create database zabbix_proxy character set utf8;
grant all on zabbix_proxy.* to [email protected] identified by 'zabbix_proxy';       

我們需要導入資料

[[email protected] ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.5/
[[email protected] zabbix-proxy-mysql-3.0.5]# zcat schema.sql.gz | mysql -uzabbix_proxy -p zabbix_proxy
Enter password:
#密碼是:zabbix_proxy 是我們資料庫授權的密碼      

檢查資料庫

mysql
show databases;
use zabbix_proxy;
show tables;
#檢視是否含有資料      

我們需要修改

proxy

的配置檔案

[[email protected] zabbix-proxy-mysql-3.0.5]# vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.56.11
Hostname=Zabbix proxy
DBName=zabbix_proxy
#資料庫名稱
DBUser=zabbix_proxy
#使用者名
DBPassword=zabbix_proxy
#使用者密碼
配置檔案中沒有配置的内容如下:(有需要可以配置)
# ProxyLocalBuffer=0
#資料保留的時間(小時為機關)
# ProxyOfflineBuffer=1
#連不上Server,資料要保留多久(小時為機關,預設1小時)
# DataSenderFrequency=1
#資料的發送時間間隔(預設是1秒)
# StartPollers=5
#啟動的線程數
# StartIPMIPollers=0
#啟動IPMI的線程數
從這往下都是性能的監控,就不一次說明了。 上面都有中文注釋       

過濾修改過的配置如下:

[[email protected] zabbix-proxy-mysql-3.0.5]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
Server=192.168.56.11
Hostname=Zabbix proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=zabbix_proxy
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000      

啟動

[[email protected] ~]# systemctl start zabbix-proxy      

檢視

proxy

程序

[[email protected] ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 15685/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1073/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2498/master
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 15924/zabbix_proxy
tcp6 0 0 :::44589 :::* LISTEN 9052/java
tcp6 0 0 :::8080 :::* LISTEN 9052/java
tcp6 0 0 :::22 :::* LISTEN 1073/sshd
tcp6 0 0 :::8888 :::* LISTEN 9052/java
tcp6 0 0 ::1:25 :::* LISTEN 2498/master
tcp6 0 0 :::39743 :::* LISTEN 9052/java
tcp6 0 0 :::10051 :::* LISTEN 15924/zabbix_proxy
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 9052/java
tcp6 0 0 :::8009 :::* LISTEN 9052/java      

Zabbix-proxy 監控10051端口,因為是代理就必須跟Server的端口相同,對于Agent Proxy就是Server

Zabbix Web 添加 

分布式監控:分布式
分布式監控:分布式

點選Add即可 

分布式監控:分布式
分布式監控:分布式

我們需要将這台主機的

Server

設定為Proxy 

編輯

192.168.56.12

 這台主機,需要将Server的IP位址修改成自己的 

因為現在是主動模式,我們隻需要修改主動模式的Server即可

[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf
ServerActive=192.168.56.12
#配置檔案修改完需要重新開機
[[email protected] ~]# systemctl restart zabbix-agent      

這時候我們就可以看到那個

proxy

都管理了那些機器,做到友善管理的機制 

分布式監控:分布式

proxy簡單的了解就是一個Server

轉載于:https://www.cnblogs.com/luoahong/articles/7911135.html