zabbix-proxy使用配置


簡介

zabbix proxy可以代替zabbix server檢索客戶端的數據,然后把數據匯報給zabbix server,並且在一定程度上分擔了zabbix server的壓力.zabbix proxy可以非常簡便的實現了集中式、分布式監控.

zabbix proxy使用場景:

  • 監控遠程區域設備

  • 監控本地網絡不穩定區域

  • 當zabbix監控上千設備時,使用它來減輕server的壓力

  • 簡化zabbix的維護

 

 

 

 

注意:

zabbix proxy僅僅需要一條tcp連接到zabbix server,所以防火牆上僅僅需要加上一條規則即可.zabbix proxy數據庫必須和server分開,否則數據會被破壞,畢竟這兩個數據庫的表大部分都相同。總之記住,數據庫分開即可。

proxy收集到數據之后,首先將數據緩存在本地,然后在一定得時間之后傳遞給zabbix server.這個時間由proxy配置文件中參數ProxyLocalBuffer and ProxyOfflineBuffer決定.

zabbix proxy是一個數據收集器,它不計算觸發器、不處理事件、不發送報警,如下是proxy的功能.

 

安裝

下載依賴

yum install -y fping OpenIPMI net-snmp-agent-libs unixODBC 

 

下載安裝指定的rpm包

wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm
rpm -ivh zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm

 

mysql 庫配置

不能跟server公用一個數據庫

mysql> create database zabbix_proxy character set utf8;                                    # 創建數據庫
mysql> grant all on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';       # 創建授權用戶
mysql> flush privileges;                                                                                    # 刷新授權表,雖然不需要
mysql> use proxydb;

 

Zabbix-proxy數據庫只需要導入一條sql

# zcat schema.sql.gz
$ gzip -d schema.sql.gz
$ /data/app/mysql-3306/bin/mysql -uroot -pxxxx zabbix_proxy < /usr/share/doc/zabbix-proxy-mysql-4.0.5/schema.sql

 

在server端啟動捕捉進程
#在Server執行..
sed -i 's/.*StartTrappers=.*$/StartTrappers=10/' /etc/zabbix/zabbix_server.conf
service zabbix-server restart

 

 

Zabbix-proxy配置文件/etc/zabbix/zabbix_proxy.conf
修改配置文件/etc/zabbix/zabbix_proxy.conf
Server=192.168.1.154                         #填寫Server的IP,Proxy會將收集到的數據發往這個IP。
ServerPort=10051                             #proxy默認端口號,要實現轉發的話使用這個選項
Hostname=web                                 #在web端網頁配置時需要用到,保持一致
DBHost=localhost                             #數據庫,使用本地,也可以使用ip
​
DBName=zabbix_proxy                          #數據庫名稱,創建zabbix-proxy的mysql的數據庫名稱
DBUser=zabbix                                
DBPassword=zabbix                            
DBPort=3306  
DBSocket=/data/appData/mysql-3306/mysql.sock #mysqlsock文件,默認是使用socket通信的
​
ProxyLocalBuffer=0                           #當數據發送到Server,還要在本地保留多少小時.不保留
ProxyOfflineBuffer=3                         #當數據沒有發送到Server,在本地保留多少小時,3小時。
HeartbeatFrequency=60                        #心跳檢測代理在Server的可用性
ConfigFrequency=3600                         #代理多久從Server獲取一次配置變化,默認3600秒.
​
DataSenderFrequency=1                        #這個是proxy端向server端發送數據的時間,單位是秒
ExternalScripts=/usr/lib/zabbix/externalscripts


LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DataSenderFrequency=60
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=64M
Timeout=10
LogSlowQueries=3000

 

 

web端創建proxy

如果你安裝好proxy之后,我們便可以在zabbix管理站點上配置proxy了.

ministration(管理) → DM(分布式監控)-->Create proxy(創建代理)

代理名稱:bate_proxy # 與zabbix_proxy配置文件中Hostname=bate_proxy保持一致

代理模式:主動式

 

參數
參數 描述
Proxy name proxy名稱,必須和proxy配置文件中的hostname一致
Proxy mode 選擇proxy模式
Active proxy主動連接到zabbix server並且請求配置文件數據
Passive Zabbix server連接到proxy
Hosts 哪些主機需要被proxy監控

zabbix-agent

安裝agent
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.5-1.el7.x86_64.rpm

 

配置proxy
egrep -v "^#|^$" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.17.0.124
ServerActive=172.17.0.124                       # 這里的ServerIP是用於Agent(主動)模式的.
ListenIP=0.0.0.0
Hostname=nginx1
HostnameItem=system.hostname                    
Include=/etc/zabbix/zabbix_agentd.d/*.conf 

重啟zabbix-agent

zabbix-web創建主機的時候要選代理名稱。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM