概要

必要なソフトウェア

リンク

インストール

本体

$ ./configure                             \
        --prefix=/usr/local/nagios        \
        --sysconfdir=/etc/nagios          \
        --with-nagios-user=nagios         \
        --with-nagios-grp=nagios          \
        --with-gd-lib=/usr/local/lib      \
        --with-gd-inc=/usr/local/include  \
        --with-htmurl=/nagios             \
        --with-cgiurl=/nagios-binenter.png
$ make allenter.png
# make install install-configenter.png
オプション意味
--prefix=pathインストールパス
--sysconfdir=path設定ファイルパス
--with-nagios-user=user起動ユーザー
--with-nagios-grp=group起動グループ
--with-gd-lib=pathGDライブラリパス
--with-gd-inc=pathGDインクルードパス
--with-htmurl=pathWebで閲覧するときのNagiosのパス
--with-cgiurl=pathWebで閲覧するときのCGIのパス

プラグイン

$ ./configure                             \
        --prefix=/usr/local/nagios        \
        --sysconfdir=/etc/nagios          \
        --with-cgiurl=/nagios-bin/        \
        --with-nagios-user=nagios         \
        --with-nagios-group=nagios        \
        --with-openssl=/usr/local/openssl \
        --with-libiconv-prefix=/usr/localenter.png
$ makeenter.png
# make installenter.png
オプション意味
--prefix=pathインストールパス
--sysconfdir=path設定ファイルパス
--with-cgiurl=pathCGIのURL
--with-nagios-user=user起動ユーザー
--with-nagios-grp=group起動グループ
--with-openssl=pathOpenSSLインストールパス
--with-libiconv-prefix=path

Apache

Alias /nagios/ "/usr/local/nagios/share/"
<Directory "/usr/local/nagios/share/">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from 192.168.0.0/24
        AuthType Basic
        AuthName "Please enter your password."
        AuthUserFile /etc/httpd/.htpasswd
        require valid-user
</Directory>

ScriptAlias /nagios-bin/ "/usr/local/nagios/sbin/"
<Directory "/usr/local/nagios/sbin/">
        Options ExecCGI
        AllowOverride None
        Order allow,deny
        Allow from 192.168.0.0/24
        AuthType Basic
        AuthName "Please enter your password."
        AuthUserFile /etc/httpd/.htpasswd
        require valid-user
</Directory>

起動スクリプト

設定

nagios.cfg

log_file=/var/log/nagios.log ログファイルのパス
cfg_file=/etc/nagios/checkcommands.cfg
cfg_file=/etc/nagios/misccommands.cfg
cfg_file=/etc/nagios/contactgroups.cfg
cfg_file=/etc/nagios/contacts.cfg
cfg_file=/etc/nagios/hostgroups.cfg
cfg_file=/etc/nagios/hosts.cfg
cfg_file=/etc/nagios/services.cfg
cfg_file=/etc/nagios/timeperiods.cfg
cfg_file=/etc/nagios/hostextinfo.cfg
cfg_file=/etc/nagios/serviceextinfo.cfg
object_cache_file=/usr/local/nagios/var/objects.cache
resource_file=/etc/nagios/resource.cfg
status_file=/usr/local/nagios/var/status.dat
nagios_user=nagios
nagios_group=nagios
check_external_commands=0
command_check_interval=-1
command_file=/usr/local/nagios/var/rw/nagios.cmd
comment_file=/usr/local/nagios/var/comments.dat
downtime_file=/usr/local/nagios/var/downtime.dat
lock_file=/usr/local/nagios/var/nagios.lock
temp_file=/usr/local/nagios/var/nagios.tmp
event_broker_options=-1
log_rotation_method=w ログのローテート周期
log_archive_path=/var/log ローテート後のログ保存ディレクトリ
use_syslog=1
log_notifications=1
log_service_retries=1
log_host_retries=1
log_event_handlers=1
log_initial_states=0
log_external_commands=1
log_passive_checks=1
service_inter_check_delay_method=s
max_service_check_spread=30
service_interleave_factor=s
host_inter_check_delay_method=s
max_host_check_spread=30
max_concurrent_checks=0
service_reaper_frequency=10
auto_reschedule_checks=0
auto_rescheduling_interval=30
auto_rescheduling_window=180
sleep_time=0.25
service_check_timeout=60
host_check_timeout=30
event_handler_timeout=30
notification_timeout=30
ocsp_timeout=5
perfdata_timeout=5
retain_state_information=1
state_retention_file=/usr/local/nagios/var/retention.dat
retention_update_interval=60
use_retained_program_state=1
use_retained_scheduling_info=0
interval_length=60 監視間隔
use_aggressive_host_checking=0
execute_service_checks=1
accept_passive_service_checks=1
execute_host_checks=1
accept_passive_host_checks=1
enable_notifications=1
enable_event_handlers=1
process_performance_data=0
obsess_over_services=0
check_for_orphaned_services=0
check_service_freshness=1
service_freshness_check_interval=60
check_host_freshness=0
host_freshness_check_interval=60
aggregate_status_updates=1
status_update_interval=15
enable_flap_detection=0
low_service_flap_threshold=5.0
high_service_flap_threshold=20.0
low_host_flap_threshold=5.0
high_host_flap_threshold=20.0
date_format=iso8601 日付のフォーマット
p1_file=/usr/local/nagios/bin/p1.pl
illegal_object_name_chars=`~!$%^&*|'"<>?,()=
illegal_macro_output_chars=`~$&|'"<>
use_regexp_matching=0
use_true_regexp_matching=0
admin_email=nagios アラートメールの送信先
admin_pager=pagenagios アラートメールの送信先
daemon_dumps_core=0

cgi.cfg

main_config_file=/etc/nagios/nagios.cfg
physical_html_path=/usr/local/nagios/share
url_html_path=/nagios
show_context_help=0
use_authentication=1
#authorized_for_system_information=nagiadm,guest        Nagiosの状態を見れるユーザー
#authorized_for_configuration_information=nagiadm,guest 設定ファイルを見れるユーザー
#authorized_for_system_commands=nagiadm                 Nagiosの停止・再起動・設定を行えるユーザー
#authorized_for_all_services=nagiadm,guest              閲覧できるユーザー
#authorized_for_all_hosts=nagiadm,guest                 
#authorized_for_all_service_commands=nagiadm            設定できるユーザー
#authorized_for_all_host_commands=nagiadm               
default_statusmap_layout=5
default_statuswrl_layout=4
ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$
refresh_rate=90

hosts.cfg

# Generic host definition template
define host{
        name                            generic-host テンプレート名
        event_handler_enabled           1
        flap_detection_enabled          1
        process_perf_data               1
        retain_status_information       1
        retain_nonstatus_information    1
        notifications_enabled           1
        register                        0
}

# ns host definition
define host{
        use                     generic-host   使用テンプレート
        host_name               ns             ホスト名 ※
        alias                   Name Server    別名 ※
        address                 192.168.0.1    IPアドレス ※
        check_command           check-host-alive  
        max_check_attempts      10             エラー時の再試行回数 ※
        contact_groups          admins
        notification_period     24x7           監視時間帯 ※
        notification_interval   30             再通知までの試行回数 ※
        notification_options    d,u,r          通知するタイミング(Down Unreachable Recover) ※
}

※は必須項目

hostextinfo.cfg

define hostextinfo{
        name                    server
        icon_image              server.gif
        icon_image_alt          Server
        vrml_image              server.gif
        statusmap_image         server.gd2
        register                0
}

define hostextinfo{
        name                    computer
        icon_image              computer.gif
        icon_image_alt          Computer
        vrml_image              computer.gif
        statusmap_image         computer.gd2
        register                0
}

define hostextinfo{
        name                    router
        icon_image              router.gif
        icon_image_alt          Router
        vrml_image              router.gif
        statusmap_image         router.gd2
        register                0
}

define hostextinfo{
        use                     server
        host_name               ns.6996.jp
}

define hostextinfo{
        use                     computer
        host_name               mac.6996.jp, win.6996.jp
}

define hostextinfo{
        use                     router
        host_name               gw.6996.jp
}

hostgroups.cfg

define hostgroup{
        hostgroup_name          6996.jp         
        alias                   6996.jp Servers 
        members                 ns              
}

※は必須項目

services.cfg

# Generic service definition template
define service{
        name                            generic-service
        active_checks_enabled           1
        passive_checks_enabled          1
        parallelize_check               1
        obsess_over_service             1
        check_freshness                 0
        event_handler_enabled           1
        flap_detection_enabled          1
        process_perf_data               1
        retain_status_information       1
        retain_nonstatus_information    1
        notifications_enabled           1
        register                        0
}

serviceextinfo.cfg

define serviceextinfo{
        name                    ftp      テンプレート名
        service_description     FTP      サービス説明
        icon_image              ftp.gif  アイコンファイル
        icon_image_alt          FTP      アイコン説明
        register                0        テンプレートマーク
}

define serviceextinfo{
        name                    smtp
        service_description     SMTP
        icon_image              email.gif
        icon_image_alt          SMTP
        register                0
}

define serviceextinfo{
        name                    http
        service_description     HTTP
        icon_image              www.gif
        icon_image_alt          HTTP
        register                0
}

define serviceextinfo{
        use             ftp              使用テンプレート
        host_name       ns.6996.jp       適用ホスト
}

define serviceextinfo{
        use             smtp
        host_name       ns.6996.jp
}

define serviceextinfo{
        use             http
        host_name       ns.6996.jp, gw.6996.jp
}

contacts.cfg

# Generic contact definition template
define contact{
        name                            generic-contect
        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-by-email
        host_notification_commands      host-notify-by-email
        register                        0
}

# ham contact definition
define contact{
        use                             generic-contect
        contact_name                    ham           通知先名 ※
        alias                           6996.jp Admin 通知先の別名 ※
        email                           admin         メールアドレス
}

※は必須項目

contactgroups.cfg

define contactgroup{
        contactgroup_name       admins         通知先グループ名 ※
        alias                   6996.jp Admins 通知先グループ名の別名 ※
        members                 ham            通知先メンバー ※
}

※は必須項目

resource.cfg

checkcommand.cfg

misccommands.cfg

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
}

プラグイン

check_ping

checkcommand.cfg

define command{
        command_name    check_ping
        command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
        }
オプション意味説明
-Hhost監視先ホスト
-w time,ratiowarning応答速度timems以上か、応答率ratio以下でWarning
-c time,ratiocritical応答速度timems以上か、応答率ratio以下でCritical
-t timetimeout応答速度times以上でCritical(デフォルト10)
-p numpackets試行回数(デフォルト5)

services.cfg

define service{
        use                             generic-service テンプレート名
        host_name                       ns              ホスト名 ※
        service_description             PING            サービスの説明 ※
        is_volatile                     0
        check_command                   check_ping!500,10%!1000,25% チェックコマンド ※
        max_check_attempts              3               エラー時の再試行回数 ※
        normal_check_interval           3               チェック間隔 ※
        retry_check_interval            1               再試行間隔 ※
        check_period                    24x7            監視時間帯 ※
        notification_interval           30              再通知までの試行回数 ※
        notification_period             24x7            通知時間帯 ※
        notification_options            w,u,c,r         通知タイミング ※
        contact_groups                  admins          エラー時の通知先 ※
}
通知タイミング意味説明
wwarningWarning時
uunknown不明時
ccriticalCritical時
rrecover復旧時
nnone通知しない

check_ftp

checkcommand.cfg

define command{
        command_name    check_ftp
        command_line    $USER1$/check_ftp -H $HOSTADDRESS$
        }

services.cfg

check_ssh

checkcommand.cfg

define command{
        command_name    check_ssh
        command_line    $USER1$/check_ssh $HOSTADDRESS$
        }
オプション意味説明
-Hhost監視先ホスト
-t timetimeout応答速度times以上でCritical(デフォルト10)

services.cfg

define service{
        use                             generic-service テンプレート名
        host_name                       ns              ホスト名 ※
        service_description             SSH             サービスの説明 ※
        is_volatile                     0
        check_command                   check_ssh       チェックコマンド ※
        max_check_attempts              3               エラー時の再試行回数 ※
        normal_check_interval           3               チェック間隔 ※
        retry_check_interval            1               再試行間隔 ※
        check_period                    24x7            監視時間帯 ※
        notification_interval           30              再通知までの試行回数 ※
        notification_period             24x7            通知時間帯 ※
        notification_options            w,u,c,r         通知タイミング ※
        contact_groups                  admins          エラー時の通知先 ※
}

check_telnet

checkcommand.cfg

define command{
        command_name    check_telnet
        command_line    $USER1$/check_tcp -H $HOSTADDRESS$ -p 23
        }

services.cfg

check_smtp

checkcommand.cfg

define command{
        command_name    check_smtp
        command_line    $USER1$/check_smtp -H $HOSTADDRESS$
        }
オプション意味説明
-Hhost監視先ホスト
-w timewarning応答速度times以上でWarning
-c timecritical応答速度times以上でCritical
-t timetimeout応答速度times以上でCritical(デフォルト10)

services.cfg

define service{
        use                             generic-service テンプレート名
        host_name                       ns              ホスト名 ※
        service_description             SMTP            サービスの説明 ※
        is_volatile                     0
        check_command                   check_smtp      チェックコマンド ※
        max_check_attempts              3               エラー時の再試行回数 ※
        normal_check_interval           3               チェック間隔 ※
        retry_check_interval            1               再試行間隔 ※
        check_period                    24x7            監視時間帯 ※
        notification_interval           30              再通知までの試行回数 ※
        notification_period             24x7            通知時間帯 ※
        notification_options            w,u,c,r         通知タイミング ※
        contact_groups                  admins          エラー時の通知先 ※
}

check_dns

checkcommand.cfg

define command{
        command_name    check_dns
        command_line    $USER1$/check_dns -H $ARG1$ -s $HOSTADDRESS$
        }
オプション意味説明
-s serverserver監視先サーバ
-H domainhost使用ドメイン
-a addressaddress期待値
-Aauthority権威サーバである
-t timetimeout応答速度times以上でCritical(デフォルト10)

services.cfg

define service{
        use                             generic-service テンプレート名
        host_name                       ns              ホスト名 ※
        service_description             DNS             サービスの説明 ※
        is_volatile                     0
        check_command                   check_dns!www.google.com チェックコマンド ※
        max_check_attempts              3               エラー時の再試行回数 ※
        normal_check_interval           3               チェック間隔 ※
        retry_check_interval            1               再試行間隔 ※
        check_period                    24x7            監視時間帯 ※
        notification_interval           30              再通知までの試行回数 ※
        notification_period             24x7            通知時間帯 ※
        notification_options            w,u,c,r         通知タイミング ※
        contact_groups                  admins          エラー時の通知先 ※
}

check_dig

checkcommand.cfg

define command{
        command_name    check_dig
        command_line    $USER1$/check_dig -H $HOSTADDRESS$ -l $ARG1$
        }
オプション意味説明
-H hosthost監視先サーバ
-l domainlookup使用ドメイン
-a addressaddress期待値
-w timewarning応答速度times以上でWarning
-c timecritical応答速度times以上でCritical
-t timetimeout応答速度times以上でCritical(デフォルト10)

services.cfg

define service{
        use                             generic-service テンプレート名
        host_name                       ns              ホスト名 ※
        service_description             DNS             サービスの説明 ※
        is_volatile                     0
        check_command                   check_dig!www.google.com チェックコマンド ※
        max_check_attempts              3               エラー時の再試行回数 ※
        normal_check_interval           3               チェック間隔 ※
        retry_check_interval            1               再試行間隔 ※
        check_period                    24x7            監視時間帯 ※
        notification_interval           30              再通知までの試行回数 ※
        notification_period             24x7            通知時間帯 ※
        notification_options            w,u,c,r         通知タイミング ※
        contact_groups                  admins          エラー時の通知先 ※
}

check_http

checkcommand.cfg

define command{
        command_name    check_http
        command_line    $USER1$/check_http -H $HOSTADDRESS$
        }
オプション意味説明
-Hhost監視先ホスト
-pportポート番号(デフォルト80)
-SsslSSLで接続
-f ok|warning|critical|followリダイレクトされた場合どうするか
-w timewarning応答速度timems以上でWarning
-c timecritical応答速度timems以上でCritical
-t timetimeout応答速度timems以上でNG(デフォルト10)

services.cfg

define service{
        use                             generic-service テンプレート名
        host_name                       ns              ホスト名 ※
        service_description             HTTP            サービスの説明 ※
        is_volatile                     0
        check_command                   check_http      チェックコマンド ※
        max_check_attempts              3               エラー時の再試行回数 ※
        normal_check_interval           3               チェック間隔 ※
        retry_check_interval            1               再試行間隔 ※
        check_period                    24x7            監視時間帯 ※
        notification_interval           30              再通知までの試行回数 ※
        notification_period             24x7            通知時間帯 ※
        notification_options            w,u,c,r         通知タイミング ※
        contact_groups                  admins          エラー時の通知先 ※
}

check_pop

checkcommand.cfg

define command{
        command_name    check_pop
        command_line    $USER1$/check_pop -H $HOSTADDRESS$
        }

services.cfg

check_local_disk

checkcommand.cfg

define command{
        command_name    check_local_disk
        command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
        }

services.cfg

check_local_load

checkcommand.cfg

define command{
        command_name    check_local_load
        command_line    $USER1$/check_load -w $ARG1$ -c $ARG2$
        }

services.cfg

check_local_procs

checkcommand.cfg

define command{
        command_name    check_local_procs
        command_line    $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
        }

services.cfg

check_local_users

checkcommand.cfg

define command{
        command_name    check_local_users
        command_line    $USER1$/check_users -w $ARG1$ -c $ARG2$
        }

services.cfg

check_tcp

checkcommand.cfg

define command{
        command_name    check_tcp
        command_line    $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$
        }

services.cfg

check_udp

checkcommand.cfg

define command{
        command_name    check_udp
        command_line    $USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$
        }

services.cfg

check-host-alive

checkcommand.cfg

define command{
        command_name    check-host-alive
        command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 1
        }

services.cfg


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-07-08 (水) 18:10:14