目的
Nagiosを監視基盤とする練習としてディスク管理を行う。また、Nagiosは構築済みとする。
構成
- Nagios Server ( 192.168.1.1 ) → 監視基盤
- Nagios Client ( 192.168.1.2 ) → 監視対象
NagiosはPull型なので、Client側のポートを開ける必要がある
※Allow Hostsとportの5666の設定を忘れない
イメージ
Nagios側の設定(監視基盤)
監視対象のホストを追加する設定
/etc/nagios/nagios.cfg
### 51行目付近
cfg_dir=/etc/nagios/servers
監視対象を定義するディレクトリを作成する
# mkdir /etc/nagios/servers
権限の調整
# chgrp nagios /etc/nagios/servers
# chmod 750 /etc/nagios/servers
監視対象の監視設定
/etc/nagios/servers/server.cfg
define host {
use linux-server
host_name ubuntu-nagios-client
alias ubuntu-nagios-client
address 192.168.1.2(nagios-client)
}
define service {
use generic-service
host_name ubuntu-nagios-client
service_description Disk root
check_command check_nrpe!check_disk_root
}
check_nrpe
は以下のコマンド定義
で定義しているコマンドの名前
!の後のcheck_disk_root
はコマンド定義
で定義しているコマンドに引数として指定される。下の$ARG1$に入る(check_disk_root
には下のNRPE側の設定
で指定したコマンドが入る)
つまり、$ARG1$
=command[check_disk_root]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
コマンド定義
/etc/nagios/objects/commands.cfg
define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
NRPE側の設定
以下は監視対象にて行う作業
/etc/nagios/nrpe.cfg
### 106行目付近
allowed_hosts=127.0.0.1,::1,192.168.1.1(Nagios Server)
### 305行目付近に追加
command[check_disk_root]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
サービスの動作
NRPEの起動
systemctl start nrpe
systemctl enable nrpe
構文チェック
nagios -v /etc/nagios/nagios.cfg
nagiosの起動
systemctl start nagios
解説
Nagios-Server側で実行されている
/usr/lib64/nagios/plugins/check_nrpe -H <nagios-client> -c check_disk_root
nagios-clientにcheck_disk_rootを実行するように要求
Nagios-Client側で実行
/etc/nagios/nrpe.cfg
で定義されているcheck_disk_root
を実行する。
実際には以下のコマンドが実行される
/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /