事前確認事項 †設定箇所 †Nagiosで監視される側 †apt-get install nagios-plugins nagios-nrpe-server /etc/nagios/nrpe.cfg allowed_hosts=127.0.0.1,監視する側のIP # you can place your config snipplets into nrpe.d/ #include_dir=/etc/nagios/nrpe.d/ /etc/nagios/nrpe_local.cfg nrpe.cfgに含まれないcommandを追加 # 全partitionの残りdisk容量を%指定で監視する command[check_disk_all]=/usr/lib/nagios/plugins/check_disk -w 30% -c 10% command[check_swap]=/usr/lib/nagios/plugins/check_swap -w 50% -c 10% Nagios-nrpe-serverを再起動 /etc/init.d/nagios-nrpe-server restart Nagiosで確認する際の個別設定 †確認方法 †contactgroups.cfg †define contactgroup{
contactgroup_name server-admins
alias Server Administrators
members popowa, nagios_watcher
}
server-adminsはすべてのHOSTのdown/Serviceのdownが発生したらメールが飛ぶようになっている(services.cfgのdefault-templateを確認)。contactgroups.cfgのmembersに記載されるuserはcontacts.cfgに記載されている事が前提 contacts.cfg †個人名をアルファベット順に列挙 define contact{
contact_name popowa
alias Aya
host_notifications_enabled 1
service_notifications_enabled 1
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email PCメールアドレス
pager 携帯メールアドレス
can_submit_commands 1
}
上記のcontact_nameは/etc/nagios3/htaccess.userと紐付けることが出来、contactが監視するホスト、サービスのみ表示させる事が可能 hostgroups.cfg †define hostgroup{
hostgroup_name aws
alias AWS Servers
members serverA, serverB
}
hosts.cfgに設定されたホストをグループ化することが出来る。 hosts.cfg †ホスト名をアルファベット順に列挙している define host{
host_name serverA #サーバ名
alias AWS/clientA/web #説明
address XXX.XXX.XXX.XXX #IP
#parents YamahaRTX3000 #サーバの親host(大体はrouter/LBなど)
check_command check-host-alive
#hostが生きている、の元になるコマンド(check-host-aliveはIPを元にcheck_httpする)
check_interval 0
#上記コマンドで死活確認するか
#(これはservices.cfgに設定しなくても動く監視プログラム設定。
services.cfgで設定していたらいらない)
retry_interval 1
max_check_attempts 5
check_period 24x7 #これはtimeperiods.cfgにある時間設定
process_perf_data 0
retain_nonstatus_information 0
contact_groups server-admins #連絡先
notification_interval 30
notification_period 24x7
notification_options d,u,r
}
サーバ一覧。サーバには複数のIPが紐づいている場合は、別のhostとして追加したほうがよい。(例えばサーバー自体は生きているが、virtual IPが落ちている時などに確認出来る為) servicegroups.cfg †services.cfgに設定されたホストのサービス別にグループ化する事が出来る define servicegroup{
servicegroup_name ping-service
alias Ping Services
members serverA ,PING,serverB,PING
}
membersにはホスト名、サービス名を{xxx,ooo}形式で追加する。 services.cfg †ホストのサービスを監視する設定ファイル generic-service(サービステンプレート) define service{
name generic-service ; テンプレート名
notifications_enabled 1 ; 通知有
event_handler_enabled 1 ; イベントハンドラの有
process_perf_data 1 ; パフォーマンス情報を保存
retain_status_information 1 ; ステータス情報を保存
retain_nonstatus_information 1 ; ステータス情報以外を保存
is_volatile 0 ; 通常サービスチェック
max_check_attempts 3 ; リトライ回数
normal_check_interval 5 ; 5分間隔でチェック
retry_check_interval 1 ; リトライ間隔
check_period 24x7 ; 24x7でチェック
notification_interval 240 ; 障害発生から240分したら再通知
notification_period 24x7 ; 24x7で通知
notification_options w,c,r ; Warning, Critical, Recover時に通知
contact_groups server-admins
register 0 ;
}
実際のサービス監視は以下の通り define service {
use generic-service
host_name serverA
service_description SSH
check_command check_ssh
}
上記のサービスを他のcontactに送りたい場合は contacts test-user, server-a-user
contact_groups client-a-admins
のようにさらに追加する事が出来る。useでgeneric-serviceを選んで場合は、generic-serviceを継承するのでserver-adminsに警告メールが飛ぶことになる ssh監視 †check_command check_ssh ping監視 †check_command check_ping!100.0,20%!500.0,60% IPでhttp監視 †check_command check_http Virtual Domainでhttpを監視 †これは設定が必要 check_command check_vhost!www.server-a.com POPの監視 †check_command check_tcp!110!5!10 SMTPの監視 †check_command check_tcp!25!5!10 Proxyの監視 †check_command check_tcp!3128!5!10 NRPE: disk監視 †check_command check_nrpe_1arg!check_disk_all NRPE: load監視 †check_command check_nrpe_1arg!check_load timeperiods.cfg †監視する時間帯の設定 define timeperiod{
timeperiod_name 24x7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
エラー時には †参考URL † |