zabbix 文檔 https://www.zabbix.com/documentation/2.4/ ios
zabbix安裝http://bbotte.blog.51cto.com/6205307/1612664 nginx
zabbix-server,agent安裝完畢,接下來實現幾個經常使用的監控功能web
監控主機的操做流程:
1,Configuration--Hosts下爲須要監控的主機建立host:「Create host」
2,在host裏面添加Items,即須要監控的項目,添加cpu,內存,網絡,nginx,頁面響應代碼及時間
等監控,在添加Items中把屬於一個組的項目添加至一個application,這樣就不用新建Applications
3,接下來在Graphs裏面「Create graph」,即圖形化
4,把多個graph添加至一個屏幕裏面顯示:Configuration--Screens--Create screen,即監控牆
5,固然要添加報警功能了,須要先添加觸發器「Triggers」;再Configuration--Actions--「Create
action」即作什麼操做;最後完成怎麼作:Administration--Media types--選擇Email發郵件通知
6,建立模板,方便添加主機後重復操做
7,配置自動發現,減小配置時間
shell
圖片看不清的話,點擊一下圖片,在瀏覽器新的窗口打開
數據庫
1,建立hostvim
到zabbix後臺,Configuration--Hosts--Create host 建立一個host瀏覽器
https://www.zabbix.com/documentation/2.4/manual/quickstart/host bash
Host name 填agent的ip或者主機的做用,本身起個名字就好
Visible name host裏面看到的名稱
Groups 在New group直接填group的名字
Agent interfaces
IP address 寫agent的ip(必須),若是內網有dns的話,也能夠寫dns name,後面的port默認是10050,固然agent的iptables這個端口須要打開
其餘的選項默認就能夠,這樣就添加了一臺host網絡
2,建立Items Configuration--Hosts--Items--Create item
app
Items裏面比較重要的Key名稱,要保證是惟一的(往數據庫鍵方面想),下面是存儲的數據格式:"Type of infomation","Date type";多長時間採集一次數據:"flexible intervals";把採集的數據以原始的數據存儲"As is"仍是換算爲每秒的平均值再存入數據庫"Delta (speed per second)",最後"Enabled" Add便可
能夠多添加item,好比"system.cpu.intr" "system.cpu.load[<cpu>,<mode>]" "system.cpu.util[<cpu>,<type>,<mode>]"
"system.cpu.intr"沒有須要傳入的參數
cpu.load能夠寫system.cpu.load[all,avg5],表示取全部cpu(多核)平均5分鐘的負載
cpu.util能夠寫system.cpu.util[,user,avg5],表示全部cpu的用戶空間5分鐘的平均利用率
好比添加一個自定義的shell腳本:
# cat /tmp/test.sh
#!/bin/bash
/usr/bin/dstat 1 1 |awk 'NR>3{print $1}'
# vim /etc/zabbix/zabbix_agentd.conf 在最後添加
UserParameter=Test.test, /tmp/test.sh
測試一下:
# zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -t Test.test
Test.test [t|0]
在菜單 Configuration--Hosts--Items--Create item 添加自定義的這個shell,其中「Key」選項寫:「Test.test」 便可。
3,添加圖形
Configuration--Hosts--Graphs--Create graph
https://www.zabbix.com/documentation/2.4/manual/web_interface/frontend_sections/monitoring/graphs
把剛建立的item添加到裏面便可,點擊"Preview"預覽生成後的圖形,若是沒有采集到數據的話,須要等待一會
4,Screens裏面本身添加吧,Configuration--Screens--Create screen--爲screen命名--Add添加--點擊進入添加頁面,Change-- 選擇要畫圖的graph便可
5,設置報警功能
a,建立trigger
Configuration--Hosts--Triggers--Create trigger--
Expression裏面添加Ttem,Function設置最後一次取值大於(選項太多)下面定義的數值N,Insert便可
Severity 選報警的級別
b,添加Actions
Configuration--Actions--Create action
下面是三個選項 Action、Conditions、Operations
Action裏面輸入Name,Recovery message也打個勾,恢復後也採起措施
Conditions能夠定義多個限制或者說是條款,A 沒有在維護期,B trigger有報警,C trigger名字相似於「network trigger」,即第5步裏面建立的trigger名字
Operations的選項
Default operation step duration是設置每一步間隔多長時間,即下面能夠添加多個step,好比觸發一個事件,不能當即斷定是否屬於正常,或者在第1步採起腳本執行某些動做嘗試修復,第2步給運維發郵件,第10步給主管發送郵件。下面的Step From 1 To 1,便是發生第一次後就執行"Operation type"的操做
下面的選擇發送的組和用戶
發送郵件:
Administration--Media types--Create media type
設置接收郵件:
Administration--Users--Members下面的"Admin (Zabbix Administrator)"--Media--添加你的163郵箱
觸發報警發送郵件
把host裏面Triggers的Expression 值調小,觸發報警,查看郵箱的郵件內容
6,建立模板
Configuration--Templates--Create template
作完了上面建立主機的過程,其實建立模板就比較簡單
配置過程有疑問的話看看Zabbix server自帶的配置和官方文檔,將有很大幫助
使用感覺:
zabbix邏輯沒有nagios那麼繞,安裝,配置較簡單,我認爲最重要的是簡單而且靈活,一個腳本或者一個頁面,能用數字統計出來的信息均可以出圖。