Zabbix 監控觸發器設定

2022-08-20 04:09:13 字數 2162 閱讀 7729

在生產環境中,有一台mysql的備份伺服器,上面執行著三個資料庫例項的從庫,也在做日誌的同步工作,為了實現對該備份伺服器的監控,當出現從庫例項不為3或者日誌同步程序不為3的時候,產生告警通知,生產使用的是zabbix監控。就想著自己寫乙個監控的item,通過定時取值,然後設定觸發器,當有告警的時候進行通知。

在設計的時候就沒有想到什麼比較厲害的方法,只是通過ps檢視程序的方式,獲取mysqld_safe的數量,因為執行了三個從庫例項,自己寫的多例項啟動指令碼,在指令碼中就是通過該命令啟動的資料庫,所以在做的時候就是過濾這個關鍵字。

對於日誌的同步,也是用的這種方式進行統計的。

1.編寫監控命令

在設計的時候,選擇使用ps命令,過濾的命令和結果如下:

[root@mysqlbackup opt]# ps -ef|grep mysqld_safe|grep -v grep|wc -l

3[root@mysqlbackup opt]# ps -ef|grep mysqlbinlog|grep -v grep|wc -l

3

上面就是直接過濾關鍵字,而獲取到值,因為需求很簡單,只有當著兩個值,不為3的時候,就說明出現了mysql的同步異常,這個時候就需要傳送告警通知給管理員來進行處理了。所以這兩條命令就可以了。

為了寫的高階一點,選擇的是寫指令碼的方式,因為過濾的命令格式都是一樣的,只有關鍵字是不同的,所以寫個指令碼case一下。指令碼如下:

[root@mysqlbackup opt]# cat instance_count.sh 

#/bin/bash

# monitor mysql instance and binlog instance

function instance_count()"

esac

}main()

main $1

實際上就是通過引數的形式,將要獲取的值傳入,然後返回,可以通過本地執行的方式,獲取這些值。獲取mysql例項數是引數1,獲取mysqlbinlog日誌同步的例項數是引數2,輸入其他引數,直接報錯。

2.編寫item_key

基於之前的指令碼,在zabbix-agentd.d目錄下,編寫乙個conf檔案,用來定義key,呼叫剛才建立的指令碼進行傳參。

[root@mysqlbackup opt]# cat /etc/zabbix/zabbix_agentd.d/mysql.conf 

#userparameter=mysql.mysqlinstancecount,ps -ef|grep mysqld_safe |grep -v grep|wc -l

#userparameter=mysql.mysqlbinlogcount,ps -ef|grep mysqlbinlog |grep -v grep|wc -l

userparameter=instance.count[*],/opt/instance_count.sh $1

指令碼編寫完成之後,需要重啟zabbix-agent才能生效。

3.獲取item

在zabbix-server上通過zabbix_get命令。獲取指定的值。

[root@zabbix-server zabbix]# zabbix_get -s 10.2.86.120 -p 10050 -k instance.count[2]

3[root@zabbix-server zabbix]# zabbix_get -s 10.2.86.120 -p 10050 -k instance.count[1]

3

在zabbix-server上能夠通過命令成功獲取這些值,表明該item已經可以使用,下面就可以開始在web頁面上進行配置了。

4.item配置

配置完成後,就可以在最新資料中,獲取這兩個值。

5.觸發器配置trigger

為了實現告警簡訊的通知,選擇配置兩個觸發器,當出現值不為3的時候,就觸發告警,開始選擇用的是last方法,意思就是獲取該item的最近的乙個值。當該值不為3的時候,則產生告警,編輯的表示式如下所示:

<>3
後來考慮到誤報,或者是短時間的異常告警,所以修改了表示式,選擇的是count,當最近的5次採集中,不為3的採集大於2次時,就產生告警。這樣也就減少了告警的頻次。

>2

zabbix新增觸發器Triggers

觸發器 triggers 是什麼?觸發器使用邏輯表示式來評估通過item獲取到得資料是處於哪種狀態,item一收回資料,講解任務交給觸發器去評估狀態,明白觸發器是怎麼一回事了把?在觸發器表示式中我們可以定義哪些值範圍是合理,哪些是不合理的,條件滿足時,true,表示problem狀態,反之,則ok狀...

SQL Server Audit監控觸發器狀態

原文 sql server audit監控觸發器狀態 本文所涉及的內容 contents 背景 contexts 實現 sql codes 注意事項 attention 疑問 questions 參考文獻 references dml觸發器一般會運用在業務系統的邏輯處理上,在你對資料庫使用者許可權控...

觸發器 mysql觸發器

觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...