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.基础服务端安装:

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

[root@webserver ~]# yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe  //安装nagios相关包

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

[root@webserver ~]# 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服务及监控的服务:

[root@webserver ~]# /etc/init.d/httpd start
[root@webserver ~]# /etc/init.d/nagios start


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

wKioL1WCfELTfZG-AAEihCSXSKw002.jpg


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


wKiom1WCeqryBsyJAAW5c2DntfM256.jpg


点击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监控服务及文件配置:

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

[root@hpf-linux ~]# yum install -y nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe  //安装nagios监控相关包

[root@hpf-linux ~]# 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脚本文件:

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

define command{

         command_name    check_nrpe

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

         }


[root@webserver ~]# cd /etc/nagios/conf.d/

[root@webserver 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

}


[root@webserver ~]# 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服务:

[root@hpf-linux ~]#   /etc/init.d/nrpe start

在服务端上重启nagios服务:

[root@webserver ~]# /etc/init.d/nagios restart


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

wKioL1WCfKnxXyxyAAgEMFS_vvU066.jpg


4.配置邮件报警:

[root@webserver ~]#  vim /etc/nagios/objects/contacts.cfg

define contact{

        contact_name                nagios1

        use                                 generic-contact

        alias                               mail1

        email                             hpf_thqfsj@163.com

        }


define contact{

        contact_name               nagios2

        use                                generic-contact

        alias                              mail2

        email                            568347223@qq.com

        }


define contactgroup{

        contactgroup_name           common

        alias                                     common

        members                            nagios1,nagios2

        }


[root@webserver 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的定义配置里。
[root@localhost ~]# 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、验证报警邮件配置是否成功:

开启虚拟机邮件服务

[root@webserver ~]#  yum install -y sendmail  //安装邮件服务包

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


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

wKioL1WCiOWTxQqrAAUfz-fMY94418.jpg


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


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

wKioL1WCiQSBu1jfAAKRlpZKTLQ295.jpg



本文出自 “粗茶淡饭” 博客,请务必保留此出处http://cuchadanfan.blog.51cto.com/9940284/1663267

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zabbix的安装

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix由2部分构成,zabbixserver与可选组件zabbix agent。 一、Zabbix简介 1.1Zabbix简介   Zabbix是一个企业级的开源分布式监控解决方案&…

对fgets的理解1

摘自《linux程序设计 中文第四版》第94页。 转载于:https://www.cnblogs.com/pengdonglin137/archive/2013/03/10/2952421.html

普通用户的sudo权限,禁止root用户登录

假如增加用户zhangsan的sudo权限。 修改/etc/sudoers文件,在root下增加如下一行。 增加用户名zhangsan: 禁止root用户登录: 修改/etc/ssh/sshd_config文件, 将 PermitRootLogin前的#号去掉,yes改为no,重启n…

什么是 MVC ?

ylbtech-Architecture: MVCASP.NET中 MVC。 1.A,概念 MVC是一种目前广泛流行的软件设计模式,MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出 流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三 个层——…

zabbix邮件报警

原文出自http://www.iyunv.com/thread-22904-1-1.html 首先web端的配置顺序如下: 创建用户媒介-->创建用户组和用户-->针对trigger(触发器)添加报警动作,设置邮件发送用户及媒介1. 创建用户媒介创建用户媒介-->创建用户…

zabbix的入门到精通之zabbix的触发器Trigger

第1章 Trigger 1.1 创建一个trigger选择:ConfigurationHost双击: Trigger双击:Create Trigger(位置在右上角)后图下图所示NameTrigger的名字Expression添加Trigger表达式,双击add后添加Multiple PROBLEM events generationDescription对trigger的描述URL…

Zabbix 探索主机 “Discovery” 自动发现主机 详细图文教程

Zabbix 自动发现(Discovery)功能使用随着 监控 主机不断增多,有的时候需要添加一批机器,特别是刚用zabbix的童鞋 需要将公司的所有服务器添加到zabbix,如果使用传统办法去单个添加设备、分组、项目、图像…..结果应该是…

图解如何制作苹果OS X系统ISO光盘

当我们从网上下载的原版苹果系统是DMG格式的,要做系统引导必须做成ISO才能做系统盘,所以本文介绍在Windows7下如何来制作苹果系统光盘,各位黑苹果的童鞋要注意了。 准备以下三个东西。 1、苹果OS10.8种子下载 OS X 10.8 正式版种子.torrent 2…

zabbix的b编译安装

原文出自:http://www.ttlsa.com/zabbix/install-zabbix-on-linux-5-ttlsa/ 在了解《zabbix硬件、软件需求》之后,在你心里应该有备选的机器。今天开始安装zabbix。zabbix需要LNMP或者LAMP环境。环境的搭建不在本章范围内。 LNMP环境配置 Linux安装&#…

rsync+inotify实现服务器之间文件实时同步

原文转自http://dl528888.blog.51cto.com/2382721/771533/ 之前做了“ssh信任与scp自动传输脚本”的技术文档,此方案是作为公司里备份的方法,但在实际的运行中,由于主服务器在给备份服务器传输的时候,我们的主服务器需要备份的文件…

zabbix监控特定进程

原文出自http://www.2cto.com/os/201405/302249.html 由于一些服务器上跑着一些重要程序,需要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中添加自定义脚本对特定程序进行监控,最近看了zabbix的官方文档,发…

OMA 设备管理的通知发起的会话OMA Device Management Notification Initiated Session

介绍 一些设备不能持续侦听是否有需要连接的服务器。有的设备基于安全考虑不希望“开放一个端口”(比如主动接受连接)。无论如何,大多数设备可以接受未经请求的信息,有时也叫做“通知”。比如一些手持设备可以接收SMS文本短信息。…

【zabbix个性化监控之一】TCP连接数

一、在被监控端上设置 主要命令: netstat -an | awk /^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}1netstat -an | awk /^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}输出内容: TIME_WAIT 100 CLOSE_WAIT 5 FIN_WAIT1 6 ESTABLISHED 161 S…

CentOS 6.4下PXE+Kickstart无人值守安装操作系统

原文出自http://http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html 一、简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持…

CSS3属性box-shadow使用教程

CSS3的box-shadow属性可以让我们轻松实现图层阴影效果。我们来实战详解一下这个属性。 1. box-shadow属性的浏览器兼容性 先来看一个这个属性的浏览器兼容性: Opera: 不知道是从哪个版本开始支持的,我在发这篇文章测试的时候,正好更新了Opera到最新的10.…

mysql 5.7.13 安装配置方法图文教程(linux)

原文出自:http://www.jb51.net/article/87160.htm 1系统约定 安装文件下载目录:/data/software Mysql目录安装位置:/usr/local/mysql 数据库保存位置:/data/mysql 日志保存位置:/data/log/mysql 2下载mysql 在官网&am…

Linux LVM硬盘管理及LVM扩容

原文出自http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html 一、LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用&…

android系统框架()

Android系统框架介绍: 1.大体框架: -src目录: 主要是完成java代码的编写 -assets目录: 资源目录 -res目录: 存储图片,布局文件和字符串,菜单等文件 -bin目录: 输出文件夹,如生成的APK文件 -project.properties: 工程属性文件配置 -gen目录: 系统自动生成的源代码目录 R.java默认…

Linux(CentOS6.5)下编译安装Nginx1.10.1

原文出自:http://www.cnblogs.com/comexchan/p/5815753.html Linux(CentOS6.5)下编译安装Nginx1.10.1 首先在特权账号(root)下安装编译时依赖项: yum install gcc gcc-c perl -y 首先以非特权账号(本文以账号comex为例…

Zabbix 3.0 基础介绍 [一]

原文出自 http://www.abcdocker.com/abcdocker/1402 Zabbix 3.0 基础介绍 [上] zabbix 一、Zabbix介绍 zabbix 简介 Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以…