Last Updated on 2021年7月4日 by かんりにん
もともとcheck_snmp_storageを使用していたが、nagiosgraphでグラフを出力させるための
perfdataの表示を、nagiosgraph側でパーティション指定を認識できるようカスタマイズする必要があったため、
perlのスクリプトに変更。
check_snmp_storage
↓
check_snmp_storage.pl
カスタマイズ内容 †
perlスクリプト内で表示するperfdataの表示内容を変更しただけ…(汗
カスタマイズ前 †
# ../../libexec/check_snmp_storage.pl -H 192.168.0.128 -C public -f -m ^Swap -T bu -w 20 -c 30 -f check_snmp_storage.pl :Swap Space: 9MBused/1024MB (1%) (<20MB) : OK | 'Swap_Space'=9MB;20;30;0;1024
カスタマイズ後 †
※変更箇所
・perfdata出力の部分に、nagiographがプラグインの判定を出来るよう
文字列"storage_perf"を設定。←ここは判定できればどのような文字列でもよい。
・マウントポイントとディスク使用率が一緒の文字列になっているが、マウントポイントを
グラフ側に出力できるよう、セミコロンで区切る。
この状態で、マウントポイントを変数として取得し、グラフ内の名称に用いる。
# ./check_snmp_storage.pl -H 192.168.0.128 -C public -f -m ^Swap -T bu -w 20 -c 30 -f check_snmp_storage.pl :Swap Space: 9MBused/1024MB (1%) (<20MB) : OK | storage_perf=Swap_Space;9MB;20;30;0;1024
○スクリプト実行時の書式 †
./check_snmp_storage.pl -H 192.168.0.128 -C public -f -m ^/$ -T pu -w 85 -c 95 -f
./check_snmp_storage.pl -H -C -f -m -T pu(パーセント表示にする) -w 85(%) -c 95(%) -f
nagiosgraph.log出力内容 †
Thu Dec 2 13:32:19 2010 insert.pl debug getdebug(insert, db, Disk Partition Usage /home/backup2) Thu Dec 2 13:32:19 2010 insert.pl debug processdata data = [ '1291264304', 'db', 'Disk Partition Usage /home/backup2', 'check_snmp_storage.pl :/home/backup2: 1%used(4675MB/469452MB) (90%) : OK', 'storage_perf=/home/backup2;4675MB;422507;455369;0;469452' ]; Thu Dec 2 13:32:19 2010 insert.pl warn perfdata not recognized: hostname:db servicedesc:Disk Partition Usage /home/backup2
設定 †
- コマンド定義
command_snmp.conf# check_snmp_storage define command{ command_name check_snmp_storage command_line $USER1$/check_snmp_storage.pl -H $HOSTADDRESS$ -C $USER7$ -f -m $ARG1$ -T $ARG2$ -w $ARG3$ -c $ARG4$ }
- サービス定義
各監視対象ホストのコンフィグに記載。# Define a service to check the disk space of the root partition define service { use local-service,graphed-service ; Name of service template to use host_name adm service_description Disk Partition Usage / check_command check_snmp_storage!^/$!pu!90!97 #notifications_enabled 0 }
- map定義(nagiosgraph用)
nagiosgraphのmapファイルに記載。# service_description: Disk Partition Usage [SNMP] # script: check_snmp_storage.pl # output: check_snmp_storage.pl :/home/backup2: 1%used(4675MB/469452MB) (90%) : OK', # perfdata: storage_perf=/home/backup2;4675MB;422507;455369;0;469452 /perfdata:storage_perf=(\S+);(\d+)MB;(\d+);(\d+);(\d+);(\d+)/ and push @s, [ $1, [ 'Used', GAUGE, $2*1048576 ], [ 'warning_line', GAUGE, $3*1048576 ], [ 'critical_line', GAUGE, $4*1048576 ], [ 'max', GAUGE, $6*1048576 ]];