Nagios的配置详解

Linux大全评论552 views阅读模式

安装完成配置文件会存放在/usr/local/nagios/etc下

cgi.cfg #CGI 配置文件

htpasswd.users #Apache 验证文件

nagios.cfg #Nagios 主配置文件

objects #象定文件目

resource.cfg #Nagios 源配置文件

主配置文件的一系列设置,会影响Nagios 守护进程,而且CGIs 程序组模块也此文件,在主配置文件里,也用来指定主机、主机组、服务、服务组、命令、通知人、通知人组等配置文件的位置

打开主配置文件 vim nagios.cfg里面定义了几个重要的配置文件位置

cfg_file=/usr/local/nagios/etc/objects/commands.cfg 定义监控命令的文件

cfg_file=/usr/local/nagios/etc/objects/contacts.cfg定义联系人的文件

cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg定义时间的文件位置

cfg_file=/usr/local/nagios/etc/objects/localhost.cf 定义监控的对象

##############################################################################

l看下定义时间的配置文件 vim /usr/local/nagios/etc/objects/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

}

意思是定义24x7不间歇监控,也是默认的,其他的都不用看,生产环境监控都是7x24小时

##############################################################################

l再看定义监控对象的文件 vim /usr/local/nagios/etc/objects/localhost.cf

可以以下的的格式添加进去来定义被监控的主机和服务

监控主机:

define host {

host_name localhost ------>主机的名字

address 192.168.18.50 ------>被监控主机的IP地址

check_command check-host-alive ------>监控使用的命令,在commands.cfg定义

notification_options d,u,r ------>“宕机,未知,恢复”进行通知

check_interval 1 ------>每一分钟检查一次

max_check_attempts 2 ------>失败2次报警

contact_groups admins ------>报警要通知的组

notification_interval 10 ------>每次通知的间隔,10分钟

notification_period 24x7 ------>通知的时间区间,随时

}

监控服务:

define service{

host_name localhost -------->服务的名字,必须和上面主机一致

service_description apache ---------->描述

check_period 24x7 ---------->监控时间

normal_check_interval 2 ---------->正常状态2分钟监控一次

retry_check_interval 1 ---------->非正常状态1分钟监控一次

max_check_attempts 5 ---------->出现5次报错,发送通知

notification_period 24x7 ---------->通知的时间区间,随时

notification_options w,u,c,r ---------->什么状态报警

check_command check_http ---------->使用的插件

}

注意:定义监控服务,必须先定义好监控这台主机,然后再在下面添加服务,且名字必须与这台主机的名字相对应

##############################################################################

l再看定义命令的文件vim /usr/local/nagios/etc/objects/commands.cfg

看里面其中一个例子

define command{

command_name check-host-alive

command_line $USER1$/check_ping -H $HOSTADDRESS$ -w3000.0,80% -c 5000.0,100% -p 5

}

意思是:当使用名字为check-host-alive的命令时,其实执行的是command_line定义的命令

详细解释这条命令:

$USER1$/check_ping-H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5

$USER1$:这是nagios的一个变量,等于/usr/local/nagios/libexec

check_ping:是一个插件,可以check_ping –help来看插件的参数

-H :后面填写是主机的名字或者IP

-w :警告

-c :严重错误

-p :发送几个包

这整句的意思是:给指定主机发送5个Ping包,如果延迟时间超过3秒或者丢包率超过80%为警告,如果5秒以上延迟或者丢包率为100%为严重错误

官方下载的所有插件都可—help来查看详细信息和用法,模式都和这个例子大同小异

##############################################################################

l接下来看定义联系人的文件 vim /usr/local/nagios/etc/objects/contacts.cfg

里面包含定义组和联系人

添加联系人:

define contact {

contact_name xiaocui ----------------->联系人的名字

alias xiaocui --------------------->别名

host_notification_period 24x7 --------->接收主机报警的时间

host_notification_options d,u,r ---------->接收主机什么状态的报警

service_notification_period 24x7 ------------>接收服务报警的时间

service_notification_options w,u,c,r -------->接收服务什么状态的报警

service_notification_commands notify-service-by-email ---->服务报警会发送mail

host_notification_commands notify-host-by-email ------>主机报警会发送mail

email root@163.com ------------------------->联系人邮箱

}

添加组:

define contactgroup{

contactgroup_name admins (定义组的名字)

members nagiosadmin,xiaocui (定义组里的成员)

}

##############################################################################

设定好配置文件重启或者/etc/init.d/nagiosreload(重新加载一下)

检查配置文件是否存在错误命令:

/usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg

企鹅博客
  • 本文由 发表于 2019年10月1日 02:40:47
  • 转载请务必保留本文链接:https://www.qieseo.com/158599.html

发表评论