zabbix自身提供了豐富的監控項,下面以“cpu空閑值”為例介紹zabbix如何添加新的監控項
1、創建主機群組
配置——主機群組——創建主機群組
2、創建主機
配置——主機——創建主機
3、添加監控項
配置——主機——監控項(上一步中創建的主機中)——創建監控項
4、添加觸發器
配置——主機——觸發器——創建觸發器
5、設置報警媒介
管理——報警媒介類型——創建
注意:密碼:郵箱的授權碼,就是用於第三方客戶端登錄時的專用密碼
這里用的是QQ郵箱,具體的設置參考https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28
6、分配報警媒介給用戶
右上角用戶圖標——報警媒介——添加
7、添加動作
配置——動作——創建動作
可以根據自己需要添加恢復操作和確認操作,設置完成后不要忘記點最后的添加按鈕
8、測試
[root@manage-2 ~]# dd if=/dev/zero of=/dev/null
可用top命令查看
監測中——最新數據——對應test.com的圖形
查看郵箱
監控項的鍵值:
監控項的鍵以類似 xxx.yyy.zzz[mm,<nn>] 方式組織,xxx.yyy.zzz是鍵名,[mm,<nn>]為鍵的參數,mm表必填參數,<nn>表可選參數
net.if.collisions[if] 網絡沖突數量,返回整型。
net.if.in[if,<mode>] 網絡接口上傳流量統計,返回 整數。網卡流入量統計,mode:bytes(默認)/packets/errors/dropped
net.if.out[if,<mode>] 上行流量統計,返回整數。網卡流出量統計,mode:bytes(默認)/packets/errors/dropped
net.if.total[if,<mode>] 網絡接口上傳下載的流量總和,返回整數。網卡的進出流量統計信
息總和,mode:bytes(默認)/packets/errors/dropped
net.tcp.listen[port] 檢查 TCP 端口 是否處於偵聽狀態,返回 0 - 未偵聽;1 - 正在偵聽。
net.tcp.port[<ip>,port] 檢查是否能將 TCP 連接到指定端口,返回 0 - 不能連接;1 - 可以連接。
net.tcp.service[service,<ip>,<port>] 檢查服務是否運行並接受 TCP 連接,返回 0 - 服務關閉;1 - 服務運行。
net.tcp.service.perf[service,<ip>,<port>] 檢查 TCP 服務的性能,當服務 down 時返回 0,否則返回連接服務花費的秒數。
service - 如下任一服務: ftp,http,https,imap,ldap,nntp,pop,smtp,ssh,tcp,telnet
ip - IP 地址(默認為 127.0.0.1)
port - 端口號 (默認為標准服務端口號)
net.udp.listen[port] 檢查 UDP 端口 是否處於偵聽狀態,返回 0 - 未偵聽;1 - 正在偵聽。
net.udp.service[service,<ip>,<port>] 檢查服務是否運行並響應 UDP 請求,返回 0 - 服務關閉;1 - 服務運行。
net.udp.service.perf[service,<ip>,<port>] 檢查 UDP 服務的性能,當服務 down 時返回 0,否則返回連接到服務花費的秒數。
service - ntp
ip - IP 地址(默認為 127.0.0.1)
port - 端口號 (默認為標准服務端口號)
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>] CPU進程百分比,返回浮點值。
進程的CPU利用率百分比,name:進程名,默認所有進程;user:指定用戶名,默認所有用戶;type:CPU利用率類型,user/system,默認是兩者;cmdline:提供命令行用以過濾,支持正則;mode:數據收集模式,avg1(默認)/avg5/avg15;zone:僅用於Solaris
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>] 進程內存,以字節為單位,返回整數。
用戶進程使用的內存,name:進程名(默認是全部進程) user:用戶名(默認是全部用戶) mode:可能的值:avg,max,min,sum (默認值) cmdline:按命令行過濾(正則表達式) memtype:進程使用的內存類型
proc.num[<name>,<user>,<state>,<cmdline>] 進程數量,返回整數。
name:進程名稱(默認是all processes) user:用戶名(默認是all users) state:可選的值: all (default),run,sleep,zomb cmdline:按命令行過濾(正則表達式)
system.cpu.intr設備的中斷數,返回整數。
system.cpu.load[<cpu>,<mode>] CPU 負載,返回浮點數。cpu:all (default), percpu (總負載除以在線CPU數) mode:avg1 (一分鍾平均值, 默認值), avg5, avg15
system.cpu.switches上下文的數量進行切換,它返回一個整數值。
system.cpu.util[<cpu>,<type>,<mode>] CPU 使用率,返回浮點數。
cpu:<CPU數量> 或者all(默認值) type:idle,nice,user(默認值),system (Windows系統默認值), iowait,interrupt,softirq,steal,guest,guest_nice mode:可能的值: avg1 (默認值), avg5, avg15
vfs.dev.read[<device>,<type>,<mode>] 磁盤讀取數據,類型是sectors, operations, bytes;返回整數,類型是 sps, ops, bps則返回浮點。
device:磁盤設備 (默認為 all) type:sectors,operations,bytes,sps,ops,bps(必須指定此參數,因為各種操作系統的默認值不同) sps,ops,bps表示:[sectors/operations/bytes] per second。 mode:avg1(1分鍾平均值, 默認),avg5,avg15.此參數僅支持的類型為: sps,ops,bps.
vfs.dev.write[<device>,<type>,<mode>] 磁盤寫入數據,類型是sectors, operations, bytes;返回整數,類型是 sps, ops, bps則返回浮點。
vfs.fs.size[fs,<mode>] 磁盤容量,如果返回的是字節則是整數,如果返回的是百分比則是浮點。
fs:文件系統 mode:total(默認),free,used,pfree(剩余百分比),pused(已用百分比)
vm.memory.size[<mode>] 占字節或總百分比的內存大小,它返回一個整數值,如果字節,只要百分比返回浮點值。內存大小,以字節為單位,以百分比表示。整數用於字節,浮點用於百分比。
mode:
1) total - 總內存量,默認;
2) platform-特定內存類型: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, wired;
3) user-用戶級別估計使用和可用的內存量: used, pused, available, pavailable.