nagios 配置和使用

一、安装 nagios

yum install -y epel-release

yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

(其中httpd作为nagios的web端接口)

还可以通过httpd的工具来生成nagios的登录密码:

htpasswd -c /etc/nagios/passwd nagiosadmin

检测配置文件是否有问题:

nagios -v /etc/nagios/nagios.cfg

启动服务:

service httpd start

service nagios start

浏览器访问:

httpd://ip/nagios

二、nagios 监控客户端

需要在客户端机器上安装nagios服务:

yum install -y epel-release

yum install -y  nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

打开配置文件/etc/nagios/nrpe.cfg

找到“allowed_hosts=127.0.0.1”改为“allowed_hosts=127.0.0.1,192.168.1.11”后面ip为服务端ip

找到“dont_blame_nrpe=0”改为“dont_blame_nrpe=1”

启动服务:

service nrpe start

三、nagios 服务端配置

打开文件/etc/nagios/nagios.cfg,找到“cfg_dir”,这是定义监控文件的存放目录,我们可以定义很多个目录,以后把新增加的主机信息文件全部放到这里。

在我们定义的目录下,创建子配置文件,添加被监控主机信息:

cd /etc/nagios/conf.d/

vim 192.168.1.12.cfg

define host{

use     linux-server
       host_name       192.168.1.12
       alias                   192.168.1.12
       address             192.168.1.12
}
define service{
       use     generic-service
       host_name       192.168.1.12
       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.1.12
       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.1.12
       service_description         check_http
       check_command           check_http
       max_check_attempts 5
       normal_check_interval 1
}

##注 意,这 里的IP是client端的IP,监控的项目有三个ping, ssh, http。其实这三个项目使用的脚本都为本地脚本,也就是说,即使远程主机没有安装nagios和nrpe同样可以监控这些项目。但是如果想监控load,disk,等等就需要通过nrpe服务来搞定了,道理很简单,load和disk都需要登录到远程主机上去获得信息,而ping,ssh,http都不需要的。这个到远程主机获取相关的信息的过程是由nrpe完成的。如果你的client上没有启动nrpe服务那么我们是无法获取远程主机的load和disk等信息的。下面笔者配置一下使用nrpe来监控远程主机的相关项目。

在server端编辑/etc/nagios/objects/commands.cfg

在文件的最后添加一行内容:

define command{

command_name  check_nrpe

command_line  $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

}

继续修改子配置文件

cd /etc/nagios/conf.d/

vim 192.168.1.12.cfg          #添加如下内容

define service{

use     generic-service
       host_name       192.168.1.12
       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.1.12
       service_description     check_disk_hda1
       check_command           check_nrpe!check_hda1
       max_check_attempts 5
       normal_check_interval 1
}

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

##这里需要解释一下相关的“check_command”, 先看这个“check_nrpe!check_load” 这里的check_nrpe就是上面/usr/local/nagios/etc/objects/commands.cfg中刚刚定义的,后面的check_load是在远程主机上定义的一个命令脚本。具体在哪里定义稍后介绍。为什么中间加个”!”,这个是nagios特有的形式,无需关心。下面需要到远程主机上去定义上面用到的脚本了。

服务端重启服务:

service nagios restart

客户端重启服务:

service nrpe restart

四、在nagios客户端自定义脚本监控

将监控脚本写完之后,拷贝到/usr/lib64/nagios/plugins/目录下,当然此目录在配置文件/etc/nrpe.d/check_log2s3.cfg中已经定义。

vim /etc/nrpe.d/check_log2s3.cfg

command[check_log2S3]=sudo /usr/lib64/nagios/plugins/logmonitoring.sh

##当然,这些内容可以直接写进/etc/nagios/nrpe.cfg中,但是不方便进行管理,因此我们可以在/etc/nrpe.d/目录中将每个监控脚本的服务独立出来。

重启客户端服务:

service nrpe restart

到服务端上添加相应的service:

vim 192.168.1.12.cfg

##加入如下内容

define service{
       use     generic-service
       host_name       192.168.1.12
       service_description     check_logs3
       check_command           check_nrpe!check_logs3
       max_check_attempts 5
       normal_check_interval 1
}

重启服务端服务:

service nagios restart

时间: 2024-11-05 22:55:34

nagios 配置和使用的相关文章

实战Nagios NSCA方式监控Linux系统资源使用情况 -- Nagios配置篇 -- 被监控端

Nagios要求被监控端按照约定格式定时将数据发送到Nagios端.监控包括节点和服务2种. 节点监控约定数据格式如下: [<timestamp>] PROCESS_HOST_CHECK_RESULT;<host_name>;<host_status>;<plugin_output> 格式很容易理解,数据提交时间戳,被监控节点名称,节点状态(UP/DOWN/UNREARCHABLE),插件自定义的额外数据.状态具体每个字段的解释如下: 1. timestam

烂泥:学习Nagios(二):Nagios配置

本文首发于烂泥行天下 nagios安装完毕后,我们现在就来配置nagios.有关nagios的安装,可以参考<烂泥:学习Nagios(一):Nagios安装>这篇文章. 说明:为了和nagios版本的保持一直,我们在此使用的是nagios最新版nagios-4.1.0rc1. 注意:最新版的nagios可在web页面查看其运行的PID. 一.nagois监控对象 nagios监控的对象比较多,我们可以从颗粒度的不同进行划分,分为笼统对象和详细对象. 1.1笼统对象 nagios监控的笼统对象可

ubuntu下nagios配置

参考文献: http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html http://my.oschina.net/duangr/blog/183160 设定文件权限 chown -R nagios.nagios envision_* chown -R nagios.nagios envision_* 1.创建用户并设定密码 # useradd -s /sbin/nologin nagios 修改nagios密码 sudo pass

nagios配置过程详解

一.nagios配置过程详解 1.nagios默认配置文件介绍 nagios安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下,每个文件或目录含义如下表所示: 2.配置文件之间的关系 在nagios的配置过程中涉及到的几个定义有:主机.主机组,服务.服务组,联系人.联系人组,监控时间,监控命令等,从这些定义可以看出,nagios各个配置文件之间是互为关联,彼此引用的. 成功配置出一台nagios监控系统,必须要弄清楚每个配置文件之间依赖与被依赖的关系,最重要的有四点:

Nagios配置—添加linux主机监控

nagios安装请参看:Nginx平台安装Nagios监控服务 下面是我添加linux监控机的过程,如有错误或者不当的地方请指出: 测试环境: 监控主机:nagios+nagios插件+nrpe+网站平台 192.168.1.210 被监控机:nagios插件+nrpe   192.168.1.211 1.首先在监控主机上安装nrpe,nagios只能监控一些外部的信息,例如:ftp端口有没有开放,ssh端口有没有开放,ping值如何之类的,如果想监控linux主机一些本地的信息如:硬盘使用情况

实战Nagios NSCA方式监控Linux系统资源使用情况 -- Nagios配置篇 -- Nagios Server端

关于nrpe的方式网上已经有很多很好的总结,我现在说说在我们系统中如何是用NSCA方式来获取我们需要的被监控节点的资源使用情况信息. 先讲讲Nagios Server端的基本配置: 1. nagios web gui 访问配置,系统中使用的是nagios core中推荐的配置方式,通过apache httpd访问nagios web,安装nagios的时候会自动寻找系统中安装的httpd,把nagios的httpd文件放到httpd的conf.d目录下,这样,只要生成一次nagios web访问

nagios配置安装

Nagios官网:https://www.nagios.org/ nagios重状态和结果,支持告警,没有数据历史,不用数据库,不成图像,不支持web配置,也可以自己开发脚本定制个性化的监控,支持多插件. 监控日志:log_file=/var/log/nagios/nagios.log Web访问原因:/etc/httpd/conf.d/nagios.conf yum nagios默认路径/etc/nagios,同时httpd.php被作为依赖安装 yum install -y nagios-p

监控和安全运维 1.7 nagios配置邮件告警

8. 配置邮件告警 服务端 vim /etc/nagios/objects/contacts.cfg 增加: define contact{ contact_name 123 use generic-contact alias denny email 836503270@qq.com } define contact{ contact_name 456 use generic-contact alias aaa email [email protected] } define contactgr

2.3 nagios 配置邮件告警

目前nagios只能在浏览器上查看各个机器各个服务的状态,当某个机器宕掉或者某个服务宕掉时,我们是不知道的,因为我们不可能时时盯着服务看.这时,就需要用到告警系统了,让它自动化,当发现问题时及时通知我们.下面配置使用发邮件的方式来实现告警. 在服务端操作! 首先定义邮件接受者. [[email protected] ~]# vim /etc/nagios/objects/contacts.cfg define contact{         contact_name