監視対象ホストや監視項目の追加

1.監視対象ホストの追加
  監視対象ホストの追加は、localhost.cfgのに
  define host{
        use                     linux-server
        host_name               test
        alias                   LinkStation Test Server
        address                 192.168.0.71
        }

 などと追記する。ただし警報発生時の通知箇所や通知方法などが事なる場合は、前段で別の雛型を作って

       use                      XXXXXXXXXXXX

 このように置き換える。

 また、作成したホストに対して一つはサービスが必要であるので、サービスのところで例えばPINGのサービスを追加する。この場合も監視形態が雛型でダメな場合は別途作成して引用する。

    define service{
            use                              local-service
            host_name                        test
            service_description              PING
            check_command                    check_ping!100.0,20%!500.0,60%
            }


 また、確かhostgroupへの登録も必要だったような気がする。
    define hostgroup{
            hostgroup_name  HomeServer
            alias           Home Servers
            members         LS-GL,test,yahoo
            }



2.登録済ホストへの監視項目の追加(Webサーバー監視の追加)
  /usr/local/nagios/etc/localhost.cfgの該当個所に以下の内容を追加する。雛型の使用方法は前のPINGの項と同じである。

    define service{
            use                              local-service
            host_name                        LS-GL
            service_description              HTTP
            check_command                    check_http
            }

 なお、サービスの参照構造は以下の通りである。PINGを例に示す。

 localhost.cfgでサービスPINGを指定はこのような内容となるが、
    define service{
            use                              local-service
            host_name                        LS-GL
            service_description              PING
            check_command                    check_ping!100.0,20%!500.0,60%
            }

 ここでのcheck_pingはcommand.cfgの中にあるcommand_nameで指定するcheck_pingを参照する。
    # 'check_ping' command definition
    define command{
            command_name    check_ping
            command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$
-p 5
            }

 ここで現実のコマンドcheck_pingは/usr/local/nagios/libexecにあるcheck_pingを参照する。
 上の例では、
    test:/usr/local/nagios/libexec# ./check_ping -H 192.168.0.62
    <wrta> was not set
    check_ping: Could not parse arguments
    Usage:check_ping -H <host_address> -w <wrta>,<wpl>% -c <crta>,<cpl>%
     [-p packets] [-t timeout] [-4|-6]
 でcheck_pingでエラーを出してコマンドのパラメータの構造を見てみる。
 ここでrtaはリターンタイムで    plはパケットロス     -p 5は5パケットの平均を取るということ

 これを参考に上のLS-GLの指定を正確に設定すると、
    test:/usr/local/nagios/libexec# ./check_ping -H 192.168.0.62 -w 100.0,20% -c 500.0,60% -p 5
    PING OK - Packet loss = 0%, RTA = 7.00 ms

 ここでの -c 500.0,60% とはrtaが500ms以上又はパケットロスが60%以上で警報を発することを示す。
 上の例ではwにもcにも引っかからないため何の警報も発しない。

 次にディスクチェックを追加してみる。
 check_diskのコマンドのパラメータを見てみる。
test:/usr/local/nagios/libexec# ./check_disk --help
check_disk v1848 (nagios-plugins 1.4.11)
Copyright (c) 1999 Ethan Galstad <nagios@nagios.org>
Copyright (c) 1999-2006 Nagios Plugin Development Team
        <nagiosplug-devel@lists.sourceforge.net>

This plugin checks the amount of used disk space on a mounted file system
and generates an alert if free space is less than one of the threshold values


Usage: check_disk -w limit -c limit [-W limit] [-K limit] {-p path | -x device}
[-C] [-E] [-e] [-g group ] [-k] [-l] [-M] [-m] [-R path ] [-r path ]
[-t timeout] [-u unit] [-v] [-X type]

Options:
 -h, --help
    Print detailed help screen
 -V, --version
    Print version information
 -w, --warning=INTEGER
    Exit with WARNING status if less than INTEGER units of disk are free
 -w, --warning=PERCENT%
    Exit with WARNING status if less than PERCENT of disk space is free
 -c, --critical=INTEGER
    Exit with CRITICAL status if less than INTEGER units of disk are free
 -c, --critical=PERCENT%
    Exit with CRITCAL status if less than PERCENT of disk space is free
 -W, --iwarning=PERCENT%
    Exit with WARNING status if less than PERCENT of inode space is free
 -K, --icritical=PERCENT%
    Exit with CRITICAL status if less than PERCENT of inode space is free
 -p, --path=PATH, --partition=PARTITION
    Path or partition (may be repeated)
 -x, --exclude_device=PATH <STRING>
    Ignore device (only works if -p unspecified)
 -C, --clear
    Clear thresholds
 -E, --exact-match
    For paths or partitions specified with -p, only check for exact paths
 -e, --errors-only
    Display only devices/mountpoints with errors
 -g, --group=NAME
    Group pathes. Thresholds apply to (free-)space of all partitions together
 -k, --kilobytes
    Same as '--units kB'
 -l, --local
    Only check local filesystems
 -L, --stat-remote-fs
    Only check local filesystems against thresholds. Yet call stat on remote filesystems
    to test if they are accessible (e.g. to detect Stale NFS Handles)
 -M, --mountpoint
    Display the mountpoint instead of the partition
 -m, --megabytes
    Same as '--units MB'
 -A, --all
    Explicitly select all pathes. This is equivalent to -R '.*'
 -R, --eregi-path=PATH, --eregi-partition=PARTITION
    Case insensitive regular expression for path/partition (may be repeated)
 -r, --ereg-path=PATH, --ereg-partition=PARTITION
    Regular expression for path or partition (may be repeated)
 -I, --ignore-eregi-path=PATH, --ignore-eregi-partition=PARTITION
    Regular expression to ignore selected path/partition (case insensitive) (may be repeated)
 -i, --ignore-ereg-path=PATH, --ignore-ereg-partition=PARTITION
    Regular expression to ignore selected path or partition (may be repeated)
 -t, --timeout=INTEGER
    Seconds before connection times out (default: 10)
 -u, --units=STRING
    Choose bytes, kB, MB, GB, TB (default: MB)
 -v, --verbose
    Show details for command-line debugging (Nagios may truncate output)
 -X, --exclude-type=TYPE
    Ignore all filesystems of indicated type (may be repeated)

Examples:
 check_disk -w 10% -c 5% -p /tmp -p /var -C -w 100000 -c 50000 -p /
    Checks /tmp and /var at 10% and 5%, and / at 100MB and 50MB
 check_disk -w 100M -c 50M -C -w 1000M -c 500M -g sidDATA -r '^/oracle/SID/data.*$'
    Checks all filesystems not matching -r at 100M and 50M. The fs matching the -r regex
    are grouped which means the freespace thresholds are applied to all disks together
 check_disk -w 100M -c 50M -C -w 1000M -c 500M -p /foo -C -w 5% -c 3% -p /bar
    Checks /foo for 1000M/500M and /bar for 5/3%. All remaining volumes use 100M/50M

Send email to nagios-users@lists.sourceforge.net if you have questions
regarding use of this software. To submit patches or suggest improvements,
send email to nagiosplug-devel@lists.sourceforge.net

 command.cfgの内容
 # 'check_local_disk' command definition
    define command{
            command_name    check_local_disk
            command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
            }

 localhost.cfgにある例 これを変更して組み込む。この例では残り容量20%で警報wを10%でcを発するようにしている。
 #define service{
        use                             local-service
    host_name                        localhost
    service_description             Root Partition
     check_command                    check_local_disk!20%!10%!/
    }

 例にこの内容で現実のコマンドを動かしてみる。
 test:/usr/local/nagios/libexec# ./check_disk -w 20% -c 10% -p /
 DISK OK - free space: / 1984 MB (71% inode=86%);| /=794MB;2342;2635;0;2928
 test:/usr/local/nagios/libexec# ./check_disk -w 20% -c 10% -p /mnt
 DISK OK - free space: /mnt 30392 MB (93% inode=99%);| /mnt=2013MB;27312;30726;0;34140

 実際のディスクの状態
 Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
 /dev/sda2              2998824    813864   2032628  29% /
 tmpfs                    63088         0     63088   0% /lib/init/rw
 tmpfs                    63088         0     63088   0% /dev/shm
 /dev/root.old            13303     10998      2305  83% /initrd
 /dev/sda1               197657     12457    174994   7% /boot
 /dev/sda6             34959480   2061500  31122140   7% /mnt

 /と/mntの残り容量が検出されている。しかし閾値は超えていないので警報は発しない。
 なお、このcheck_diskはNagisoをインストールしているホストのみの監視で別のホストの監視は当然出来ないようである。別ホストの資源監視はnrpeというソフトを使用する。この件に関しては別のページに記述する。

ホームページトップ  LinkStationトップ