nagios 监控自身


定义监控命令 commands.cfg

vim /usr/local/nagios/etc/objects/commands.cfg


#local_server check-host-alive command definition

define command{

command_namexxx #定义监控的名字(自定义)

command_linexxx #定义命令具体实现的功能 $USER1$ = /usr/local/nagios/libexec/ 变量在/usr/local/nagios/etc/resource.cfg中定义

}


#local_server check-host-alive command definition

define command{

command_namecheck-host-alive

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

}



定义监控对象 localhost.cfg


Localhost.cfg相当于是一个监控LINUX主机的模板,如果需要监控其他LINUX主机,可以把这个文件复制一份进行修改。


cp localhost.cfg linux.cfg

vim linux.cfg


define host {

use 监控使用的模板

host_name 被监控主机的主机名

alias被监控主机别名

address被监控主机IP地址

}



define host{

use linux-server

host_name localhost

alias localhost

address 127.0.0.1

}

use linux-server:加载linux-server的配置(linux-server已在templates.cfg中定义)

use local-service:加载local-service的配置(已在templates.cfg中定义)



查看templates.cfg:


define host{

name linux-server ; The name of this host template

use generic-host ; This template inherits other values from the generic-host template

check_period 24x7 ; By default, Linux hosts are checked round the clock

check_interval 5 ; Actively check the host every 5 minutes

retry_interval 1 ; Schedule host check retries at 1 minute intervals

max_check_attempts 10 ; Check each Linux host 10 times (max)

check_command check-host-alive ; Default command to check Linux hosts

notification_period workhours ; Linux admins hate to be woken up, so we only notify during the day

; Note that the notification_period variable is being overridden from

; the value that is inherited from the generic-host template!

notification_interval 120 ; Resend notifications every 2 hours

notification_options d,u,r ; Only send notifications for specific host states

contact_groups admins ; Notifications get sent to the admins by default

register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!

}



check_periaod 24X7: 检测的时间段为24X7,24X7在timeperiod.cfg

contact_groups admins:发通知给admins组,admins组在contacts.cfg中定义



加载监控对戏那个配置文件 nagios.cfg

vim /usr/local/nagios/etc/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/timperiods.cfg

cfg_file=/usr/local/nagios/etc/objects/templates.cfg

cfg_file=/usr/local/nagios/etc/objects/localhost.cfg


检查配置语法是否有误

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


启动nagios和httpd服务

service httpd restart

service nagios restart

chkconfig httpd on

chkconfig nagios restart


配置登录页面认证用户


进入WEB页面查看

http://ip/nagios



自定义监控项目


自定义监控对象


监控/boot分区

首先查看commands.cfg




定义监控的分区

vim localhost.cfg

define service{

use local-service

host_name localhost

service_description Boot Partition在nagios Services 中显示的名称

check_command check_local_disk!50%!40%!/boot

notifications_enabled 1是否开启提醒功能。1为开启,0为禁用

}


重启nagios

service nagios restart


notifications_enabled