環境介紹
操作系統:centos 7.4
zabbix版本:zabbix server 3.4.7
客戶端:zabbix-agent 3.4.7
監控進程:mysqld
監控端口:3306 tcp
進程監控
確認客戶端已經安裝且運行agent

查看進程
查看屬於那個用戶的 幾個進程
mysql 的進程為root用戶 兩個進程

添加監控項

名稱隨便寫
類型zabbix客戶端
鍵值選則進程數返回數
應用集選則prosesses 進程

重點
proc.num[<name>,<user>,<state>,<cmdline>]
以下是對mysql進程的監控配置,key中的參數說明,
<name>第一個參數是進程名字,沒必要填寫,填了反而會使監控不太准確(僅個人測試)
<user>第二個參數是運行進程的用戶名
<state>第三個為進程的狀態 ,一般選則all 包括:all (default), run, sleep, zomb
<cmdline>第四個參數用來指定進程名中包含的字符,對進程進行過濾。
確認更新

創建觸發器


選擇剛才創建的監控項

插入


修改{hgh3a01:proc.num[,root,all,mysqld].last()}=0
為
{hgh3a01:proc.num[,root,all,mysqld].max(#2)}=2
hgh3a01:主機名稱
proc.num[,root,all,mysqld]:監控項
max(#2)}=2 :
參數說明
表示最后兩次的接收到的值都是2個進程(ps -ef 看到 mysqld 的進程為兩個所以=2 ),說明mysqld進程在運行,則出發報警。
因為我們要測試是否能出發告警,所以要選則 =2 正常的<1 就是沒有運行。
稍等幾分鍾觀察看看能不能觸發觸發器

收到郵箱警告

吧測試的進程改為正常的(因為mysql 運行的進程為兩個我這變設置的觸發器為進程小於兩個進程就發出告警)

保存更新觀察是否回復正常


監控端口
添加監控項

修改端口
保存更新

同監控進程一樣
(先測試)

收到觸發警告

吧之前的值調整為0

測試恢復正常
