零. 環境簡介
CentOS 5.7 x64
Windows Server 2008 R2 SP1
Zabbix 1.8.10
由於網上流傳的一些教程因爲作者疏漏或可能的版本變遷而不夠可靠,故在彙總的基礎上加上本人的實驗過程,整理出了此篇文章。
Zabbix的客戶端zabbix_agentd具有十分強大的功能,可以監控的內容不僅有硬件信息,還包括具體的服務應用等等。
本篇將分別從常見的兩種被監控平臺 - Linux 和 Windows Server 爲例來說明 zabbix_agentd 的安裝流程,其餘平臺也是大同小異,如有必要我會再行補充。
一. Linux 下zabbix_agentd的部署
1. 準備用戶、用戶組和配置文件目錄
groupadd zabbix
useradd zabbix -g zabbix
mkdir -p /etc/zabbix
2. 下載zabbix_agentd
雖然zabbix_agentd在官方有單獨的源碼包,但我們還是建議也要同時下載主源碼包,因爲裏面包含了agentd的配置文件,另外如有必要的話,也可以即時編譯agentd。
http://www.zabbix.com/download.php
下載完畢後,解壓之,這裏以最新穩定版,zabbix-1.8.10版爲例
tar zxf zabbix-1.8.10.tar.gz
然後單獨下載對應我們測試平臺的已編譯好的最新zabbix_agentd。
注意,在download頁面的中下部位置就可以找到:
http://www.zabbix.com/downloads/1.8.5/zabbix_agents_1.8.5.linux2_6.amd64.tar.gz
解壓之
mkdir -p zabbix_agent-1.8.5
tar zxf zabbix_agents_1.8.5.linux2_6.amd64.tar.gz -C zabbix_agent-1.8.5
cp -r zabbix-1.8.5 /usr/local/zabbix
# 將zabbix的執行文件複製到/usr/local/zabbix/bin, sbin
cp -r /usr/local/zabbix/sbin/* /usr/local/zabbix/bin
# 執行文件併入同一個目錄(這和後文提到的啓動腳本有關)
for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done
# 軟連接到 /usr/bin 以直接使用避免長路徑
3. 添加zabbix_agentd的端口標識
cat >>/etc/services<<EOF
zabbix_agent 10050/tcp
zabbix_trap 10051/tcp
EOF
4. 拷貝agentd的配置文件並進行修改
cd zabbix-1.8.10
cp misc/conf/zabbix_agentd.conf /etc/zabbix
sed -i 's/^Server=.*$/Server=10.3.6.213/g' /etc/zabbix/zabbix_agentd.conf
sed -i 's/^Hostname=.*$/Hostname=CentOS_YUM/g' /etc/zabbix/zabbix_agentd.conf
# 這裏的IP和Hostname要按實際情況更改,注意IP應改爲你的zabbix_server的IP。
5. 拷貝並修改啓動腳本權限
cp misc/init.d/redhat/8.0/zabbix_agentd /etc/init.d
chmod a+x /etc/init.d/zabbix_agentd
# 添加執行權限
6. 啓動agentd並添加開機自啓動
service zabbix_agentd start
chkconfig zabbix_agentd on
Starting zabbix_agentd: [ OK ]
7. 開啓agentd使用的端口
如果被監控機器上開啓了防火牆,則需要開啓tcp 10050/10051端口,否則server無法獲取到監控信息。
iptables -A INPUT -p tcp -s 10.6.3.213 -m multiport --dports 10050,10051 -j ACCEPT
# 這裏的IP依然是zabbix_server的IP,注意更改爲你自己的
至此zabbix_agentd在Centos5.7上的配置就完畢了。
二. Windows Server 下zabbix_agentd的部署
1. 下載zabbix_agentd
http://www.zabbix.com/downloads/1.8.10/zabbix_agents_1.8.10.win.zip
2. 解壓出指定架構的客戶端並拷貝到被控端
這裏我要監控的服務器爲Win2008 R2,而2008R2只有64位版本,所以將win64中的所有文件解壓到C:\zabbix下
zabbix_agentd.exe
zabbix_get.exe
zabbix_sender.exe
3. 配置agentd的conf
還記得完整源碼包麼?源碼包中有一份win專用的conf:
zabbix_agentd.win.conf
將其拷貝到C:\zabbix下並改名爲zabbix_agentd.conf
用非記事本的編輯器(至少用寫字板,否則換行可能會出現問題)打開conf
找到Server=127.0.0.1,把IP改爲你的zabbix_server的IP;
找到Hostname=Windows Host,把Windows Host改爲你需要的主機名,然後保存。
4. 安裝zabbix_agentd爲系統服務
打開cmd:
C:\Users\Administrator>c:\zabbix\zabbix_agentd -c c:\zabbix\zabbix_agentd.conf -i
zabbix_agentd [3860]: service [Zabbix Agent] installed successfully
zabbix_agentd [3860]: event source [Zabbix Agent] installed successfully
C:\Users\Administrator>c:\zabbix\zabbix_agentd -c c:\zabbix\zabbix_agentd.conf -s
zabbix_agentd [4012]: service [Zabbix Agent] started successfully
參數及作用:
-c 接agentd配置文件路徑
-i 安裝agentd爲服務
-s 啓動agentd
-x 停止agentd
-d 卸載agentd
5. 配置Windows防火牆
這裏需要把tcp 10050/10051添加到例外中,配置很簡單,不在此贅述了。
至此Windows Server下zabbix_agentd的部署也簡單介紹完畢了。
三. 主要參考文檔
http://mayulin.blog.51cto.com/1628315/514447