通过yum安装Nagios

来源:互联网 发布:java合并两个json对象 编辑:程序博客网 时间:2024/05/26 08:41

前提: 主监控机先自行安装好Apache+php

测试环境
主监控机:CentOS 6.0  192.168.5.22
被监控机:CentOS 6.2  192.168.5.11

主监控机设置:
1、安装epel
# cat /etc/issue
CentOS release 6.0 (Final)
Kernel \r on an \m

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
2、安装nagios、nagios-plugin与nrpe (nagios 3.3.1版本)
# yum install nagios nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe

3、创建一个nagiosadmin 的用户用于Nagios的WEB接口登录,用户认证配置
# htpasswd -c /usr/local/nagios/etc/htpasswd.users admin
New password:
Re-type new password:
Adding password for user nagiosadmin

[/etc/nagios/passwd如果已经存在的话, 用户名/密码是: nagiosadmin/nagiosadmin]


4、修改/etc/httpd/conf.d/nagios.conf
修改保存用户密码文件
AuthUserFile /etc/nagios/passwd 修改成--> AuthUserFile /etc/nagios/htpasswd.users
保存退出

6、启动apache与nagios
# /etc/init.d/httpd restart
# /etc/init.d/nagios start

7、登陆http://localhost/nagios/,输入用户密码后查看是否正常运行
注:别忘记了nagios后面那个/,不然……



被监控机设置:
1、安装需要软件
# yum install nagios-plugins nagios-plugins-nrpe nrpe nagios-plugins-load nagios-plugins-disk nagios-plugins-swap

yum提示找不到nagios包的话可以先: rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2、配置nrpe
# vi /etc/nagios/nrpe.cfg 修改监控机的地址或域名
allowed_hosts=127.0.0.1,192.168.5.22

3、修改/etc/hosts.allow增加主监控机ip
# echo 'nrpe:192.168.5.22' >> /etc/hosts.allow

4、启动 NRPE 守护进程:

# /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d

可以将此命令加入 /etc/rc.local ,以便开机自动启动。
# echo "/usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d" >> /etc/rc.local

5、从主监控机上检查 NRPE 是否正常:
# /usr/lib/nagios/plugins/check_nrpe -H 192.168.5.11
NRPE v2.12
查看相应的端口:netstat -an |grep 5666
防火墙开启5666 允许局域网IP或固定IP连接


6. 在回到监控机:
添加nrpe的定义
# vi commands.cfg
# 'check_nrpe' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

7. 增加主监控机配置项11.cfg
define host{
use linux-server
host_name 192.168.5.11
alias 192.168.5.11
address 192.168.5.11
}
define service{
use generic-service
host_name 192.168.5.11
service_description load
check_command check_nrpe!check_load
}
define service{
use generic-service
host_name 192.168.5.11
service_description 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.5.11
service_description FTP
check_command check_ftp!21
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.5.11
service_description SSH
check_command check_ssh
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.5.11
service_description HTTP
check_command check_http
max_check_attempts 5
normal_check_interval 1
}

并把11.cfg添加到nagios主配置项
# echo "cfg_file=/etc/nagios/objects/11.cfg" >> /etc/nagios/nagios.cfg
其他机器如法炮制即可


8. 重启监控机nagios
# /etc/init.d/nagios reload

重新打开监控查看,是否已经有新机器上线!


9. Nagios邮件报警的配置

9.1 安装sendmail 组件

首先要确保sendmail 相关组件的完整安装,我们可以使用如下的命令来完成sendmail 的安装:

# yum install -y sendmail*

然后重新启动sendmail服务:

# service sendmail restart

然后发送测试邮件,验证sendmail的可用性:

# echo "Hello World" | mail david.tang@bsmart.cn

9.2 邮件报警的配置

修改contacts.cfg里面的邮件地址。

define contact{        contact_name                    David             #联系人的名称,这个地方不要有空格        use                             generic-contact   #引用generic-contact的属性信息,其中“generic-contact”在templates.cfg文件中进行定义        alias                           Nagios Admin        email                           david.tang@bsmart.cn //here        }


通过yum安装Nagios:  http://www.51bbo.com/archives/665

Nagios+139邮件短信通知: http://www.51bbo.com/archives/651

Nagios添加linux主机进行监控:  http://www.51bbo.com/archives/460

Nagios NRPE监控远程主机: http://blog.c1gstudio.com/archives/559

nagios配置——添加linux主机监控: http://lihuipeng.blog.51cto.com/3064864/570698

Linux下Nagios的安装与配置***:http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html


利用NRPE监控远程Linux上的“本地信息”

上面已经对远程Linux 主机是否存活做了监控,而判断远程机器是否存活,我们可以使用ping 工具对其监测。还有一些远程主机服务,例如ftp、ssh、http,都是对外开放的服务,即使不用Nagios,我们也可以试的出来,随便找一台机器看能不能访问这些服务就行了。但是对于像磁盘容量,cpu负载这样的“本地信息”,Nagios只能监测自己所在的主机,而对其他的机器则显得有点无能为力。毕竟没得到被控主机的适当权限是不可能得到这些信息的。为了解决这个问题,nagios有这样一个附加组件--“NRPE”,用它就可以完成对Linux 类型主机"本地信息的监控。

9.1 NRPE 工作原理

nrpe

NRPE 总共由两部分组成:
  • check_nrpe 插件,位于监控主机上
  • NRPE daemon,运行在远程的Linux主机上(通常就是被监控机)

按照上图,整个的监控过程如下:

当Nagios 需要监控某个远程Linux 主机的服务或者资源情况时:

  1. Nagios 会运行check_nrpe 这个插件,告诉它要检查什么;
  2. check_nrpe 插件会连接到远程的NRPE daemon,所用的方式是SSL;
  3. NRPE daemon 会运行相应的Nagios 插件来执行检查;
  4. NRPE daemon 将检查的结果返回给check_nrpe 插件,插件将其递交给nagios做处理。

注意:NRPE daemon 需要Nagios 插件安装在远程的Linux主机上,否则,daemon不能做任何的监控。



原创粉丝点击