Nagiosの設定の超基本の部分だけ

Nagiosの設定は、少し複雑で、初めて見るとどこから手をつけて良いか分からないです。
そこで、Nagiosの設定の、本当の中心の部分、一番基本的な部分だけを紹介します。

Nagiosの設定ファイルを眺める。

$ ls /etc/nagios/
cgi.cfg  conf.d  nagios.cfg  objects  passwd  private  servers

読んで字のごとく、nagios.cfgがNagiosの設定の中心部です。objectsというディレクトリがあり、この中にホストごとの設定などの詳細な設定ファイルがあります。

$ ls /etc/nagios/objects
commands.cfg  contacts.cfg  localhost.cfg  printer.cfg  switch.cfg  templates.cfg  timeperiods.cfg  windows.cfg

localhost.cfgが初期状態で入っている自ホストの監視設定であることがわかります。

Nagiosの基本概念、ホストとサービス

Nagiosのメニューを見ると、ホスト、サービス、ホストグループ、サービスグループ、と並んでいます。

これを見て分かるように、Nagiosの最も基本的な概念はホストとサービスというところに集約されています。
以下、localhost.cfgの内容を見ながら、これらの概念を理解していきます。

ホスト(監視対象)の設定

このホストを監視します、という宣言。監視対象のホストを指定します。

define host{
        use                     linux-server
        host_name               localhost
        alias                   localhost
        address                 127.0.0.1
        }

この場合は、127.0.0.1のサーバにlocalhostというIDをふってホストとして登録します。これによって、Nagiosの画面にlocalhostの監視項目が出てきます。
Nagiosの設定ファイルはオブジェクト指向のように継承をおこなうことができます。実際にはホストに関する詳細な設定ができるのですが、その設定はlinux-serverという名前で別に記述していて、それを継承しています。
linux-serverの設定の実態は、templates.cfgに入っています。実際にみてみると、このlinux-serverの設定自体も、generic-hostという設定を継承していて多階層の継承関係を持つことが分かります。設定の継承によって差分記述ができ、複雑な設定も簡潔にまとめることができます。

ホストグループの設定

単一のホストを定義したら、そのホストをまとめて管理するホストグループの設定をします。

define hostgroup{
        hostgroup_name  linux-servers
        alias           Linux Servers
        members         localhost
        }

これは単に複数のホストをまとめて一つのグループとして管理しようというだけです。membersには、先に定義したホストを、コンマ区切りで複数列挙することができます。

サービス(監視内容)の設定

ここまでは監視対象の設定でした。その監視対象の「何を監視するか?」をサービスの設定に記述します。

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

host_nameで対象のホストと、check_commandで監視コマンドを設定します。コマンドは、関数の引数のようにして警告のしきい値を設定します。
ここでもホストと同様にuseでサービスの継承をしています。またtemplates.cfgを見てみると、local-serviceはgeneric-serviceを継承していて、こちらも多階層の継承関係になっています。

超基本のまとめ

Nagiosの設定は一見複雑なのですが、基本的には、監視対象であるホストを登録し、監視内容であるサービスを登録するだけです。設定は他の設定を継承することができ、複雑な設定も簡潔に記述することができます。

コメント

タイトルとURLをコピーしました