$ sudo vim /etc/nagios3/nagios.cfg cfg_dir=/etc/nagios3/hosts cfg_dir=/etc/nagios3/servers cfg_dir=/etc/nagios3/switches cfg_dir=/etc/nagios3/routers admin_email=nagios, neo.chen@example.com
add user neo for nagios
$ sudo htpasswd /etc/nagios3/htpasswd.users neo New password: Re-type new password: Adding password for user neo
# grep default_user_name cgi.cfg #default_user_name=guest # grep authorized cgi.cfg authorized_for_system_information=nagiosadmin authorized_for_configuration_information=nagiosadmin authorized_for_system_commands=nagiosadmin authorized_for_all_services=nagiosadmin authorized_for_all_hosts=nagiosadmin authorized_for_all_service_commands=nagiosadmin authorized_for_all_host_commands=nagiosadmin #authorized_for_read_only=user1,user2
$ sudo vim /etc/nagios3/cgi.cfg authorized_for_all_services=nagiosadmin,neo authorized_for_all_hosts=nagiosadmin,neo
$ sudo vim /etc/nagios3/conf.d/contacts_nagios2.cfg
###############################################################################
# contacts.cfg
###############################################################################
define contact{
contact_name neo
alias Neo
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email neo.chen@example.com
}
###############################################################################
###############################################################################
#
# CONTACT GROUPS
#
###############################################################################
###############################################################################
# We only have one contact in this simple configuration file, so there is
# no need to create more than one contact group.
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members root, neo
}
当服务出现w—报警(warning),u—未知(unkown),c—严重(critical),r—从异常恢复到正常,在这四种情况下通知联系人
当主机出现d-当机(down),u—返回不可达(unreachable),r—从异常情况恢复正常,在这3种情况下通知联系人
确认 contact_groups 已经设置
neo@monitor:/etc/nagios3$ grep admins conf.d/generic-host_nagios2.cfg
contact_groups admins
neo@monitor:/etc/nagios3$ grep admins conf.d/generic-service_nagios2.cfg
contact_groups admins
$ sudo vim /etc/nagios3/conf.d/hostgroups_nagios2.cfg
define hostgroup {
hostgroup_name mysql-servers
alias MySQL Servers
members *
}
$ cat /etc/nagios3/conf.d/generic-service_nagios2.cfg
# generic service template definition
define service{
name generic-service ; The 'name' of this service template
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service 'freshness'
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
notification_interval 0 ; Only send notifications on status change by default.
is_volatile 0
check_period 24x7
normal_check_interval 5
retry_check_interval 1
max_check_attempts 4
notification_period 24x7
notification_options w,u,c,r
contact_groups admins
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
notification_interval 报警发送间隔,单位分钟
normal_check_interval 间隔时间
retry_check_interval 重试间隔时间
max_check_attempts 检查次数,4次失败后报警
发出警报声
$ sudo vim /etc/nagios3/cgi.cfg # SOUND OPTIONS # These options allow you to specify an optional audio file # that should be played in your browser window when there are # problems on the network. The audio files are used only in # the status CGI. Only the sound for the most critical problem # will be played. Order of importance (higher to lower) is as # follows: unreachable hosts, down hosts, critical services, # warning services, and unknown services. If there are no # visible problems, the sound file optionally specified by # 'normal_sound' variable will be played. # # # <varname>=<sound_file> # # Note: All audio files must be placed in the /media subdirectory # under the HTML path (i.e. /usr/local/nagios/share/media/). host_unreachable_sound=hostdown.wav host_down_sound=hostdown.wav service_critical_sound=critical.wav service_warning_sound=warning.wav service_unknown_sound=warning.wav normal_sound=noproblem.wav
vim /etc/nagios3/commands.cfg
# 'notify-host-by-sms' command definition
define command{
command_name notify-host-by-sms
command_line /srv/sms/sms $CONTACTPAGER$ "Host: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n"
}
# 'notify-service-by-sms' command definition
define command{
command_name notify-service-by-sms
command_line /srv/sms/sms $CONTACTPAGER$ "Service: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$"
}
sudo vim /etc/nagios3/conf.d/contacts_nagios2.cfg
define contact{
contact_name neo
alias Neo
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-service-by-email, notify-service-by-sms
host_notification_commands notify-host-by-email, notify-host-by-sms
email neo.chen@example.com
pager 13113668899
}