天天看點

Nagios插件開發之監控伺服器負載 推薦

   今天上午有一台存儲伺服器未讀寫,但由于是叢集環境,并沒有發現這個問題。後來偶然看到該伺服器負載為0才發現不對勁,正常情況下應該為5。平時我們監控都是負載高于某個值,而從沒想過負載太低也是問題。

   為防止後續再出現此情況,決心編寫監控負載下限的nagios插件,當負載低于某個值時,則報警。

該腳本應該能替代nagios插件包中的監控負載腳本,自帶插件隻能監控上限。無法監控下限,預期功能如下:

1、可設定下限的警告門檻值,緊急門檻值。

2、可設定上限的警告門檻值,緊急門檻值。

3、也可隻設定上限或下限警告門檻值。

1、  文法錯誤輸出幫助資訊

[root@hostb libexec]# shcheck_load_low.sh -LW 0.5,0.5,0.5,0.5  #傳參數多時錯誤。

Option:

parament one

  --lower_limit_warn|-LW    ;set lower warning limit threshold value.

  --upper_limit_warn|-UW    ;set upper warning limit threshold value.

parament two

  --lower_limit_crit|-LC    ;set lower crit limit threshold value.

  --upper_limit_crit|-LC    ;set upper crit limit threshold value.

Example:

  check_load_low.sh -LW 0.5,0.5,0.5  -LC 0.1,0.1,0.1

  check_load_low.sh -UW 15,15,15  -UC 20,20,20

  check_load_low.sh -LW 1,1,1

  check_load_low.sh -UW 15,15,15

2、設定下限警告門檻值、緊急門檻值執行效果

[root@hostb libexec]# shcheck_load_low.sh -LW 8,8,8 -LC 7,7,7 

#同時低于警告門檻值與緊急門檻值,退出值為2

crit,load average:  4.93, 5.64, 5.96

[root@hostb libexec]# echo $?

2

[root@hostb libexec]# sh check_load_low.sh-LW 8,8,8 -LC 1,1,1  

#低于警告門檻值高于緊急門檻值,退出值為1

warn,load average:  4.82, 5.43, 5.85

1

[root@hostb libexec]# shcheck_load_low.sh -LW 1,1,1 -LC 0.5,0.5,0.5  

#負載高于警告,緊急門檻值,則正常

OK,load average:  5.59, 5.54, 5.85

3、  設定上限警告門檻值、緊急門檻值執行效果

[root@hostb libexec]# shcheck_load_low.sh -UW 5,5,5 -UC 6,6,6 

#高于警告值,低于緊急值則退出值為1

warn,load average:  5.28, 5.35, 5.73

[root@hostb libexec]# shcheck_load_low.sh -UW 4,4,4 -UC 5,5,5

#同時高于警告值、緊急值則退出值為2

crit,load average:  5.28, 5.35, 5.73

[root@hostb libexec]# shcheck_load_low.sh -UW 15,15,15 -UC 20,20,20

#同時低于警告值、緊急值則退出值為0

OK,load average:  5.20, 5.32, 5.68