linux下搭建nagios监控

一、什么是nagios

1.nagios 简介

Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。

Nagios是十分受欢迎的、开源且免费的计算机及网络系统监控软件。Nagios是“Nagios Ain‘t Gonna Insist On Sainthood”的缩写。它最早是在1999年以“NetSaint”发布。Nagios主要应用在Linux和Unix平台环境下的监控,但通过插件,也可以监控MS Windows系统的主机。Nagios在LinuxCon 2010 Poll并选为最受欢迎的IT运维工具。它被Infoworld在2009年评为最佳开源软件,同时也是该年度的SourceForge社区的系统管理工具最佳选择。Nagios也被很多知名企业所采用,包括AOL,DHL,At&t,欧莱雅,德州仪器,Siemens COM CZ,时代华纳有线,Yahoo等。

2.Nagios的主要功能特点:

- 监视网络服务 (SMTP, POP3, HTTP, NNTP, PING等)

- 监视主机资源 (进程, 磁盘等)

- 简单的插件设计可以轻松扩展Nagios的监视功能

- 服务等监视的并发处理

- 错误通知功能 (通过email, pager, 或其他用户自定义方法)

- 可指定自定义的事件处理控制器

- 可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等

- 可以通过手机查看系统监控信息

二、nagios 监控环境搭建

1.搭建环境介绍:

hostname IP 系统
服务端 webserver 192.168.1.20 CentOS 6.6
客户端 hpf-linux 192.168.1.110 CentOS 6.6

2.基础服务端安装:

[[email protected] ~]# yum install -y epel-release  //若机器安装的有epel扩展源则省略此步骤

[[email protected] ~]# yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe  //安装nagios相关包

[[email protected] ~]# htpasswd -c /etc/nagios/passwd nagiosadmin  //生成登录nagios后台的帐号及密码
New password: 
Re-type new password: 
Adding password for user nagiosadmin

[[email protected] ~]# nagios -v /etc/nagios/nagios.cfg   //检测nagios配置文件是否错误

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

启动服务端nagios服务及监控的服务:

[[email protected] ~]# /etc/init.d/httpd start
[[email protected] ~]# /etc/init.d/nagios start

登录浏览器输入 http://ip/nagios ,查看服务是nagios是否搭建成功

通过输入刚才生成的密码进入nagios后台管理;

点击serviers查看监控,根据监控的服务是否正常进行调试;

刚开始http服务能会有warning,错误提示为HTTP WARNING: HTTP/1.1 403 Forbidden - 5152 bytes in 0.001 second response t;

原因为:nagios监控HTTP时,会监控到/var/www/html/下面的index.html文件,若没有就会提示错误,创建一个文件即可!创建后等一会便会将监控状态变为OK;

3.增加服务端nagios 监控机(增加监控客户端)

客户端安装nagios监控服务及文件配置:

[[email protected] ~]# yum install -y epel-release //若客户端已安装epel扩展源则省略此步骤

[[email protected] ~]# yum install -y nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe  //安装nagios监控相关包

[[email protected] ~]# vi /etc/nagios/nrpe.cfg

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

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

下面两个配置文件的更改是根据nagios服务端添加的监控服务(check_hda1)进行更改的:

command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1

command[check_hda2]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda2

配置服务端nagios脚本文件:

[[email protected] conf.d]# vi /etc/nagios/objects/commands.cfg  //在该配置文件下添加以下内容

define command{

command_name    check_nrpe

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

}

[[email protected] ~]# cd /etc/nagios/conf.d/

[[email protected] conf.d]# vi 192.168.1.110.cfg 
define host{
         use                                 linux-server            
         host_name                    192.168.1.110
         alias                               1.110
         address                          192.168.1.110
         }

define service{
         use                                  generic-service
         host_name                     192.168.1.110
         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.110
         service_description       check_ssh
         check_command           check_ssh
         max_check_attempts      5   #当nagios检测到问题时,一共尝试检测5次都有问题才会告警,如果该数值为1,那么检测到问题立即告警
        normal_check_interval    1   #重新检测的时间间隔,单位是分钟,默认是3分钟
        notification_interval       60  #在服务出现异常后,故障一直没有解决,nagios再次对使用者发出通知的时间。单位是分钟。如果你认为,所有的事件只需要一次通知就够了,可以把这里的选项设为0。 
}

define service{
         use                                  generic-service
         host_name                     192.168.1.110
         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.1.110

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.110

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.110

service_description          check_disk_hda2

check_command              check_nrpe!check_hda2

max_check_attempts        5

normal_check_interval     1

}

[[email protected] ~]# nagios -v /etc/nagios/nagios.cfg   //检测配置文件是否正确

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

在客户端启动nrpe服务:

[[email protected] ~]#   /etc/init.d/nrpe start

在客户端上重启nagios服务:

[[email protected] ~]# /etc/init.d/nagios restart

在浏览器上查看nagios服务的监控是否正常显示:

4.配置邮件报警:

[[email protected] ~]#  vim /etc/nagios/objects/contacts.cfg

define contact{

contact_name                nagios1

use                                 generic-contact

alias                               mail1

email                             [email protected]

}

define contact{

contact_name               nagios2

use                                generic-contact

alias                              mail2

email                            [email protected]

}

define contactgroup{

contactgroup_name           common

alias                                     common

members                            nagios1,nagios2

}

[[email protected] conf.d]# vi 192.168.1.110.cfg

在上面的192.168.1.110.cfg 配置文件有如下一段内容:

define service{

use                                   generic-service

host_name                      192.168.1.110

service_description        check_load

check_command           check_nrpe!check_load

max_check_attempts      5

normal_check_interval   1

}

将上面一段配置的最后添加以下四个语句:

contact_groups        common

notifications_enabled  1    #是否开启提醒功能。1为开启,0为禁用。一般,这个选项会在主配置文件(nagios.cfg)中定义,效果相同。

notification_period   24x7   #发送提醒的时间段。非常重要的主机(服务)我定义为7×24,一般的主机(服务)就定义为上班时间。如果不在定义的时间段内,无论什么问题发生,都不会发送提醒。

notification_options    w,u,c,r   #这个是service的状态。w为waning, u为unknown, c为critical, r为recover(恢复了),类似的还有一个  host对应的状态:d,u,r   d = 状态为DOWN, u = 状态为UNREACHABLE , r = 状态恢复为OK,需要加入到host的定义配置里。
[roo[email protected] ~]# nagios -v /etc/nagios/nagios.cfg  //检测配置文件是否错误

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

5、验证报警邮件配置是否成功:

开启虚拟机邮件服务

[[email protected] ~]#  yum install -y sendmail  //安装邮件服务包

[[email protected] ~]#  /etc/init.d/sendmail start   //启动邮件服务
[[email protected] ~]# netstat -lnp |grep sendmail   //查看邮件服务开启的端口
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1011/sendmail

在浏览器上配置163邮箱的白名单以防止把报警邮件当成垃圾邮件:

[[email protected] ~]# /etc/init.d/nrpe stop  //在客户端关闭nrpe服务看服务端是否发送报警邮件;
Shutting down nrpe:                                        [确定]

报警邮件发送时间会有一段时间的延时,需要耐心等待;

时间: 2024-10-12 22:24:00

linux下搭建nagios监控的相关文章

Nginx下搭建Nagios监控平台(转载)

Nagios依赖PHP环境和perl环境,由于Nginx不支持Perl的CGI,需先来搭建Perl环境,Nagios原理介绍略. 文章原出处:https://blog.linuxeye.com/312.html1.下载最新稳定源码包和Perl脚本 mkdir nagios-cacti cd nagios-cacti wget http://www.cpan.org/modules/by-module/FCGI/FCGI-0.74.tar.gz wget http://www.cpan.org/a

Linux系统搭建Nagios监控平台

一.首先在Nagios监控的服务器部署 # 安装Nagios软件及其依赖的软件 [[email protected] ~]# yum install -y httpd php gcc glibc glibc-common net-snmp nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe gd gd-devel openssl openssl-devel # 定义Nagios登陆的账号与密码 [[email pro

linux 下搭建zabbix 监控

一.什么是zabbix 1.zabbix的简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. 能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题. zabbix 由2部分构成,zabbix server 与可选组件zabbix agent. zabbix server 可以通过SNMP,zabbix agent ,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可

linux下搭建cacti监控

一.cacti 监控软件简介        1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存         和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户.因此,snmp和rrdtool是         cacti的关键.Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成.        2. Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名.主机ip.snmp   团

centos 搭建 nagios 监控系统.

linux下搭建nagios监控 一.什么是nagios 1.nagios 简介 Nagios是一个监视系统运行状态和网络信息的监视系统. Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等. Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态, 各种系统问题,以及日志等等. Nagios是十分受欢迎的.开源且免费的计算机及网络系统监控软件. Nagios是"Nagios Ain't Gonna Insi

yum搭建nagios监控linux&&window及邮件报警

本文是小弟整合几位大神的文章,见笑@@ Linux利用sendmail和fetion发送报警通知 nagios监控windows主机 && linux主机 CentOS 5/6.X 使用 EPEL YUM源: 实验环境: 两台64位的centos-6.6 一台window-server-2003 安装网络yum源: centos5.x--32位 [[email protected] ~]# wget http://mirrors.yun-idc.com/epel/5/i386/epel-r

linux Centos下搭建性能监控Spotlight on Unix

公司要做压力测试,有Linux服务器一台,系统Centos6.5,为了直观的展示系统性能,更好的去分析服务器,故要搭建一个监控.闲言休讲,直奔主题. 首先,Linux服务器一台:系统Centos6.5 其次,在我的笔记本上安装监控软件客户端 软件下载地址链接: 链接:http://pan.baidu.com/s/14Vwlw     密码:tmw4 配置spotlight登陆用户,注意spotlight默认不能使用root用户进行连接,需要用户自己创建一个具有root权限的用户.具体方法新建账号

linux下安装nagios

本篇介绍在linux主机上安装nagios,监控本机. 实验环境:rhel5.6.nagios-3.2.3.tar.gz.nagios-plugins-1.4.15.tar.gz 实验过程: 本实验有个小捷径,就是先安装apache,然后解压nagios,将解压出的dosc文档拷贝到/var/www/html下,然后通过linux浏览器访问http://localhost/docs,查看nagios安装说明文档,对照着官方安装文档可以事半功倍. 安装nagios前要先把selinux关掉(roo

在CentOS 6.5下搭建Nagios

Nagios是一款很棒的监控工具,可以帮助你监控你的网络中的服务器等等,并且具有邮件问题提醒等功能,并且可以结合Nagios的硬件来监控机房的温度并实时查询和报警. 免费版的Nagios只能监控7台(记不清了,也可能是6台),但是对于小型的企业,重要的几台服务器被Nagios实时监控应该够用了. 配置环境:1)CentOS 6.5 作为监控主机,IP:10.0.0.30(根据自己公司需要改变) 2)客户机: windows server  2008R2 , windows 7, windows