標籤:zabbix自訂item zabbix觸發器 zabbix圖形 zabbix遠端命令
#前言:
粗一看挺複雜的,其實照著步驟做一下,非常簡單!
#意圖:
agentd端監控的服務down掉時,試圖將其重啟。
#環境:
1、VMware12 、 CentOS 7.1 、 zabbix 2.4.6
2、zabbix server ip :10.10.100.104
3、zabbix agentd ip:10.10.100.105
4、server端和agentd端分別關閉selinux和firewalld:
4.1、vim /etc/selinux/conf
selinux=disabled
4.2、service firewalld stop
chkconfig firewalld off
4.3、reboot
#流程:
1、操作在:agentd端
#自訂監控指令碼
[[email protected] libexec]# cat httpd_service.sh #!/bin/bash proc=$(netstat -lnutp | grep httpd | grep -v grep | gawk ‘{print $7}‘ | gawk ‘BEGIN {FS="/"}{print $1}‘ | wc -l) #擷取httpd proces資訊 if [ "$proc" = "" ] then echo 0 #如果沒有httpd proces資訊,echo 0 else echo $proc #如果有httpd proces資訊,echo 統計的行數 fi
備忘:如果你的指令碼只返回一個固定值,那麼不會有圖形產生。
#zabbix_agentd.conf配置
vim /usr/local/zabbix/etc/zabbix_agentd.conf
UnsafeUserParameters=1 #允許使用自訂item UserParameter=httpd_monitor,/usr/local/zabbix/libexec/httpd_service.sh #UserParameter=item名稱,指令碼路徑 AllowRoot=1 #測試時使用root帳號的話,還要允許使用root Server=10.10.100.104 #server端ip EnableRemoteCommands=1 #允許執行遠程命令 LogFile=/tmp/zabbix_agentd.log #日誌路徑
警告:
要在“組態》動作”中使用遠程命令,“ServerActive項” 一定不能開啟,我就在這裡栽了跟頭。
2、操作在:server端
#添加自訂item、觸發器、圖形步驟:
1、添加主機
組態 》 主機 》 建立主機 》 填寫“主機名稱”、“可見名稱”,使用存在的群組從右邊“其他群組”中選擇,否則在“新的群組”中填寫,ip地址填寫 zabbix_agentd所在主機的ip地址。
650) this.width=650;" title="host.jpg" src="http://s1.51cto.com/wyfs02/M00/76/54/wKiom1ZPL7-zgzJOAAOQLCNYi1s687.jpg" alt="wKiom1ZPL7-zgzJOAAOQLCNYi1s687.jpg" />
2、添加應用集
組態 》 主機 》 在主機列表中,找到你所添加的“主機”,點擊“應用集” 》 建立應用集,填寫應用集“名稱” 》 添加
650) this.width=650;" title="application.jpg" src="http://s3.51cto.com/wyfs02/M00/76/53/wKioL1ZPMOOx0eMIAAHteqeF5hw652.jpg" alt="wKioL1ZPMOOx0eMIAAHteqeF5hw652.jpg" />
3、添加項目
組態 》 主機 》 在主機列表中,找到你所添加的“主機”,點擊“項目” 》 建立監控項,“名稱”自訂輸入,“索引值”手動填寫(你在 zabbix_agentd.conf 》 UserParameter 中所定義item名稱)》 應用集,選擇第二步所建立的“應用集” 》 添加
650) this.width=650;" title="item.jpg" src="http://s3.51cto.com/wyfs02/M00/76/53/wKioL1ZPMTfxloWsAAEMnKFJoUw519.jpg" alt="wKioL1ZPMTfxloWsAAEMnKFJoUw519.jpg" />
4、添加觸發器
組態 》 主機 》 在主機列表中,找到你所添加的“主機”,點擊“觸發器”》
4.1 “名稱”自訂輸入,“運算式”點擊“添加” 》 “項目”點擊“選擇” 》 選擇第三步所建立的“項目” 》 “功能”,根據實際需要選擇運算式 ,我這裡選擇的是“最末(最近)T值是N”,“N”輸入0 》 插入
4.2 “嚴重性”選擇分類“災難” 》 添加
650) this.width=650;" style="float:none;" title="trigger_expr.jpg" src="http://s1.51cto.com/wyfs02/M00/76/54/wKiom1ZPMZnwNJOZAAD6HHThwJA101.jpg" alt="wKiom1ZPMZnwNJOZAAD6HHThwJA101.jpg" />
650) this.width=650;" style="float:none;" title="trigger.jpg" src="http://s4.51cto.com/wyfs02/M01/76/54/wKiom1ZPMavwp5SFAAKZnvdeWXU685.jpg" alt="wKiom1ZPMavwp5SFAAKZnvdeWXU685.jpg" />
備忘:
1、課添加多個觸發器,選擇不同的“嚴重性”,告訴你發生什麼層級的“problem”
2、運算式說明,{主機:項目.函數}=值(函數為系統定義)
5、建立圖形
組態 》 主機 》 在主機列表中,找到你所添加的“主機”,點擊“圖形”》 建立圖形,“名稱”自訂輸入,“項目” 》 添加 》 選擇第三步所建立的
“項目”》 添加
650) this.width=650;" title="graph.jpg" src="http://s1.51cto.com/wyfs02/M02/76/54/wKiom1ZPMhTSh2qwAAM3kE19pq0796.jpg" alt="wKiom1ZPMhTSh2qwAAM3kE19pq0796.jpg" />
至此,自訂item、觸發器、圖形添加完畢。
3、操作在:server端
#配置動作
1、組態 》 動作 》 建立動作 》
1.1 動作,填寫“名稱”即可
650) this.width=650;" title="action.jpg" src="http://s2.51cto.com/wyfs02/M01/76/54/wKiom1ZPMpWjmmH9AAIj1nQ45HQ798.jpg" alt="wKiom1ZPMpWjmmH9AAIj1nQ45HQ798.jpg" />
1.2 條件,計算方式,選擇“與”(看實際需要)》 新的觸發條件,主機 = xxx (選擇上面步驟所建立的主機) 》 添加
650) this.width=650;" title="condition.jpg" src="http://s2.51cto.com/wyfs02/M00/76/53/wKioL1ZPM2yCo8FIAAI7WisYr9o164.jpg" alt="wKioL1ZPM2yCo8FIAAI7WisYr9o164.jpg" />
1.3 操作,“新的” 》 “階段”(從...到,執行多少次,步驟期間),操作類型選擇“遠端命令”
1.3.1 目標清單,“新的”目標選擇“主機”,(選擇上面步驟所建立的主機) 》 添加
1.4 類型,“自訂指令碼”,執行在“zabbix代理”
1.5 命令,看需要,我這裡輸入“service httpd restart”
1.6 條件,看需要
1.6.1 一般為為:事件已知悉 = 非知悉 》 添加
添加
650) this.width=650;" title="operating.jpg" src="http://s4.51cto.com/wyfs02/M02/76/53/wKioL1ZPM-WhKZF_AAM3yn4JgKA888.jpg" alt="wKioL1ZPM-WhKZF_AAM3yn4JgKA888.jpg" />
至此,“動作”添加完畢。
4、測試
1、在agentd端執行 service httpd stop
2、觀察zabbix server,提示problem,一會成功執行遠程命令恢複正常狀態。
650) this.width=650;" title="monitor graph.jpg" src="http://s4.51cto.com/wyfs02/M01/76/54/wKiom1ZPNIPC1uJ0AAZ313Ld2qY877.jpg" alt="wKiom1ZPNIPC1uJ0AAZ313Ld2qY877.jpg" />
實驗完畢。
本文出自 “super_color” 部落格,請務必保留此出處http://small.blog.51cto.com/259970/1715237
zabbix添加自訂item、觸發器、圖形,並執行遠端命令