harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

nagios snmp ディスク使用率表示スクリプトのカスタマイズ

   


もともと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 ]];

Nagios統合監視[実践]リファレンス (Software Design plus)
株式会社エクストランス 佐藤 省吾 Team-Nagios
技術評論社
売り上げランキング: 398,071
マスタリングTCP/IP SNMP編
マスタリングTCP/IP SNMP編

posted with amazlet at 13.05.31
緒方 亮 矢野 ミチル 鈴木 暢
オーム社
売り上げランキング: 189,419

 - infra, nagios, サーバー監視, 運用