harumaki.net

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

infra nagios サーバー監視 運用

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

投稿日:2011年5月26日

 

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

 

 

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

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

no image

postfix SMTP-auth設定

  ▼SMTP-auth設定 †  (会社編)  ※自宅サーバ編は別途編集。 postfix+cyrus-SASLの組み合わせでのSMTP-authの実装です…が、いろいろあって検証環境 …

no image

クラスタリング/heartbeat

クラスタリング/heartbeat † 2台のホスト間でのクラスタリングを構成する。以下のような機能を提供する。 フェイルオーバ機能 2つのノードでアクティブ/スタンバイ構成とし、 フェ …

no image

iperf

iperf † 帯域を測定する、ネットワーク性能測定ツール。 こまかい使い方についてはこれから要検証。 [本家サイト] NLANR http://dast.nlanr.net/proje …

no image

[rsync]タイムスタンプについてメモ

 同期元ホストのディレクトリのタイムスタンプ(last update)を同期先で合わせる場合のちょっとしたメモ。  rsyncを実行するホストがデータの同期元か同期先(バックアップ先)かでオプションが …

no image

haproxyを試す 1.インストールから簡易設定まで

  haproxy コミュニティ版の設定、動作検証を。 先日のここからの流れで、クライアント先のWebサービスへ導入するための検証の一環です。 ざっとマニュアルを確認した限りでも、ラウンドロビンだけで …