阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

循环渐进Nagios—操作篇(二)配置Nagios

435次阅读
没有评论

共计 17307 个字符,预计需要花费 44 分钟才能阅读完成。

一、nagios 默认配置文件介绍

相关阅读:循环渐进 Nagios— 操作篇(一)安装 Nagios 监控系统 http://www.linuxidc.com/Linux/2014-02/96263.htm

nagios 安装完毕后,默认的配置文件在 /usr/local/nagios/etc 目录下,每个文件或目录含义如下表所示:

循环渐进 Nagios--- 操作篇(二)配置 Nagios 

二、配置文件之间的关系
在 nagios 的配置过程中涉及到的几个定义有:主机、主机组,服务、服务组,联系人、联系人组,监控时间,监控命令等,从这些定义可以看出,nagios 各个配置文件之间是互为关联,彼此引用的。

成功配置出一台 nagios 监控系统,必须要弄清楚每个配置文件之间依赖与被依赖的关系,最重要的有四点:

第一:定义监控哪些主机、主机组、服务和服务组

第二:定义这个监控要用什么命令实现,

第三:定义监控的时间段,

第四:定义主机或服务出现问题时要通知的联系人和联系人组。
 

三、开始配置 nagios
为了能更清楚的说明问题,同时也为了维护方便,建议将 nagios 各个定义对象创建独立的配置文件,即为:

创建 hosts.cfg 文件来定义主机和主机组
创建 services.cfg 文件来定义服务
用默认的 contacts.cfg 文件来定义联系人和联系人组
用默认的 commands.cfg 文件来定义命令
用默认的 timeperiods.cfg 来定义监控时间段
用默认的 templates.cfg 文件作为资源引用文件
 

1、templates.cfg 文件
nagios 主要用于监控主机资源以及服务,在 nagios 配置中称为对象,为了不必重复定义一些监控对象,Nagios 引入了一个模板配置文件,将一些共性的属性定义成模板,以便于多次引用。这就是 templates.cfg 的作用。

下面详细介绍下 templates.cfg 文件中每个参数的含义:

define contact{
        name                            generic-contact        #联系人名称,
        service_notification_period    24×7                  #当服务出现异常时,发送通知的时间段,这个时间段“7×24″ 在 timeperiods.cfg 文件中定义
        host_notification_period        24×7                  #当主机出现异常时,发送通知的时间段,这个时间段“7×24″ 在 timeperiods.cfg 文件中定义
        service_notification_options    w,u,c,r        #这个定义的是“通知可以被发出的情况”。<SPAN style=”COLOR: #ff0000″>w 即 warn,表示警告状态,u 即 unknown,表示不明状态,c 即 criticle,表示紧急状态,r 即 recover,表示恢复状态。</SPAN> 也就是在服务出现警告状态、未知状态、紧急状态和重新恢复状态时都发送通知给使用者。
        host_notification_options      d,u,r        #定义主机在什么状态下需要发送通知给使用者,<SPAN style=”COLOR: #ff0000″>d 即 down,表示宕机状态,u 即 unreachable,表示不可到达状态,r 即 recovery,表示重新恢复状态。</SPAN>
        service_notification_commands  notify-service-by-email  #服务故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件,其中“notify-service-by-email”在 commands.cfg 文件中定义。
        host_notification_commands      notify-host-by-email    #主机故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件,其中“notify-host-by-email”在 commands.cfg 文件中定义。
        register                        0
        }
 
define host{
        name                            generic-host    #主机名称,这里的主机名,并不是直接对应到真正机器的主机名,乃是对应到在主机配置文件里所设定的主机名。
        notifications_enabled          1           
        event_handler_enabled          1           
        flap_detection_enabled          1           
        failure_prediction_enabled      1         
        process_perf_data              1           
        retain_status_information      1         
        retain_nonstatus_information    1             
        notification_period            24×7          #指定“发送通知”的时间段,也就是可以在什么时候发送通知给使用者。
        register                        0             
        }
define host{
 name  generic-switch ; The name of this host template
 use  generic-host ; Inherit default values from the generic-host template<SPAN style=”COLOR: #ff0000″>—- 注意这里引用了上面定义的模板 </SPAN>
 check_period  24×7  ; By default, switches are monitored round the clock
 check_interval  5  ; Switches are checked every 5 minutes
 retry_interval  1  ; Schedule host check retries at 1 minute intervals
 max_check_attempts 10  ; Check each switch 10 times (max)
 check_command  check-host-alive ; Default command to check if routers are “alive”
 notification_period 24×7  ; Send notifications at any time
 notification_interval 30  ; Resend notifications every 30 minutes
 notification_options d,r  ; Only send notifications for specific host states
 contact_groups  admins  ; Notifications get sent to the admins by default
 register  0  ; DONT REGISTER THIS – ITS JUST A TEMPLATE
 }

define service{
        name                            generic-service  #定义一个服务名称
        active_checks_enabled          1 
        passive_checks_enabled          1   
        parallelize_check                1   
        obsess_over_service            1   
        check_freshness                0
        notifications_enabled            1             
        event_handler_enabled          1               
        flap_detection_enabled          1                 
        failure_prediction_enabled        1               
        process_perf_data              1               
        retain_status_information      1                 
        retain_nonstatus_information    1                     
        is_volatile                    0
        check_period                    24×7      #这里的 check_period 告诉 nagios 检查服务的时间段。
        max_check_attempts              3        #nagios 对服务的最大检查次数。
        normal_check_interval          10      #此选项是用来设置服务检查时间间隔,也就是说,nagios 这一次检查和下一次检查之间所隔的时间,这里是 10 分钟。
        retry_check_interval            2        #重试检查时间间隔,单位是分钟。
        contact_groups                  admins  #指定联系人组,同上。
        notification_options            w,u,c,r  #这个定义的是“通知可以被发出的情况”。<SPAN style=”COLOR: #ff0000″>w 即 warn,表示警告状态,u 即 unknown,表示不明状态,c 即 criticle,表示紧急状态,r 即 recover,表示恢复状态。</SPAN> 也就是在服务出现警告状态、未知状态、紧急状态和重新恢复后都发送通知给使用者。
        notification_interval          60      #在服务出现异常后,故障一直没有解决,nagios 再次对使用者发出通知的时间。单位是分钟。如果你认为,所有的事件只需要一次通知就够了,可以把这里的选项设为 0。
        notification_period            24×7    #指定“发送通知”的时间段,也就是可以在什么时候发送通知给使用者。
        register                        0                   
        }

Nagios 的详细介绍:请点这里
Nagios 的下载地址:请点这里

相关阅读

Nagios 实现飞信告警配置 http://www.linuxidc.com/Linux/2013-03/80424.htm

Nagios 结合飞信实现短信报警之安装飞信 http://www.linuxidc.com/Linux/2012-08/69346.htm

Nagios 飞信 Linux 系统免费短信报警配置 http://www.linuxidc.com/Linux/2012-04/58195.htm

教你实现 Nagios 监控 Linux 主机及飞信报警 http://www.linuxidc.com/Linux/2011-09/43911.htm

2、resource.cfg 文件
resource.cfg 是 nagios 的变量定义文件,文件内容只有一行:

# Sets $USER1$ to be the path to the plugins
$USER1$=/usr/local/nagios/libexec

 其中,变量 $USER1$ 指定了安装 nagios 插件的路径,如果把插件安装在了其它路径,只需在这里进行修改即可。需要注意的是,变量必须先定义,然后才能在其它配置文件中进行引用。

 

3、理解 Nagios 宏及其工作机制
Nagios 配置非常灵活,继承和引用是一大特征,另一个重要特征就是可以在命令行的定义里使用宏,通过定义宏,nagios 可以灵活的获取主机、服务和其它对象的信息。

(1)宏的工作机制
在执行命令之前,nagios 将对命令里的每个宏替换成它们应当取得的值。这种宏替换发生在 Nagios 执行各种类型的宏时候。例如主机和服务的检测、通知、事件处理等。

(2)宏的分类:默认宏、按需而成的宏、用户自定制宏等。
(3)默认宏:

1)主机 IP 地址宏
当在命令定义中使用主机或服务宏时,宏将要执行所用的值指向主机或服务所带有值。看下面这个例子,假定在 check_ping 命令定义里使用了一个主机对象,例如这样:

define host{
host_name  ixdba
address  192.168.12.246
check_command  check_ping

}
define command{
command_name check_ping
command_line /usr/local/nagios/libexec/check_ping -H <SPAN style=”COLOR: #ff0000″>$HOSTADDRESS$</SPAN> -w 100.0,90% -c 200.0,60%
}

那么执行这个主机检测命令时展开并最终执行的将是这样的:

/usr/local/nagios/libexec/check_ping -H 192.168.12.246 -w 100.0,90% -c 200.0,60%

2)命令参数宏

同样你可以向命令传递参数,这样可以保证命令定义更具通用性。参数指定在对象(象主机或服务)中定义,用一个“!”来分隔,例如这样:

define service{
host_name  linuxbox
service_description PING
check_command  check_ping!200.0,80%!400.0,40%

}

在上例中,服务的检测命令中含有两个参数(请参考 $ARGn$ 宏),而 $ARG1$ 宏将是 ”200.0,80%”,同时 $ARG2$ 将是 ”400.0,40%”(都不带引号)。假定使用之前的主机定义并这样来定义你的 check_ping 命令:

define command{
command_name check_ping
command_line /usr/local/nagios/libexec/check_ping -H <SPAN style=”COLOR: #ff0000″>$HOSTADDRESS$</SPAN> -w <SPAN style=”COLOR: #ff0000″>$ARG1$</SPAN> -c <SPAN style=”COLOR: #ff0000″>$ARG2$</SPAN>
}

那么对于服务的检测命令最终将是这样子的:

/usr/local/nagios/libexec/check_ping -H 192.168.12.246 -w 200.0,80% -c 400.0,40%

(4)Nagios 可用的全部的宏

1)主机宏

$HOSTNAME$ 主机简称(如 ”web”),取自于主机定义里的 host_name 域
$HOSTADDRESS$ 主机地址。取自于主机定义里的 address 域

2)服务宏

$SERVICESTATE$ 服务状态描述,有 w,u,c
$SERVICEDESC$ 对当前服务的描述

3)联系人宏

$CONTACTNAME$ 表示联系人,在联系人文件中定义

4)通知宏

$NOTIFICATIONTYPE$ 返回下面信息:(“PROBLEM”, “RECOVERY”, “ACKNOWLEDGEMENT”, “FLAPPINGSTART”, “FLAPPINGSTOP”, “FLAPPINGDISABLED”, “DOWNTIMESTART”, “DOWNTIMEEND”, or “DOWNTIMECANCELLED”).
5)日期 / 时间宏

$LONGDATETIME$ 当前的日期 / 时间戳
6)文件宏

$LOGFILE$ 日志文件的保存位置。
$MAINCONFIGFILE$ 主配置文件的保存位置。

7)其他宏

$ADMINEMAIL$ 全局的管理员 EMail 地址
$ARGn$ 指向第 n 个命令传递参数(通知、事件处理、服务检测等)。Nagios 支持最多 32 个参数宏

4、commands.cfg 文件
此文件默认是存在的,无需修改即可使用,当然如果有新的命令需要加入时,在此文件进行添加即可。这里并未列出文件的所有内容,仅仅介绍了配置中用到的一些命令。

# 下面是 notify-host-by-email 命令的定义
define command{
        command_name    <SPAN style=”COLOR: #33ff33″>notify-host-by-email</SPAN>    #命令名称,即定义了一个主机异常时发送邮件的命令。
        command_line    /usr/bin/printf “%b” “***** Nagios *****\n\nNotification Type: <SPAN style=”COLOR: #ff0000″>$NOTIFICATIONTYPE$</SPAN>\nHost: <SPAN style=”COLOR: #ff0000″>$HOSTNAME$</SPAN>\nState: <SPAN style=”COLOR: #ff0000″>$HOSTSTATE$</SPAN>\nAddress: <SPAN style=”COLOR: #ff0000″>$HOSTADDRESS$</SPAN>\nInfo: <SPAN style=”COLOR: #ff0000″>$HOSTOUTPUT$</SPAN>\n\nDate/Time: <SPAN style=”COLOR: #ff0000″>$LONGDATETIME$</SPAN>\n” | /bin/mail -s “** <SPAN style=”COLOR: #ff0000″>$NOTIFICATIONTYPE$</SPAN> Host Alert: <SPAN style=”COLOR: #ff0000″>$HOSTNAME$ </SPAN>is <SPAN style=”COLOR: #ff0000″>$HOSTSTATE$</SPAN> **” <SPAN style=”COLOR: #ff0000″>$CONTACTEMAIL$</SPAN>    #命令具体的执行方式,“-H $HOSTADDRESS$”是定义目标主机的地址,这个地址在 hosts.cfg 文件中定义了。
        }

# 下面是 notify-host-by-email 命令的定义
define command{
        command_name    <SPAN style=”COLOR: #33cc00″>notify-service-by-email</SPAN>  #命令名称,即定义了一个服务异常时发送邮件的命令
        command_line    /usr/bin/printf “%b” “***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: <SPAN style=”COLOR: #ff0000″>$SERVICEDESC$</SPAN>\nHost:<SPAN style=”COLOR: #ff0000″> $HOSTALIAS$</SPAN>\nAddress:<SPAN style=”COLOR: #ff0000″> $HOSTADDRESS$</SPAN>\nState: <SPAN style=”COLOR: #ff0000″>$SERVICESTATE$</SPAN>\n\nDate/Time: <SPAN style=”COLOR: #ff0000″>$LONGDATETIME$</SPAN>\n\nAdditional Info:\n\n<SPAN style=”COLOR: #ff0000″>$SERVICEOUTPUT$</SPAN>” | /bin/mail -s “** <SPAN style=”COLOR: #ff0000″>$NOTIFICATIONTYPE$</SPAN> Service Alert: <SPAN style=”COLOR: #ff0000″>$HOSTALIAS$</SPAN>/<SPAN style=”COLOR: #ff0000″>$SERVICEDESC$</SPAN> is<SPAN style=”COLOR: #ff0000″> $SERVICESTATE$</SPAN> **”<SPAN style=”COLOR: #ff0000”> $CONTACTEMAIL$</SPAN>
        }

# 下面是 notify-host-by-email 命令的定义
 define command{
        command_name    check-host-alive  #命令名称,用来检测主机状态。
      command_line    <SPAN style=”COLOR: #ff0000″>$USER1$</SPAN>/check_ping -H <SPAN style=”COLOR: #ff0000″>$HOSTADDRESS$</SPAN> -w 3000.0,80% -c 5000.0,100% -p 5    #这里的变量 $USER1$ 在 resource.cfg 文件中进行定义,即 $USER1$=/usr/local/nagios/libexec,那么 check_ping 的完整路径为 /usr/local/nagios/libexec/check_ping。“-w 3000.0,80%”中“-w”说明后面的一对值对应的是“WARNING”状态,“80%”是其临界值。“-c 5000.0,100%”中“-c”说明后面的一对值对应的是“CRITICAL”,“100%”是其临界值。“-p 1”说明每次探测发送一个包。
        }

# 下面是 notify-host-by-email 命令的定义
 define command{
        command_name    check_ftp
        command_line    $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$    #$ARG1$ 是指在调用这个命令的时候,命令后面的第一个参数。
        }

# 下面是 check_http 命令的定义
 define command{
        command_name    check_http
        command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
        }

# 下面是 check_ssh 命令的定义
 define command{
        command_name    check_ssh
        command_line    $USER1$/check_ssh $ARG1$ $HOSTADDRESS$
        }
……

一、nagios 默认配置文件介绍

相关阅读:循环渐进 Nagios— 操作篇(一)安装 Nagios 监控系统 http://www.linuxidc.com/Linux/2014-02/96263.htm

nagios 安装完毕后,默认的配置文件在 /usr/local/nagios/etc 目录下,每个文件或目录含义如下表所示:

循环渐进 Nagios--- 操作篇(二)配置 Nagios 

二、配置文件之间的关系
在 nagios 的配置过程中涉及到的几个定义有:主机、主机组,服务、服务组,联系人、联系人组,监控时间,监控命令等,从这些定义可以看出,nagios 各个配置文件之间是互为关联,彼此引用的。

成功配置出一台 nagios 监控系统,必须要弄清楚每个配置文件之间依赖与被依赖的关系,最重要的有四点:

第一:定义监控哪些主机、主机组、服务和服务组

第二:定义这个监控要用什么命令实现,

第三:定义监控的时间段,

第四:定义主机或服务出现问题时要通知的联系人和联系人组。
 

三、开始配置 nagios
为了能更清楚的说明问题,同时也为了维护方便,建议将 nagios 各个定义对象创建独立的配置文件,即为:

创建 hosts.cfg 文件来定义主机和主机组
创建 services.cfg 文件来定义服务
用默认的 contacts.cfg 文件来定义联系人和联系人组
用默认的 commands.cfg 文件来定义命令
用默认的 timeperiods.cfg 来定义监控时间段
用默认的 templates.cfg 文件作为资源引用文件
 

1、templates.cfg 文件
nagios 主要用于监控主机资源以及服务,在 nagios 配置中称为对象,为了不必重复定义一些监控对象,Nagios 引入了一个模板配置文件,将一些共性的属性定义成模板,以便于多次引用。这就是 templates.cfg 的作用。

下面详细介绍下 templates.cfg 文件中每个参数的含义:

define contact{
        name                            generic-contact        #联系人名称,
        service_notification_period    24×7                  #当服务出现异常时,发送通知的时间段,这个时间段“7×24″ 在 timeperiods.cfg 文件中定义
        host_notification_period        24×7                  #当主机出现异常时,发送通知的时间段,这个时间段“7×24″ 在 timeperiods.cfg 文件中定义
        service_notification_options    w,u,c,r        #这个定义的是“通知可以被发出的情况”。<SPAN style=”COLOR: #ff0000″>w 即 warn,表示警告状态,u 即 unknown,表示不明状态,c 即 criticle,表示紧急状态,r 即 recover,表示恢复状态。</SPAN> 也就是在服务出现警告状态、未知状态、紧急状态和重新恢复状态时都发送通知给使用者。
        host_notification_options      d,u,r        #定义主机在什么状态下需要发送通知给使用者,<SPAN style=”COLOR: #ff0000″>d 即 down,表示宕机状态,u 即 unreachable,表示不可到达状态,r 即 recovery,表示重新恢复状态。</SPAN>
        service_notification_commands  notify-service-by-email  #服务故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件,其中“notify-service-by-email”在 commands.cfg 文件中定义。
        host_notification_commands      notify-host-by-email    #主机故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件,其中“notify-host-by-email”在 commands.cfg 文件中定义。
        register                        0
        }
 
define host{
        name                            generic-host    #主机名称,这里的主机名,并不是直接对应到真正机器的主机名,乃是对应到在主机配置文件里所设定的主机名。
        notifications_enabled          1           
        event_handler_enabled          1           
        flap_detection_enabled          1           
        failure_prediction_enabled      1         
        process_perf_data              1           
        retain_status_information      1         
        retain_nonstatus_information    1             
        notification_period            24×7          #指定“发送通知”的时间段,也就是可以在什么时候发送通知给使用者。
        register                        0             
        }
define host{
 name  generic-switch ; The name of this host template
 use  generic-host ; Inherit default values from the generic-host template<SPAN style=”COLOR: #ff0000″>—- 注意这里引用了上面定义的模板 </SPAN>
 check_period  24×7  ; By default, switches are monitored round the clock
 check_interval  5  ; Switches are checked every 5 minutes
 retry_interval  1  ; Schedule host check retries at 1 minute intervals
 max_check_attempts 10  ; Check each switch 10 times (max)
 check_command  check-host-alive ; Default command to check if routers are “alive”
 notification_period 24×7  ; Send notifications at any time
 notification_interval 30  ; Resend notifications every 30 minutes
 notification_options d,r  ; Only send notifications for specific host states
 contact_groups  admins  ; Notifications get sent to the admins by default
 register  0  ; DONT REGISTER THIS – ITS JUST A TEMPLATE
 }

define service{
        name                            generic-service  #定义一个服务名称
        active_checks_enabled          1 
        passive_checks_enabled          1   
        parallelize_check                1   
        obsess_over_service            1   
        check_freshness                0
        notifications_enabled            1             
        event_handler_enabled          1               
        flap_detection_enabled          1                 
        failure_prediction_enabled        1               
        process_perf_data              1               
        retain_status_information      1                 
        retain_nonstatus_information    1                     
        is_volatile                    0
        check_period                    24×7      #这里的 check_period 告诉 nagios 检查服务的时间段。
        max_check_attempts              3        #nagios 对服务的最大检查次数。
        normal_check_interval          10      #此选项是用来设置服务检查时间间隔,也就是说,nagios 这一次检查和下一次检查之间所隔的时间,这里是 10 分钟。
        retry_check_interval            2        #重试检查时间间隔,单位是分钟。
        contact_groups                  admins  #指定联系人组,同上。
        notification_options            w,u,c,r  #这个定义的是“通知可以被发出的情况”。<SPAN style=”COLOR: #ff0000″>w 即 warn,表示警告状态,u 即 unknown,表示不明状态,c 即 criticle,表示紧急状态,r 即 recover,表示恢复状态。</SPAN> 也就是在服务出现警告状态、未知状态、紧急状态和重新恢复后都发送通知给使用者。
        notification_interval          60      #在服务出现异常后,故障一直没有解决,nagios 再次对使用者发出通知的时间。单位是分钟。如果你认为,所有的事件只需要一次通知就够了,可以把这里的选项设为 0。
        notification_period            24×7    #指定“发送通知”的时间段,也就是可以在什么时候发送通知给使用者。
        register                        0                   
        }

Nagios 的详细介绍:请点这里
Nagios 的下载地址:请点这里

相关阅读

Nagios 实现飞信告警配置 http://www.linuxidc.com/Linux/2013-03/80424.htm

Nagios 结合飞信实现短信报警之安装飞信 http://www.linuxidc.com/Linux/2012-08/69346.htm

Nagios 飞信 Linux 系统免费短信报警配置 http://www.linuxidc.com/Linux/2012-04/58195.htm

教你实现 Nagios 监控 Linux 主机及飞信报警 http://www.linuxidc.com/Linux/2011-09/43911.htm

5、hosts.cfg 文件

此文件默认不存在,需要手动创建,hosts.cfg 主要用来指定被监控的主机地址以及相关属性信息,一个配置好的实例如下:

define host{
        use                    linux-server  #引用主机 linux-server 的属性信息,linux-server 主机在 templates.cfg 文件中进行了定义。
        host_name              web    #主机名
        alias                    test-web  #主机别名
        address                192.168.12.251  #被监控的主机地址,这个地址可以是 ip,也可以是域名。
        }

define host{
        use                    linux-server
        host_name              mysql
        alias                    ixdba-mysql
        address                192.168.12.237
        }

define hostgroup{#定义一个主机组
      hostgroup_name  sa-servers        #主机组名称,可以随意指定。
      alias          sa servers    #主机组别名
      members        web,mysql  #主机组成员,其中“web”、“mysql”就是上面定义的两个主机。
      }

6、services.cfg 文件
此文件默认也不存在,需要手动创建,services.cfg 文件主要用于定义监控的服务和主机资源,例如监控 http 服务、ftp 服务、主机磁盘空间、主机系统负载等等。

#################  ixdba  web  #####################
define service{
        use                      local-service  #引用 local-service 服务的属性值,local-service 在 templates.cfg 文件中进行了定义。
        host_name                  web  #指定要监控哪个主机上的服务,“web”在 hosts.cfg 文件中进行了定义。
        service_description      PING  #对监控服务内容的描述,以供维护人员参考。
        check_command          check_ping!100.0,20%!500.0,60% #指定检查的命令,check_ping 命令在 commands.cfg 中定义,后跟两个参数,命令与参数间用! 分割。
        }

define service{
        use                            local-service
        host_name                  web
        service_description      SSH
        check_command        check_ssh    # check_ssh 命令也在 commands.cfg 中定义。
        }

define service{
        use                              local-service
        host_name                    web
        service_description        SSHD
        check_command          check_tcp!22
        }

7、contacts.cfg 文件
contacts.cfg 是一个定义联系人和联系人组的配置文件,当监控的主机或者服务出现故障,nagios 会通过指定的通知方式(邮件或者短信)将信息发给这里指定的联系人或者使用者。

define contact{
        contact_name                    sasystem  #联系人名称
        use                            generic-contact #引用 generic-contact 的属性信息,其中“generic-contact”在 templates.cfg 文件中进行定义
        alias                          sa-system  #联系人别名
        email                          ixdba@126.com  #联系人的邮件地址
        }

define contactgroup {
      contactgroup_name    admins #联系人组名称
      alias                system administrator group #联系人组描述
      members              sasystem  #联系人组成员,其中“sasystem”就是上面定义的联系人
}

8、timeperiods.cfg 文件
此文件只要用于定义监控的时间段,下面是一个配置好的实例:

# 下面是定义一个名为 24×7 的时间段,即监控所有时间段
define timeperiod{
        timeperiod_name 24×7 
        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
        }

# 下面是定义一个名为 workhours 的时间段,即工作时间段。
define timeperiod{
        timeperiod_name workhours
        alias          Normal Work Hours
        monday          09:00-17:00
        tuesday        09:00-17:00
        wednesday      09:00-17:00
        thursday        09:00-17:00
        friday          09:00-17:00
        }

9、cgi.cfg 文件
此文件用来控制相关 cgi 脚本,如果想在 nagios 的 web 监控界面执行 cgi 脚本,例如重启 nagios 进程、关闭 nagios 通知、停止 nagios 主机检测等,这时就需要配置 cgi.cfg 文件了。

由于 nagios 的 web 监控界面验证用户为 test,所以只需在 cgi.cfg 文件中添加此用户的执行权限就可以了,需要修改的配置信息如下:

default_user_name=test
authorized_for_system_information=nagiosadmin,test
authorized_for_configuration_information=nagiosadmin,test
authorized_for_system_commands=test
authorized_for_all_services=nagiosadmin,test
authorized_for_all_hosts=nagiosadmin,test
authorized_for_all_service_commands=nagiosadmin,test
authorized_for_all_host_commands=nagiosadmin,test

10、nagios.cfg 文件
nagios.cfg 默认的路径为 /usr/local/nagios/etc/nagios.cfg,是 nagios 的核心配置文件,所有的对象配置文件都必须在这个文件中进行定义才能发挥其作用,这里只需将对象配置文件在 Nagios.cfg 文件中进行引用即可。

log_file=/usr/local/nagios/var/nagios.log
“log_file”变量用来定义 nagios 日志文件的路径。
cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/services.cfg
cfg_file=/usr/local/nagios/etc/commands.cfg
cfg_file=/usr/local/nagios/etc/contacts.cfg
cfg_file=/usr/local/nagios/etc/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/templates.cfg
“cfg_file”变量用来引用对象配置文件,如果有更多的对象配置文件,在这里依次添加即可。
object_cache_file=/usr/local/nagios/var/objects.cache
该变量用于指定一个“所有对象配置文件”的副本文件,或者叫对象缓冲文件

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计17307字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7990471
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛 NAS-5:飞牛 NAS 中的 Docker 功能介绍 大家好,我是星哥,今天给大家带来如何在...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...