Top/Nagios/プラグイン/check_nt

check_nt の変更点はてなブックマーク


Windowsの[[NSClient>Nagios/NSClient]]サービスを使って、様々な値をチェックするプラグイン。~
主なものは下記。
-[[NSClient>Nagios/NSClient]]のバージョン
-CPU負荷
-稼働時間
-ディスク使用量
-メモリ使用量
-サービスの状態
-プロセスの状態
-ファイルの更新日時から現在までの経過分数
-パフォーマンスカウンタの値

*対象
リモート

*アーカイブ内での位置
plugins/check_nt

*必要なもの
対象ホストに下記が必要
-[[NSClient>Nagios/NSClient]]

*実行
Cドライブの使用容量が 80% で WARNING、 90% で CRITICAL。
 /usr/local/nagios/libexec/check_nt -H 192.168.0.2 -v USEDDISKSPACE -l C -w 80 -c 90

ここで、OK, CRITICAL等は表示されないが、ちゃんと終了コードはOK, CRITICALの値をとっているので、~
Nagiosに設定するか、下記を実行すれば結果が分かる。
 echo $?0
|終了コード|結果|h
|-1|UNKNOWN|
| 0|OK|
| 1|WARNING|
| 2|CRITICAL|

*checkcommands.cfgでの定義
 # 'check_nt' command definition
 define command{
         command_name    check_nt_clientversion
         command_line    $USER1$/check_nt -H $HOSTADDRESS$ -v CLIENTVERSION
         }
 define command{
         command_name    check_nt_cpuload
         command_line    $USER1$/check_nt -H $HOSTADDRESS$ -v CPULOAD -l $ARG1$
         }
 define command{
         command_name    check_nt_uptime
         command_line    $USER1$/check_nt -H $HOSTADDRESS$ -v UPTIME
         }
 define command{
         command_name    check_nt_disk
         command_line    $USER1$/check_nt -H $HOSTADDRESS$ -v USEDDISKSPACE -l $ARG1$ -w $ARG2$ -c $ARG3$
         }
 define command{
         command_name    check_nt_memuse
         command_line    $USER1$/check_nt -H $HOSTADDRESS$ -v MEMUSE -w $ARG1$ -c $ARG2$
         }
 define command{
         command_name    check_nt_service
         command_line    $USER1$/check_nt -H $HOSTADDRESS$ -v SERVICESTATE -l $ARG1$
         }
 define command{
         command_name    check_nt_process
         command_line    $USER1$/check_nt -H $HOSTADDRESS$ -v PROCSTATE -l $ARG1$
         }
 define command{
         command_name    check_nt_fileage
         command_line    $USER1$/check_nt -H $HOSTADDRESS$ -v FILEAGE -l $ARG1$ -w $ARG2$ -c $ARG3$
         }
 define command{
         command_name    check_nt_counter
         command_line    $USER1$/check_nt -H $HOSTADDRESS$ -v COUNTER -l $ARG1$ -w $ARG2$ -c $ARG3$
         }


注:check_nt_fileage の c, w のとる値は最終更新日時からの分数

*サービスの定義
 define service{
         use                             generic-service
         host_name                       hoge
         service_description             NT_CLIENTVERSION
         is_volatile                     0
         check_period                    24x7
         max_check_attempts              3
         normal_check_interval           5
         retry_check_interval            1
         notification_interval           240
         notification_period             24x7
         notification_options            c,r
         check_command                   check_nt_clientversion
         contact_groups                  linux-admins
         }
 
 define service{
         use                             generic-service
         host_name                       hoge
         service_description             NT_CPULOAD
         is_volatile                     0
         check_period                    24x7
         max_check_attempts              3
         normal_check_interval           5
         retry_check_interval            1
         notification_interval           240
         notification_period             24x7
         notification_options            c,r
         check_command                   check_nt_cpuload!5,80,90
         contact_groups                  linux-admins
         }
 
 define service{
         use                             generic-service
         host_name                       hoge
         service_description             NT_UPTIME
         is_volatile                     0
         check_period                    24x7
         max_check_attempts              3
         normal_check_interval           5
         retry_check_interval            1
         notification_interval           240
         notification_period             24x7
         notification_options            c,r
         check_command                   check_nt_uptime
         contact_groups                  linux-admins
         }
 
 define service{
         use                             generic-service
         host_name                       hoge
         service_description             NT_DISK C
         is_volatile                     0
         check_period                    24x7
         max_check_attempts              3
         normal_check_interval           5
         retry_check_interval            1
         notification_interval           240
         notification_period             24x7
         notification_options            c,r
         check_command                   check_nt_disk!C!80!90
         contact_groups                  linux-admins
         }
 
 define service{
         use                             generic-service
         host_name                       hoge
         service_description             NT_MEMUSE
         is_volatile                     0
         check_period                    24x7
         max_check_attempts              3
         normal_check_interval           5
         retry_check_interval            1
         notification_interval           240
         notification_period             24x7
         notification_options            c,r
         check_command                   check_nt_memuse!80!90
         contact_groups                  linux-admins
         }
 
 define service{
         use                             generic-service
         host_name                       hoge
         service_description             NT_SERVICE
         is_volatile                     0
         check_period                    24x7
         max_check_attempts              3
         normal_check_interval           5
         retry_check_interval            1
         notification_interval           240
         notification_period             24x7
         notification_options            c,r
         check_command                   check_nt_service!NSClient,Dnscache
         contact_groups                  linux-admins
         }
 
 define service{
         use                             generic-service
         host_name                       hoge
         service_description             NT_PROCESS
         is_volatile                     0
         check_period                    24x7
         max_check_attempts              3
         normal_check_interval           5
         retry_check_interval            1
         notification_interval           240
         notification_period             24x7
         notification_options            c,r
         check_command                   check_nt_process!explorer.exe,imejpmgr.exe
         contact_groups                  linux-admins
         }
 
 define service{
         use                             generic-service
         host_name                       hoge
         service_description             NT_FILEAGE boot.ini
         is_volatile                     0
         check_period                    24x7
         max_check_attempts              3
         normal_check_interval           5
         retry_check_interval            1
         notification_interval           240
         notification_period             24x7
         notification_options            c,r
         check_command                   check_nt_fileage!"c:\\boot.ini"!30!60
         contact_groups                  linux-admins
         }
 
 define service{
         use                             generic-service
         host_name                       hoge
         service_description             NT_COUNTER Paging file
         is_volatile                     0
         check_period                    24x7
         max_check_attempts              3
         normal_check_interval           5
         retry_check_interval            1
         notification_interval           240
         notification_period             24x7
         notification_options            c,r
         check_command                   check_nt_counter!"\\Paging File(_Total)\\%% Usage","Paging file usage is %.2f %%"!80!90
         contact_groups                  linux-admins
         }
 
 define service{
         use                             generic-service
         host_name                       hoge
         service_description             NT_COUNTER Thread Count
         is_volatile                     0
         check_period                    24x7
         max_check_attempts              3
         normal_check_interval           5
         retry_check_interval            1
         notification_interval           240
         notification_period             24x7
         notification_options            c,r
         check_command                   check_nt_counter!"\\Process(_Total)\\Thread Count","Thread Count: %.f"!600!800
         contact_groups                  linux-admins
         }
 
 define service{
         use                             generic-service
         host_name                       hoge
         service_description             NT_COUNTER Server Sessions
         is_volatile                     0
         check_period                    24x7
         max_check_attempts              3
         normal_check_interval           5
         retry_check_interval            1
         notification_interval           240
         notification_period             24x7
         notification_options            c,r
         check_command                   check_nt_counter!"\\Server\\Server Sessions","Server Sessions: %.f"!20!30
         contact_groups                  linux-admins
         }

*備考
個人的には同様のチェックは[[NRPE_NT>Nagios/NRPE_NT]]で行うのがお勧めです。


*Amazon
#amazon(4774145823,left)
#amazon(4891003499,left)
#amazon(4798105104,left)
#amazon(4774165433,left)
#amazon(4774178659,left)
差分 一覧