#author("2018-08-28T16:47:36+09:00","","")

#author("2018-08-28T16:59:45+09:00","","")

[[CentOS7]]

*統合監視システム構築(Nagios) [#lc264125]
統合監視システム[[Nagios>http://www.nagios.org/]]([[日本語訳>http://nagios.x-trans.jp/naija/]])でシステムを監視する。

※Webサーバー構築済であること



*Nagiosインストール [#f4f09d7e]
**Nagiosインストール [#l2b7f567]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# yum -y install gd-devel &color(lime){← Nagiosに必要なgd-develをインストール};|

|[root@localhost ~]# useradd -d /usr/local/nagios/ -M nagios &color(lime){← nagiosユーザー作成};|

|[root@localhost ~]# wget https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.2.4/nagios-4.2.4.tar.gz &color(lime){← Nagiosダウンロード};|

|&color(lightpink){※最新版のURLは[[ダウンロードページ>http://sourceforge.net/project/showfiles.php?group_id=26589&package_id=224047]]で確認すること};|

|[root@localhost ~]# tar zxvf nagios-4.2.4.tar.gz &color(lime){← Nagios展開};|

|[root@localhost ~]# cd nagios-4.2.4 &color(lime){← Nagios展開先ディレクトリへ移動};|

|[root@localhost nagios-4.2.4]# wget http://ftp.momo-i.org/pub/security/nagios/patches/nagios-jp-4.2.4.patch.gz &color(lime){← Nagios日本語化パッチダウンロード};|

|&color(lightpink){※最新版のURLは[[ダウンロードページ>http://www.momo-i.org/chapter5/nagios/4.x.html]]で確認すること};|

|[root@localhost nagios-4.2.4]# gzip -dc nagios-jp-4.2.4.patch.gz | patch -p1 &color(lime){← Nagios日本語化パッチ施行};|

|[root@localhost nagios-4.2.4]# ./configure && make all && make fullinstall && make install-config &color(lime){← Nagiosインストール};|

|[root@localhost nagios-4.2.4]# cd &color(lime){← Nagios展開先ディレクトリを抜ける};|

|[root@localhost ~]# rm -rf nagios-4.2.4 &color(lime){← Nagios展開先ディレクトリを削除};|

|[root@localhost ~]# yum -y install gd-devel &color(lime){← ''Nagios''に必要な''gd-devel''をインストール};|

|[root@localhost ~]# useradd -d /usr/local/nagios/ -M nagios &color(lime){← ''nagios''ユーザー作成};|

|[root@localhost ~]# wget https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.2.4/nagios-4.2.4.tar.gz &color(lime){← ''Nagios''ダウンロード};|

|&color(lightpink){※最新版の''URL''は[[ダウンロードページ>http://sourceforge.net/project/showfiles.php?group_id=26589&package_id=224047]]で確認すること};|

|[root@localhost ~]# tar zxvf nagios-4.2.4.tar.gz &color(lime){← ''Nagios''展開};|

|[root@localhost ~]# cd nagios-4.2.4 &color(lime){← ''Nagios''展開先ディレクトリへ移動};|

|[root@localhost nagios-4.2.4]# wget http://ftp.momo-i.org/pub/security/nagios/patches/nagios-jp-4.2.4.patch.gz &color(lime){← ''Nagios''日本語化パッチダウンロード};|

|&color(lightpink){※最新版の''URL''は[[ダウンロードページ>http://www.momo-i.org/chapter5/nagios/4.x.html]]で確認すること};|

|[root@localhost nagios-4.2.4]# gzip -dc nagios-jp-4.2.4.patch.gz | patch -p1 &color(lime){← ''Nagios''日本語化パッチ施行};|

|[root@localhost nagios-4.2.4]# ./configure && make all && make fullinstall && make install-config &color(lime){← ''Nagios''インストール};|

|[root@localhost nagios-4.2.4]# cd &color(lime){← ''Nagios''展開先ディレクトリを抜ける};|

|[root@localhost ~]# rm -rf nagios-4.2.4 &color(lime){← ''Nagios''展開先ディレクトリを削除};|

|[root@localhost ~]# rm -f nagios-4.2.4.tar.gz &color(lime){← ダウンロードしたファイルを削除};|



**Nagiosプラグインインストール [#ra8f7af0]

**''Nagios''プラグインインストール [#ra8f7af0]

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# yum -y install mysql-devel &color(lime){← mysql-develインストール※MySQLの監視を行なう場合のみ};|

|[root@localhost ~]# wget https://nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz &color(lime){← Nagiosプラグインダウンロード};|

|&color(lightpink){※最新版のURLは[[ダウンロードページ>http://www.nagios.org/download/plugins]]で確認すること};|

|[root@localhost ~]# tar zxvf nagios-plugins-2.1.4.tar.gz &color(lime){← Nagiosプラグイン展開};|

|[root@localhost ~]# cd nagios-plugins-2.1.4 &color(lime){← Nagiosプラグイン展開先ディレクトリへ移動};|

|[root@localhost nagios-plugins-2.1.4]# ./configure && make && make install &color(lime){← Nagiosプラグインインストール};|

|[root@localhost nagios-plugins-2.1.4]# cd &color(lime){← Nagiosプラグイン展開先ディレクトリを抜ける};|

|[root@localhost ~]# rm -rf nagios-plugins-2.1.4 &color(lime){← Nagiosプラグイン展開先ディレクトリを削除};|

|[root@localhost ~]# yum -y install mysql-devel &color(lime){← ''mysql-devel''インストール ※''MySQL''の監視を行なう場合のみ};|

|[root@localhost ~]# wget https://nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz &color(lime){← ''Nagios''プラグインダウンロード};|

|&color(lightpink){※最新版の''URL''は[[ダウンロードページ>http://www.nagios.org/download/plugins]]で確認すること};|

|[root@localhost ~]# tar zxvf nagios-plugins-2.1.4.tar.gz &color(lime){← ''Nagios''プラグイン展開};|

|[root@localhost ~]# cd nagios-plugins-2.1.4 &color(lime){← ''Nagios''プラグイン展開先ディレクトリへ移動};|

|[root@localhost nagios-plugins-2.1.4]# ./configure && make && make install &color(lime){← ''Nagios''プラグインインストール};|

|[root@localhost nagios-plugins-2.1.4]# cd &color(lime){← ''Nagios''プラグイン展開先ディレクトリを抜ける};|

|[root@localhost ~]# rm -rf nagios-plugins-2.1.4 &color(lime){← ''Nagios''プラグイン展開先ディレクトリを削除};|

|[root@localhost ~]# rm -f nagios-plugins-2.1.4.tar.gz &color(lime){← ダウンロードしたファイルを削除};|



*Nagios設定 [#x7a43ad5]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/nagios.cfg &color(lime){← nagios.cfg編集};|

|cfg_dir=/usr/local/nagios/etc/servers &color(lime){← 行頭の#を削除してコメント解除(サーバー監視設定有効化)}; &br;  &br; date_format=iso8601 &color(lime){← 日付書式をYYYY-MM-DD HH:MM:SSにする};|

|[root@localhost ~]# vi /usr/local/nagios/etc/nagios.cfg &color(lime){← ''nagios.cfg''編集};|

|cfg_dir=/usr/local/nagios/etc/servers &color(lime){← 行頭の#を削除してコメント解除(サーバー監視設定有効化)}; &br;  &br; date_format=iso8601 &color(lime){← 日付書式を''YYYY-MM-DD HH:MM:SS''にする};|

|[root@localhost ~]# mkdir /usr/local/nagios/etc/servers &color(lime){← サーバー監視設定ファイル格納ディレクトリ作成};|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/contacts.cfg &color(lime){← contacts.cfg編集};|

|[root@localhost ~]# vi /usr/local/nagios/etc/objects/contacts.cfg &color(lime){← ''contacts.cfg''編集};|

|define contact{ &br;         contact_name                    nagiosadmin             ; Short name of user &br;         use                             generic-contact         ; Inherit default values from generic-contact template (defined above) &br;         alias                           Nagios Admin            ; Full name of user &br;  &br;         email                           &color(lime){管理者メールアドレス ← 管理者メールアドレスを指定}; &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← localhost.cfg編集};|

|define service{ &br;         use                             local-service         ; Name of service template to use &br;         host_name                       localhost &br;         service_description             SSH &br;         check_command                   check_ssh &br;         notifications_enabled           1 &color(lime){← 1を指定(SSH状態変化時に通知する)}; &br;         } &br;  &br; define service{ &br;         use                             local-service         ; Name of service template to use &br;         host_name                       localhost &br;         service_description             HTTP &br;         check_command                   check_http &br;         notifications_enabled           1 &color(lime){← 1を指定(HTTP状態変化時に通知する)}; &br;         }|

|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← commands.cfg編集};|

|# 'notify-host-by-email' command definition &br; define command{ &br;         command_name    notify-host-by-email &br;         command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/nkf -j | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ &color(lime){← nkfコマンド追加(メール本文文字化け対処)};        } &br;  &br; # 'notify-service-by-email' command definition &br; define command{ &br;         command_name    notify-service-by-email &br;         command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/nkf -j | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ &color(lime){← nkfコマンド追加(メール本文文字化け対処)};        }|

|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|

|define service{ &br;         use                             local-service         ; Name of service template to use &br;         host_name                       localhost &br;         service_description             SSH &br;         check_command                   check_ssh &br;         notifications_enabled           1 &color(lime){← 1を指定(''SSH''状態変化時に通知する)}; &br;         } &br;  &br; define service{ &br;         use                             local-service         ; Name of service template to use &br;         host_name                       localhost &br;         service_description             HTTP &br;         check_command                   check_http &br;         notifications_enabled           1 &color(lime){← 1を指定(''HTTP''状態変化時に通知する)}; &br;         }|

|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|

|# 'notify-host-by-email' command definition &br; define command{ &br;         command_name    notify-host-by-email &br;         command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/nkf -j | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ &color(lime){← ''nkf''コマンド追加(メール本文文字化け対処)};        } &br;  &br; # 'notify-service-by-email' command definition &br; define command{ &br;         command_name    notify-service-by-email &br;         command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/nkf -j | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ &color(lime){← ''nkf''コマンド追加(メール本文文字化け対処)};        }|




*Apache設定 [#u077e7b1]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# usermod -G nagios apache &color(lime){← ''apache''ユーザーをnagiosグループに所属させる};|
|[root@localhost ~]# vi /etc/httpd/conf.d/nagios.conf &color(lime){← ''Nagios''用''Apache''設定ファイル編集};|
|<Directory "/usr/local/nagios/sbin"> &br; #  SSLRequireSSL &br;    Options ExecCGI &br;    AllowOverride None &br;    <IfVersion >= 2.3> &br;       <RequireAll> &br;       <RequireAny> &color(lime){← 追加}; &br; &color(lime){#};        Require all granted &color(lime){← 行頭に''#''を追加してコメントアウト(内部からのみアクセス可能にする)}; &br; #        Require host 127.0.0.1 &br;          Require ip 192.168.1.0/24 &color(lime){← 追加(内部ネットワーク(例:192.168.1.0/24)からのみアクセス可能にする)}; &br;       </RequireAny> &color(lime){← 追加}; &br;  &br;          AuthName "Nagios Access" &br;          AuthType Basic &br;          AuthUserFile /usr/local/nagios/etc/htpasswd.users &br;          Require valid-user &br;       </RequireAll> &br;    </IfVersion> &br;    <IfVersion < 2.3> &br;       Order allow,deny &br;       Allow from all &br; #     Order deny,allow &br; #     Deny from all &br; #     Allow from 127.0.0.1 &br;  &br;       AuthName "Nagios Access" &br;       AuthType Basic &br;       AuthUserFile /usr/local/nagios/etc/htpasswd.users &br;       Require valid-user &br;    </IfVersion> &br; </Directory> &br;  &br; <Directory "/usr/local/nagios/share"> &br; #  SSLRequireSSL &br;    Options None &br;    AllowOverride None &br;    <IfVersion >= 2.3> &br;       <RequireAll> &br;       <RequireAny> &color(lime){← 追加}; &br; &color(lime){#};        Require all granted &color(lime){← 行頭に''#''を追加してコメントアウト(内部からのみアクセス可能にする)}; &br; #        Require host 127.0.0.1 &br;          Require ip 192.168.1.0/24 &color(lime){← 追加(内部ネットワーク(例:192.168.1.0/24)からのみアクセス可能にする)}; &br;       </RequireAny> &color(lime){← 追加}; &br;  &br;          AuthName "Nagios Access" &br;          AuthType Basic &br;          AuthUserFile /usr/local/nagios/etc/htpasswd.users &br;          Require valid-user &br;       </RequireAll> &br;    </IfVersion> &br;    <IfVersion < 2.3> &br;       Order allow,deny &br;       Allow from all &br; #     Order deny,allow &br; #     Deny from all &br; #     Allow from 127.0.0.1 &br;  &br;       AuthName "Nagios Access" &br;       AuthType Basic &br;       AuthUserFile /usr/local/nagios/etc/htpasswd.users &br;       Require valid-user &br;    </IfVersion> &br; </Directory>|
|[root@localhost ~]# systemctl reload httpd &color(lime){← ''Web''サーバー設定反映};|
|[root@localhost ~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin &color(lime){← ''Nagios''管理ユーザー(''nagiosadmin'')作成};|
|New password: &color(lime){← 任意のパスワード応答※表示はされない};|
|Re-type new password: &color(lime){← 任意のパスワード応答(確認)※表示はされない};|
|Adding password for user nagiosadmin|



*Nagios起動 [#md139441]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# /etc/rc.d/init.d/nagios start &color(lime){← Nagios起動};|

|[root@localhost ~]# chkconfig nagios on &color(lime){← Nagios自動起動設定};|

|[root@localhost ~]# /etc/rc.d/init.d/nagios start &color(lime){← ''Nagios''起動};|

|[root@localhost ~]# chkconfig nagios on &color(lime){← ''Nagios''自動起動設定};|




*Nagios確認 [#tf485424]
http://サーバー名/nagios/へアクセスし、''Ngios''の''Web''インタフェース画面が表示されることを確認。※ユーザー名/パスワードは''htpasswd''コマンドで作成した''Nagios''管理ユーザーのユーザー名/パスワードを指定する。

デフォルトの監視項目は自ホストの「''CPU負荷''」、「''ログインユーザー数''」、「''Webサーバー稼動状況''」、「''ネットワーク障害''」、「''ディスク空き状況''」、「''SSHサーバー稼動状況''」、「''SWAP空き状況''」、「''プロセス数''」。



*監視ホスト追加 [#f2512d37]
例としてホスト名''fedora''、IPアドレス192.168.1.20を監視ホストとして追加する。

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/servers/fedora.cfg &color(lime){← ホスト名.cfg作成};|
|define host{ &br;         use                     linux-server &br;         host_name               fedora &br;         alias                   fedora &br;         address                 192.168.1.20 &br;         } &br;  &br; define service{ &br;         use                             generic-service &br;         host_name                       fedora &br;         service_description             PING &br;         check_command                   check_ping!100.0,20%!500.0,60% &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*監視ホスト追加確認 [#l8124efc]
http://サーバー名/nagios/へアクセスし、「ホスト」で追加したホストが表示されることを確認。



*監視サービス追加(自ホスト編) [#wffdefd8]
**メモリ使用状況 [#efb2ac42]

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# wget "https://exchange.nagios.org/components/com_mtree/attachment.php?link_id=4174&cf_id=24" -O check_mem &color(lime){← ''check_mem''プラグインダウンロード};|
|[root@localhost ~]# /bin/mv check_mem /usr/local/nagios/libexec/ &color(lime){← ''check_mem''プラグインを所定のディレクトリへ移動};|
|[root@localhost ~]# chmod +x /usr/local/nagios/libexec/check_mem &color(lime){← ''check_mem''プラグインに実行権限付加};|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; # 'check_mem' command definition &br; define command{ &br;         command_name    check_mem &br;         command_line    $USER1$/check_mem -w $ARG1$ -c $ARG2$ -W $ARG3$ -C $ARG4$ &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|
|以下を最終行へ追加 &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         #service_description             Memory Free &br;         service_description             Memory Usage &br;         check_command                   check_mem!80!90!80!90 &color(lime){← 物理メモリ使用率が''80%''で警告、''90%''で異常、仮想メモリ使用率が''80%''で警告、''90%''で異常とする}; &br;         } &br;  &br; &color(lime){--''check_mem''プラグインで仮想メモリ使用率も取得できるため削除(ここから)--}; &br; define service{ &br;         use                             local-service         ; Name of service template to use &br;         host_name                       localhost &br;         service_description             Swap Usage &br;         check_command                   check_local_swap!20!10 &br;         } &br; &color(lime){--''check_mem''プラグインで仮想メモリ使用率も取得できるため削除(ここまで)--};|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



**ログインユーザー数 [#q0e42867]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← localhost.cfg編集};|

|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|

|define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             Current Users &br;         check_command                   check_local_users!3!5 &color(lime){← ログインユーザー数が''3''以上で警告、''5''以上で異常とする}; &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



**NTP [#t055810e]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← commands.cfg編集};|

|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|

|&color(lime){以下を最終行へ追加}; &br; # 'check_ntp' command definition &br; define command{ &br;         command_name    check_ntp &br;         command_line    $USER1$/check_ntp -H $ARG1$ -w $ARG2$ -c $ARG3$ &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             NTP &br;         check_command                   check_ntp!ntp.nict.jp!1!2 &color(lime){← ntp.nict.jpと時間が1秒ずれていたら警告、2秒ずれていたら異常とする}; &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



**clamd ※Clam AntiVirusまたはamavisd-new+Clam AntiVirus導入済の場合のみ [#me49fbd3]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; # 'check_clamd' command definition &br; define command{ &br;         command_name    check_clamd &br;         command_line    $USER1$/check_clamd -H $ARG1$ &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← localhost.cfg編集};|

|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|

|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             clamd &br;         check_command                   check_clamd!/var/run/clamav/clamd.sock &color(lime){← ''/var/run/clamav/clamd.sock''は''/etc/clamd.conf''または''/etc/clamd.d/amavisd.conf''の''LocalSocket''オプションで指定した値}; &br;         }|
|[root@localhost ~]# chmod u+s /usr/local/nagios/libexec/check_clamd &color(lime){← ''clamd''ソケットファイルへ接続できるようにする|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



**DNS ※BIND導入済の場合のみ [#y1c6b585]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; # 'check_dig' command definition &br; define command{ &br;         command_name    check_dig &br;         command_line    $USER1$/check_dig -H $HOSTADDRESS$ -l $ARG1$ &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             DNS &br;         check_command                   check_dig!hoge.com &color(lime){← 名前解決ホスト名に自ドメイン名を指定}; &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*SMTP ※メールサーバー導入済の場合のみ [#b74953a1]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|
|以下を最終行へ追加 &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             SMTP &br;         check_command                   check_smtp &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*POP ※メールサーバー導入済の場合のみ [#z6911334]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|# 'check_pop' command definition &br; define command{ &br;         command_name    check_pop &br;         command_line    $USER1$/check_pop -H $HOSTADDRESS$ -s quit &color(lime){← 「''-s quit''」追加}; &br;         } &br; &color(lime){※「-s quit」はDovecotがpop3-login: Aborted login: rip=::ffff:127.0.0.1, lip=::ffff:127.0.0.1, securedという}; &br; &color(lime){エラーメッセージをログに出力しないようにする対処};|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             POP &br;         check_command                   check_pop &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*IMAP ※メールサーバー導入済の場合のみ [#d720a284]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|# 'check_imap' command definition &br; define command{ &br;         command_name    check_imap &br;         command_line    $USER1$/check_imap -H $HOSTADDRESS$ -s "A2 logout" &color(lime){← 「-s "A2 logout"」追加}; &br;         } &br; &color(lime){※「''-s "A2 logout"''」は''Dovecot''が''imap-login: Aborted login: rip=::ffff:127.0.0.1, lip=::ffff:127.0.0.1, secured''という}; &br; &color(lime){エラーメッセージをログに出力しないようにする対処};|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← localhost.cfg編集};|

|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|

|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             IMAP &br;         check_command                   check_imap &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*milter-manager ※milter-manager(milter-greylist、clamav-milter、spamass-milter)導入済の場合のみ [#g319844e]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集|
|&color(lime){以下を最終行へ追加}; &br; # 'check_milter-manager' command definition &br; define command{ &br;         command_name    check_milter-manager &br;         command_line    $USER1$/check_tcp -H /var/run/milter-manager/milter-manager.sock &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← localhost.cfg編集};|

|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|

|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             milter-manager &br;         check_command                   check_milter-manager &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*milter-greylist ※milter-greylist導入済の場合のみ [#bdbf2400]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; # 'check_milter-greylist' command definition &br; define command{ &br;         command_name    check_milter-greylist &br;         command_line    $USER1$/check_tcp -H /run/milter-greylist/milter-greylist.sock &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             milter-greylist &br;         check_command                   check_milter-greylist &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*clamav-milter ※clamav-milter導入済の場合のみ [#n57affe6]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; # 'check_clamav-milter' command definition &br; define command{ &br;         command_name    check_clamav-milter &br;         command_line    $USER1$/check_tcp -H /var/run/clamav-milter/clamav-milter.socket &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             clamav-milter &br;         check_command                   check_clamav-milter &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*spamass-milter ※spamass-milter導入済の場合のみ [#wfb26b51]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; # 'check_spamass-milter' command definition &br; define command{ &br;         command_name    check_spamass-milter &br;         command_line    $USER1$/check_tcp -H /run/spamass-milter/postfix/sock &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             spamass-milter &br;         check_command                   check_spamass-milter &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*spamd ※SpamAssassin導入済の場合のみ [#k91a1b29]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; # 'check_spamd' command definition &br; define command{ &br;         command_name    check_spamd &br;         command_line    $USER1$/check_tcp -H $HOSTADDRESS$ -p 783 &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← localhost.cfg編集};|

|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|

|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             spamd &br;         check_command                   check_spamd &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*Samba ※Samba導入済の場合のみ [#x5882a2e]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# yum -y install samba-client &color(lime){← ''samba-client''インストール};|
|[root@localhost ~]# vi /usr/local/nagios/libexec/check_disk_smb &color(lime){← ''check_disk_smb''プラグイン編集};|
|my $smbclient= "/usr/bin/smbclient" ; &color(lime){← ''smbclient''コマンドパス設定};|
|[root@localhost ~]# echo &color(lime){SambaサーバーIPアドレス※ Sambaサーバーホスト名}; >> /etc/samba/lmhosts &color(lime){← lmhostsへSambaサーバーのIPアドレス/ホスト名を追加する};|

|[root@localhost ~]# echo &color(lime){''Samba''サーバーIPアドレス※ ''Samba''サーバーホスト名}; >> /etc/samba/lmhosts &color(lime){← ''lmhosts''へ''Samba''サーバーのIPアドレス/ホスト名を追加する};|

|&color(lightpink){※SambaサーバーIPアドレスにループバックアドレス(127.0.0.1)は指定できない};|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; # 'check_disk_smb' command definition &br; define command{ &br;         command_name    check_disk_smb &br;         command_line    $USER1$/check_disk_smb -H $ARG1$ -s $ARG2$ -W $ARG3$ -u $ARG4$ -p $ARG5$ &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             Samba &br;         check_command                   check_disk_smb!Sambaサーバーホスト名!Samba共有名!Sambaワークグループ名!Sambaユーザー名!Sambaユーザーパスワード &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*MySQL ※MariaDBまたはMySQL導入済の場合のみ [#m40fb310]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; # 'check_mysql' command definition &br; define command{ &br;         command_name    check_mysql &br;         command_line    $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; define service{ &br;         use                             generic-service &br;         host_name                       localhost &br;         service_description             MySQL &br;         check_command                   check_mysql!root!&color(lime){MySQLのrootユーザーパスワード}; &br;         }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*ネットワーク使用状況 [#i82c6e86]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# wget "https://exchange.nagios.org/components/com_mtree/attachment.php?link_id=4105&cf_id=24" -O check_traffic_pnp4naios.sh &color(lime){← ''check_traffic_pnp4naios''プラグインダウンロード};|
|[root@localhost ~]# mv check_traffic_pnp4naios.sh /usr/local/nagios/libexec/ &color(lime){← ''check_traffic_pnp4naios''プラグインを所定のディレクトリへ移動};|
|[root@localhost ~]# chmod +x /usr/local/nagios/libexec/check_traffic_pnp4naios.sh &color(lime){← ''check_traffic_pnp4naios''プラグインに実行権限付加};|
|[root@localhost ~]# vi /usr/local/nagios/libexec/check_traffic_pnp4naios.sh &color(lime){← ''check_traffic_pnp4naios''プラグイン編集};|
|&color(lime){#};DIR=/App/nagios/tmp &color(lime){← 行頭に#を追加してコメントアウト}; &br; DIR=/usr/local/nagios/var &color(lime){← 追加(一時ディレクトリを指定)}; &br;  &br; #if [ `cat /App/nagios/tmp/.network-$DEVICE.tmp &#124; wc -c` -eq 0 ];then &color(lime){← 行頭に#を追加してコメントアウト}; &br; if [ `cat $FILE &#124; wc -c` -eq 0 ];then &color(lime){← 追加(前回取得値格納先を変数に変更)}; &br;         echo -en `date +%s`"\t" >$FILE &br;         &color(lime){#};echo -en `ifconfig $DEVICE &#124; grep "RX bytes" &#124; awk '{print $2}' &#124; awk -F: '{print $NF}'`"\t" >>$FILE &color(lime){← 行頭に#を追加してコメントアウト}; &br;         &color(lime){#};echo `ifconfig $DEVICE &#124; grep "RX bytes" &#124; awk '{print $6}' &#124; awk -F: '{print $NF}'`>>$FILE &color(lime){← 行頭に#を追加してコメントアウト}; &br;         echo -en `ifconfig $DEVICE &#124; grep "RX " &#124; grep "bytes" &#124; awk '{print $5}'`"\t" >>$FILE &color(lime){← 追加(''ifconfig''コマンドフォーマット相違対応)}; &br;         echo `ifconfig $DEVICE &#124; grep "TX " &#124; grep "bytes" &#124; awk '{print $5}'`>>$FILE &color(lime){← 追加(''ifconfig''コマンドフォーマット相違対応)}; &br;         echo "This is first run" &br; else &br;         New_Time=`date +%s` &br;         &color(lime){#};New_In=`ifconfig $DEVICE &#124; grep "RX bytes" &#124; awk '{print $2}' &#124; awk -F: '{print $NF}'` &color(lime){← 行頭に#を追加してコメントアウト}; &br;         &color(lime){#};New_Out=`ifconfig $DEVICE &#124; grep "RX bytes" &#124; awk '{print $6}' &#124; awk -F: '{print $NF}'` &color(lime){← 行頭に#を追加してコメントアウト}; &br;         New_In=`ifconfig $DEVICE &#124; grep "RX " &#124; grep "bytes" &#124; awk '{print $5}'` &color(lime){← 追加(''ifconfig''コマンドフォーマット相違対応)};        New_Out=`ifconfig $DEVICE &#124; grep "TX " &#124; grep "bytes" &#124; awk '{print $5}'` &color(lime){← 追加(''ifconfig''コマンドフォーマット相違対応)};|

|&color(lime){#};DIR=/App/nagios/tmp &color(lime){← 行頭に#を追加してコメントアウト}; &br; DIR=/usr/local/nagios/var &color(lime){← 追加(一時ディレクトリを指定)}; &br;  &br; &color(lime){#};if [ `cat /App/nagios/tmp/.network-$DEVICE.tmp &#124; wc -c` -eq 0 ];then &color(lime){← 行頭に#を追加してコメントアウト}; &br; if [ `cat $FILE &#124; wc -c` -eq 0 ];then &color(lime){← 追加(前回取得値格納先を変数に変更)}; &br;         echo -en `date +%s`"\t" >$FILE &br;         &color(lime){#};echo -en `ifconfig $DEVICE &#124; grep "RX bytes" &#124; awk '{print $2}' &#124; awk -F: '{print $NF}'`"\t" >>$FILE &color(lime){← 行頭に#を追加してコメントアウト}; &br;         &color(lime){#};echo `ifconfig $DEVICE &#124; grep "RX bytes" &#124; awk '{print $6}' &#124; awk -F: '{print $NF}'`>>$FILE &color(lime){← 行頭に#を追加してコメントアウト}; &br;         echo -en `ifconfig $DEVICE &#124; grep "RX " &#124; grep "bytes" &#124; awk '{print $5}'`"\t" >>$FILE &color(lime){← 追加(''ifconfig''コマンドフォーマット相違対応)}; &br;         echo `ifconfig $DEVICE &#124; grep "TX " &#124; grep "bytes" &#124; awk '{print $5}'`>>$FILE &color(lime){← 追加(''ifconfig''コマンドフォーマット相違対応)}; &br;         echo "This is first run" &br; else &br;         New_Time=`date +%s` &br;         &color(lime){#};New_In=`ifconfig $DEVICE &#124; grep "RX bytes" &#124; awk '{print $2}' &#124; awk -F: '{print $NF}'` &color(lime){← 行頭に#を追加してコメントアウト}; &br;         &color(lime){#};New_Out=`ifconfig $DEVICE &#124; grep "RX bytes" &#124; awk '{print $6}' &#124; awk -F: '{print $NF}'` &color(lime){← 行頭に#を追加してコメントアウト}; &br;         New_In=`ifconfig $DEVICE &#124; grep "RX " &#124; grep "bytes" &#124; awk '{print $5}'` &color(lime){← 追加(''ifconfig''コマンドフォーマット相違対応)};        New_Out=`ifconfig $DEVICE &#124; grep "TX " &#124; grep "bytes" &#124; awk '{print $5}'` &color(lime){← 追加(''ifconfig''コマンドフォーマット相違対応)};|

|[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg &color(lime){← ''commands.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; # 'check_traffic' command definition &br; define command{ &br;         command_name    check_traffic &br;         command_line    $USER1$/check_traffic_pnp4naios.sh -i $ARG1$ -w $ARG2$ -c $ARG3$ &br;         }|
|[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg &color(lime){← ''localhost.cfg''編集};|
|&color(lime){以下を最終行へ追加}; &br; define service{ &br;     use                       generic-service &br;     host_name                 localhost &br;     service_description       Traffic Usage &br;     check_command             check_traffic!eth0!80000000!90000000 &color(lime){← ネットワークインタフェース''eth0''の単位時間あたり使用量が''80Mbit''で警告、''90Mbit''で異常とする}; &br; }|
|[root@localhost ~]# /etc/rc.d/init.d/nagios restart &color(lime){← ''Nagios''再起動};|



*監視サービス追加確認(自ホスト編) [#h5436f99]
http://サーバー名/nagios/へアクセスし、「サービス」で追加したサービスが表示されることを確認。



*Downtime Scheduling Utility導入 [#vbdbcb87]
日々のサーバー運用では、定時バックアップや定時ウィルススキャン等を実施しており、これらの処理を実施している時間帯はサーバーが一時的に高負荷になるため、''Nagios''が警告を発してしまう場合がある。これらの処理が毎日行なわれる場合、''Nagios''からの警告もほぼ毎日発生することになるため、サーバー管理者にとっては非常に煩わしい。そこで、''Nagios''標準の「ダウンタイム」機能を利用して、指定時間帯のサーバー監視を無視するようにする。ただし、''Nagios''標準の「ダウンタイム」機能では、指定した日時のサーバー監視を無視することしかできないため、''Downtime Scheduling Utility''を導入して、''CRON''でダウンタイムの登録作業を自動化する。

''Downtime Scheduling Utility''ダウンロードページより''nagios_down''をダウンロードして''WinSCP''等でサーバーへアップロードする。

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# tar zxvf nagios_down-0.2.tar.gz &color(lime){← ''nagios_down''展開};|
|[root@localhost ~]# cp nagios_down.php /usr/local/nagios/bin/ &color(lime){← ''nagios_down.php''を所定のディレクトリへコピー};|
|[root@localhost ~]# rm -f nagios_down.* &color(lime){← 展開したファイルを削除};|
|[root@localhost ~]# rm -f nagios_down-0.2.tar.gz &color(lime){← ダウンロードしたファイルを削除};|
|[root@localhost ~]# vi /usr/local/nagios/bin/nagios_down.php &color(lime){← ''nagios_down.php''編集|
|define(NAGIOSCMD, "/usr/local/groundwork/nagios/var/spool/nagios.cmd"); &br; &color(lime){↓}; &br; define(NAGIOSCMD, "/usr/local/nagios/var/rw/nagios.cmd"); &color(lime){← ''nagios.cmd''パス変更};|
|[root@localhost ~]# vi /etc/php.ini &color(lime){← ''php''設定ファイル編集};|
|&color(lime){※''nagios_down''実行時下記エラーメッセージ出力時対処}; &br; PHP Notice:  Use of undefined constant NAGIOSCMD - assumed 'NAGIOSCMD' in /usr/local/nagios/bin/nagios_down.php on line 13 &br; PHP Notice:  Use of undefined constant VERSION - assumed 'VERSION' in /usr/local/nagios/bin/nagios_down.php on line 18 &br; PHP Notice:  Use of undefined constant VERDATE - assumed 'VERDATE' in /usr/local/nagios/bin/nagios_down.php on line 19 &br; PHP Notice:  Undefined variable: duration in /usr/local/nagios/bin/nagios_down.php on line 131 &br; error_reporting = E_ALL & ~E_DEPRECATED &br; &color(lime){↓}; &br; error_reporting = E_ALL & ~E_NOTICE &color(lime){← 通知メッセージを出力しないようにする}; &br;  &br; &color(lime){※''nagios_down''実行時下記エラーメッセージ出力時対処}; &br; PHP Warning:  strtotime(): It is not safe to rely on the system's timezone settings.~ &br; [Date] &br; ; Defines the default timezone used by the date functions &br; ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone &br; ;date.timezone = &br; date.timezone = Asia/Tokyo &color(lime){← 追加(デフォルトのタイムゾーン)};|
|[root@localhost ~]# vi /usr/local/nagios/bin/nagios_down.php &color(lime){← ''nagios_down.php''編集};|
|&color(lime){※nagios_down実行時下記エラーメッセージ出力時対処}; &br; PHP Deprecated:  Function ereg() is deprecated in /usr/local/nagios/bin/nagios_down.php on line 189 &br;                         if ( ereg("^all$", $service) ) &br;                         &color(lime){↓}; &br;                         if ( preg_match("/^all$/", $service) ) &color(lime){← 非推奨関数eregを推奨関数preg_matchへ変更};|

|&color(lime){※''nagios_down''実行時下記エラーメッセージ出力時対処}; &br; PHP Deprecated:  Function ereg() is deprecated in /usr/local/nagios/bin/nagios_down.php on line 189 &br;                         if ( ereg("^all$", $service) ) &br;                         &color(lime){↓}; &br;                         if ( preg_match("/^all$/", $service) ) &color(lime){← 非推奨関数''ereg''を推奨関数''preg_match''へ変更};|

|[root@localhost ~]# vi /etc/cron.d/nagios &color(lime){← ''nagios_down''用''cron''設定ファイル新規作成};|
|01 00 * * * root /usr/bin/php /usr/local/nagios/bin/nagios_down.php -h localhost -s "Current Load" -f -b "04:00 now" -e "06:00 now" -a "Nagios Admin" -c "Server Maintenance" &color(lime){← 毎日''4:00''~''6:00''は''localhost''の''CPU''負荷監視を行なわない※上記は例};|

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS