zabbix之使用proxy實現分佈式監控

   zabbix proxy 是相當於zabbix server的代表,它每隔一段時間從一臺或者多臺監控設備上收集監測數據,併發送給zabbix server端,然後proxy將該些數據存放在數據庫中一段時間(預防proxy向server中傳監測數據失敗的措施,該些數據在到達時間後會被自動清理)。

   部署proxy是可選的,但是對於分擔zabbix server的負載是非常有效的,如果盡在proxies上收集監測數據,將大大減少服務器進程對CPU資源和磁盤IO的消耗。


一、環境

IP                    角色             hostname          zabbix版本     系統
192.168.244.133    zabbix server       monitor.xxx.com     2.2.5      CentOS 6.5
192.168.244.134    zabbix proxy        proxy.xxx.com       2.2.5      CentOS 6.5
192.168.244.135    zabbix agent        node1.xxx.com       2.2.5      CentOS 6.5

zabbix server和zabbix agent安裝請見:http://gzguitar.blog.51cto.com/5406286/1542176


二、zabbix proxy安裝

  1. 安裝依賴包

# yum -y install mysql mysql-server gcc gcc-c++ automake autoconf curl curl-devel net-snmp net-snmp-devel libssh2 libssh2-devel


2.添加用戶

# groupadd zabbix
# useradd -g zabbix zabbix


3.下載、解壓、安裝源碼包

# tar xf zabbix-2.2.5.tar.gz
# cd zabbix-2.2.5
# ./configure --prefix=/usr/local/zabbix --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl --with-ssh2
# make && make install


4.配置數據庫

# mysql -uroot -p
  mysql> create database zabbix character set utf8;
  mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix’;
  mysql> flush privileges; 
# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql


5.修改zabbix_proxy.conf文件,修改後的文件如下

[root@proxy etc]# grep -v "#" zabbix_proxy.conf|sed '/^$/d'
Server=192.168.244.133     #該值應爲zabbix server的IP或者域名
Hostname=proxy.xxx.com     #proxy 主機名
LogFile=/tmp/zabbix_proxy.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ProxyLocalBuffer=0  
ProxyOfflineBuffer=1      # proxy或者server無法連接時,保留離線的監控數據的時間,單位小時
ConfigFrequency=120       # server和proxy配置修改同步時間間隔,設定5-10分鐘即可
DataSenderFrequency=10    # 數據發送時間間隔,10-30s
StartPollers=10           # 開啓多線程數,一般不要超過30個
StartPollersUnreachable=1 # 該線程用來單獨監控無法連接的主機,1個即可
StartTrappers=10          # trapper線程數
StartPingers=1            # fping線程數
CacheSize=64M             # 用來保存監控數據的緩存數,根據監控主機數量適當調整
Timeout=10                # 超時時間,設定不要超過30s,否則會拖慢其他監控數據抓取時間
TrapperTimeout=30


6.創建啓動腳本

# /bin/cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_proxy
# sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_proxy
# sed -i 's/\s\+BINARY_NAME=zabbix_agentd/BINARY_NAME=zabbix_proxy/g' /etc/init.d/zabbix_proxy
# /bin/cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
# sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd


7.啓動zabbix_proxy服務

# service zabbix_proxy start


三、agent配置

1.修改zabbix_agentd.conf文件

# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=192.168.244.133         # proxy IP或者域名
ServerActive=192.168.244.133   # proxy IP或者域名
Hostname=node1.xxx.com


2.重啓zabbix_agentd服務

service zabbix_agentd restart


四、server端配置

1.在web頁面下添加proxy節點,Administration --> DM --> Create proxy

wKiom1QWUE6QSGmyAADXPz24S-g298.jpg

(1)proxy name必須和zabbix_proxy.conf中的Hostname保持一致,如果是主機名要確保zabbix server能夠解析

(2)proxy mode分爲ActivePassive,其中Active是代理服務器將主動連接zabbix server並請求分配數據;Passivezabbix server連接代理服務器,由於zabbix server本來就負載和I/O比較大,建議不試用被動模式

(3)hosts就是proxy下面所要管轄的被監控服務器


2.在web頁面下添加proxy管轄範圍內要被監控的服務器信息,Configuration --> Host --> Create Host --> 填寫信息和關聯模板 --> save

wKiom1QWUWLQC3xkAALfoAR-v1k245.jpg

wKiom1QWUYOxu_hsAAFHMzkzIP4499.jpg


過一會就有相關數據出現了

wKiom1QWUbfjDTLGAAK5SOjPKEU927.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章