Nagios 安装配置

回复 收藏
Nagios 简介
是一个开源软件,可以监控网络设备网络流量、Linux/windows主机状态,甚至可以监控打印机
它可以运行在Linux上或windows上
基于浏览器的web界面方便运维人员查看监控项目的状态
支持web界面配置、管理操作
支持短信、邮件通知
可以自定义脚本实现自定义化监控
Nagios官网 http://www.nagios.org

一、安装
1.安装yum扩展源
32位:
[root@Kry103 ~]#rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
64位:
[root@Kry103 ~]#rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

linux系统位数查看
[root@Kry103 ~]# getconf LONG_BIT

2.安装nagios及其他程序
[root@Kry103 ~]# yum -y install  httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

3.设置nagios登录帐号密码
[root@Kry103 ~]# htpasswd -c /etc/nagios/passwd nagiosadmin
New password: 123123
Re-type new password: 123123
nagiosadmin:为帐号,不可自定义。
123123:为密码,可自定义。

4启动服务
[root@Kry103 ~]# service httpd start
[root@Kry103 ~]# service nagios start

5.登录nagios
浏览器中输入:http://IP/nagios
我的访问地址:http://192.168.0.103/nagios/
输入帐号密码登录。

二、添加监控客户端(无须nrpe实现监控)
无需nagios和nrpe,可以实现的监控,但是监控内容只限定于无须登录监控主机就能获取到的信息,如ping、ssh、http;
1.服务端添加监控对象
[root@Kry103 ~]# vim /etc/nagios/conf.d/192.168.0.136.cfg #创建以监控对象IP为配置文件名。
define host{
        use linux-server
        host_name 192.168.0.136
        alias 0.136
        address 192.168.0.136
        }

define service{
        use generic-service
        host_name 192.168.0.136
        service_description check_ping
        check_command check_ping!100.0,20%!200.0,50%
        max_check_attempts 5
        normal_check_interval 1
}

define service{
        use generic-service
        host_name 192.168.0.136
        service_description check_ssh
        check_command check_ssh
        max_check_attempts 5
        normal_check_interval 1
}

define service{
        use generic-service
        host_name 192.168.0.136
        service_description check_http
        check_command check_http
        max_check_attempts 5
        normal_check_interval 1
}

说明:
本地的nagios工具去连接远程机器,也就是说即使客户端不需要安装nagios-plugins及nrpe也是可以实现监控。
define service:定义监控服务,这里定义了ssh、ping、http。
max_check_attempts 5:表示检测5次都有问题才会告警,如果为1,检测到问题立即告警。
normal_check_interval 1 :重新检测的时间间隔,单位是分钟,默认是3分钟
notification_interval  60 :在服务出现异常后,故障一直没有解决,nagios再次对使用者发出通知的时间。单位是分钟。如果为0,所有事件只通知一次。

2.检测配置文件
[root@Kry103 ~]# nagios -v /etc/nagios/nagios.cfg
注意:nagios -v只能检测主配置文件。检测主配置文件时,会自动去检测所有的子配置文件,也包括conf.d下的子配置文件。如果指定检测子配置文件,即使子配置文件没有问题,也会报错。

3.重启服务
[root@Kry103 conf.d]# service nagios rstart

4.访问
直接浏览器访问:http://192.168.0.103/nagios/--点击services
如果报http错误,说明136机器上面80端口没被使用,安装一个nginx或者apache。
[img]C:\Users\Administrator\AppData\Local\YNote\data\smilezcj@163.com\856916c3969540189ab00081d97a8b52\clipboard.png[/img]


三、添加监控客户端(需要nrpe实现监控)
需要登录到监控主机上才能够获取到的信息,如负载、磁盘容量、内存使用率等等。
1.安装yum扩展源(客户端)
32位:
[root@Kry136 ~]#rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
64位:
[root@Kry136 ~]#rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2.安装nagios(客户端)
[root@kry136 ~]# yum -y install  nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

3.修改nrpe配置文件(客户端)
[root@kry136 ~]# vim /etc/nagios/nrpe.cfg
修改以下内容:
将:allowed_hosts=127.0.0.1
改为:allowed_hosts=192.168.0.103
将:dont_blame_nrpe=0
改为:dont_blame_nrpe=1

allowed_hosts #允许那台机器来链接你,如果指定多个用逗号隔开
dont_blame_nrpe #NRPE守护进程是否将允许客户(0为拒绝|1为允许

4.启动服务(客户端
[root@kry136 ~]# service nrpe start

5.编辑commands.cfg配置文件
[root@Kry103 ~]# vim /etc/nagios/objects/commands.cfg
末尾添加以下内容:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

conmmand_name :定义命令名称,可自定义。


6.编辑192.168.0.136.cfg配置文件
[root@Kry103 ~]# vim  /etc/nagios/conf.d/192.168.0.136.cfg
第二部分添加的内容,直接追加内容:
define host{
        use linux-server
        host_name 192.168.0.136
        alias 0.136
        address 192.168.0.136
        }

define service{
        use generic-service
        host_name 192.168.0.136
        service_description check_ping
        check_command check_ping!100.0,20%!200.0,50%
        max_check_attempts 5
        normal_check_interval 1
}

define service{
        use generic-service
        host_name 192.168.0.136
        service_description check_ssh
        check_command check_ssh
        max_check_attempts 5
        normal_check_interval 1
}

define service{
        use generic-service
        host_name 192.168.0.136
        service_description check_http
        check_command check_http
        max_check_attempts 5
        normal_check_interval 1
}

追加以下内容:
define service{
        use generic-service
        host_name 192.168.0.136
        service_description check_load
        check_command check_nrpe!check_load
        max_check_attempts 5
        normal_check_interval 1
}


define service{
        use generic-service
        host_name 192.168.0.136
        service_description check_disk_sda1
        check_command check_nrpe!check_hda1
        max_check_attempts 5
        normal_check_interval 1
}

define service{
        use generic-service
        host_name 192.168.0.136
        service_description check_disk_sda2
        check_command check_nrpe!check_hda2
        max_check_attempts 5
        normal_check_interval 1
}

说明:
check_nrpe:就是服务端commands.cfg配置文件中,command_name check_nrpe定义的。

check_load:这个的定义实在客户端nrpe.cfg中定义的检测脚本,打开文件可以发现调用的文件是/usr/lib64/nagios/plugins/check_loa,而参数-w是waming的意思,只要超过三个数(15,10,5)其中一个超过,就会编程waming,而-c则是critical.可以自定义修改界值,也可以直接执行命令。

check_command:定义监控触发界值。满足什么条件报Waming,满足什么条件报Critical

check_hda1:监控磁盘,在客户端/etc/nagios/nrpe.cfg中command中括号中定义的。

service_description:定义该监控内容描述,名称自定义取。

7.修改、添加磁盘监控(客户端)
因为df -Th查看到本机磁盘只有/dev/sda1、/dev/sda2
[root@kry136 ~]# vim  /etc/nagios/nrpe.cfg
修改以下内容:
将:
command[check_hda1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
改为:
command[check_hda1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1

在修改内容下添加以下内容:
command[check_hda2]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda2


8.检查配置文件
[root@Kry103 ~]# nagios -v /etc/nagios/nagios.cfg

8.重启服务
[root@Kry103 ~]# service nagios restart
[root@kry136 ~]# service nrpe restart

四、常见错误
1.登录nagios点击hosts时,报错:It appears as though you do not have permission to view information for any。
解决办法:重新设置nagios登录用户名为"nagiosadmin"
[root@Kry103 ~]# htpasswd -c /etc/nagios/passwd nagiosadmin

2.localhost监控报以下错误:HTTP WARNING: HTTP/1.1 403 Forbidden - 5159 bytes in 0.002 second response time
[img]C:\Users\Administrator\AppData\Local\YNote\data\smilezcj@163.com\922c3a306a874f7b80da2ef304fdd0aa\clipboard.png[/img]
解决办法:添加一个index.html文件
[root@Kry103 ~]# echo nagios > /var/www/html/index.html
[root@Kry103 html]# service httpd restart

3.[root@Kry103 conf.d]# nagios -v /etc/nagios/conf.d/192.168.0.136.cfg
  Error in configuration file '/etc/nagios/conf.d/192.168.0.136.cfg' - Line 1 (NULL value)
   Error processing main config file!
原因:nagios -v只能针对nagios.cfg配置文件使用,会自动去检测所有子配置文件,也包括conf.d里面的子配置文件,如果直接针对子配置文件使用,即使子配置文件没有问题,也会报错。
解决办法:直接去检测祝配置文件,如:nagios -v  /etc/nagios/nagios.cfg



2016-08-29 15:05 举报
已邀请:
0

星空的衣角

赞同来自:

多谢分享
0

Kry1702

赞同来自:


不用客气啊

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: