Nagios部署与配置

摘要:
打印机等。当系统或服务状态异常时,第一时间发送电子邮件或短信警报通知操作和维护人员。它还包括Windows主机(使用NSCLIENT++插件)*您可以指定自己的插件通过网络收集数据,以监控任何情况(温度)*您可监控并支持SSH或SSK plus通道进行监控。您可以配置Nagio远程执行插件来远程执行脚本*简单的插件设计允许用户轻松开发自己的检查服务。

 Nagos是一款开源电脑系统和网络监视工具,能够有效监控windows,linux,Uninx的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知运维人员,在状态恢复后发出正常的邮件或短信报警通知

 #主要功能:                                       

*网络服务监控(STMP简单电子邮件服务;POP3邮件服务器;HTTP;NNTP;ICMP;SNMP;FTP;SSH)

*主机 资源监控(CPU locd,disk usage,system logs),也包括windows主机(使用NSCLIENT++ Plugin)

*可以指定自己编写的Plugin通过网络收集数据来监控任何情况(温度,警告。。。)

*可以监控支持SSH或SSK加通道方式进行监

可以通过配置Nagio远程 执行插件远程执行脚本

*简单的plugin设计允许用户很容易的开发自己 需要的检查服务,支持很多开发语言(shel scripts,c++,perl,ruby,python,php,c)

*包含很多图形化数据plugins(Nagiosgraph,Nagiosgrapher,PNP4Nagios等)

*可并行服务检查

*能够定义网络主机的层,允许逐级调查,就是从父主机开始向下检查,

*当服务或主机 出现 问题是发出通告 ,可通过emall,pager,sms或任意用户自定义的plugin进行通知

*自动日志 循环

*支持冗余监控

*包web界面可以查看当前网络状态,通知,问题历史,日志文件等

   

二.Nagios工作原理

Nagiosq的功能是监控服务和主机,但也是 他 自身并不包括这部分功能,所有的监控,检测功能都是通过各种插件来完成的。

启动Nagios后他会周期性的自动调用插件去检查服务器状态 ,同时Nagios会维持一个列队,所有插件返回来的状态信息都进入列队 ,Nagios每次都从队首开始读取信息,并进行处理,把状态结果通过web结果通过显示出来

   Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态,安装完成 后,在Nagios主目录下的/libexec里放有nagios自的可以使用的所有插件,如,check_disk是检查磁盘空间的插件,check_load是检查CPU负载的,等等。每一个插件可以通过运行 ./check_xxx –h 来查看使用方法和功能;

     Nagios可以识别4种状态返回信息,即0(OK)表示状态正常/绿色,1(WARNING)表示出现警告/黄色,2(CRITTCAL)表示出现 非常严重 的错误/红色,3(UNKNOWN)表示未知错误 、深黄色。Nagios根据插件返回来的值,来判断 监控对象的状态,并通过web显示出来,以提供管理员及时发现故障

          Nagios部署与配置第1张

再说报警功能,如果 监控系统发现问题不能报警那就没有意义了,所以报警也是nagios很重要的功能之一,但是,同样的,Nagios自身业没有报警部分的代码,甚至没有插件,而是交给用户或者其他 相关开源项目组去完成

  Nagios安装,是指基本平台,也就是Nagios软件包的安装,它是监控体系的框架,也是所有监控基础。

    Nagios部署与配置第2张

Nagios通过NRPE来远端管理服务

  1. Nagios执行安装在它里面的check_nrpe插件,并告诉check_nrpe去检测哪些服务。
  2. 通过SSL,check_nrpe连接远端 机子上的NRPE daemon
  3. NRPE运行本地的各种插件去检测本地的服务和状态
  4. 最后,NRPE把检测的结果传给主机端check_nrpe,check_nrpe在把结果 送到Nagios状态队列中,
  5. Nagios依次读取队列中信息,再把结果显示出来
  6. 三.实验环境

    Host Name

    OS

    IP

    Software

    Nagios-Server

    CentOS release 6.3 (Final)

    192.168.1.108

    Apache、Php、Nagios、nagios-plugins

    Nagios-Linux

    CentOS release 5.8 (Final)

    192.168.1.111

    nagios-plugins、nrpe

    Nagios-Windows

    Windows XP

    192.168.1.113 

    NSClient++

Server安装了nagios软件,对监控的数据做处理,并且提供web界面查看和管理,当然也可以对本机自身的信息 进行监控

Client安装了NRPE等客户端,根据监控机的请求执行监控,然后将结果回传给监控机。

五.Nagios服务端安装

5.1.基础支持套件:

Gcc glibc  glibc-common  gd  gd-devel  xinetd  openssl-devel

[root@localhost yum.repos.d]#rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel

[root@localhost yum.repos.d]# rpm -q gcc glibc glibc-common gd gd-devel xinetd

创建Nagios用户和用户组

[root@localhost ~]# useradd -s /sbin/nologin nagios

[root@localhost ~]# mkdir /usr/local/nagios

[root@localhost ~]# chown -R nagios:nagios  /usr/local/nagios

  查看nagios目录的权限         

 [root@localhost ~]# ll -d /usr/local/nagios/

drwxr-xr-x. 2 nagios nagios 4096 4月  23 15:52 /usr/local/nagios/

[root@localhost ~]# tar zxvf nagios-4.0.1.tar.gz  -C /usr/src/

[root@localhost nagios-4.0.1]# cd /usr/src/nagios-4.0.1

root@localhost nagios-4.0.1]# ./configure   --prefix=/usr/local/nagios

[root@localhost nagios-4.0.1]# make all

[root@localhost nagios-4.0.1]# make install

[root@localhost nagios-4.0.1]# make install-init

[root@localhost nagios-4.0.1]# make install-commandmode

[root@localhost nagios-4.0.1]# make install-config

[root@localhost nagios-4.0.1]# chkconfig --add nagios

[root@localhost nagios-4.0.1]# chkconfig --level 35 nagios on

[root@localhost nagios-4.0.1]# chkconfig --list nagios 

【目录详解】

切换到安装路径,也就是”/usr/local/nagios ”,看是否存在etc,bin,sbin,share,var这五个目录,如果存在则可以表明程序被正确的安装到系统了!nagios各个目录用途如下:

bin:      #Nagios可执行程序所在目录

etc:      #Nagios配置文件所在目录

sbin:   #nagios CGI文件所在目录,也就是执行外部命令所需要文件的所在的目录

share:   #nagios网页文件所在的目录

libexec:   #nagios外部插件 所在目录

var:      #nagios日志文件,lock等文件所在的目录

var/archives:      #nagios日志自动归档目

var/rw:                #用来存放 外部命令文件的目录

安装Nagios插件

[root@localhost ~]# tar zxvf nagios-plugins-1.5.tar.gz  -C /usr/src/

[root@localhost ~]# cd /usr/src/nagios-plugins-1.5/

[root@localhost nagios-plugins-1.5]# ./configureprefix=/usr/local/nagios

[root@localhost nagios-plugins-1.5]# make && make install

安装与配置apache和php

Ps:Apache和php不是 安装nagios所必须的,但是nagios提供了web监控界面 ,通过web监控界面,可以清晰的看到被监控主机,资源 的运行状态,因此 ,安装一个web服务是 很必要的

安装apache

配置apache

 Nagios部署与配置第3张

Nagios部署与配置第4张

为了安全起见,一般情况下让nagios的web监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf文件添加如下信息:

 Nagios部署与配置第5张

Nagios部署与配置第6张

创建apache目录验证文件

Nagios部署与配置第7张   

#在上面的配置中,之地给立刻目录验证文件htpasswd,这样就在/usr/local/nagios/etc/目录下创建一个htpasswd验证文件,当通URL路径就可以访问时就需要用户名和密码

[root@localhost ~]# cat /usr/local/nagios/etc/htpasswd    查看认证文件的内容

xiaoyu:$apr1$MFNBJhbt$8gQMv4fdErnpKPKy9NBHV.

[root@localhost ~]# /etc/init.d/httpd restart

-------------------nagios服务安装基本完成------------------

这时,我们可用web客户端浏览器访问

Nagios部署与配置第8张

Nagios部署与配置第9张

免责声明:文章转载自《Nagios部署与配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据挖掘:理论与算法(导论)SVN更改登录用户下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux网络 (三):网络测试

1.ping:测试主机之间的网络连通性 ping命令是基于Internet控制消息协议(ICMP协议)来工作的,ICMP报文通过IP协议来发送。 ping发送的是ICMP回显请求,回答的是回显应答报文。 常用选项参数: 1.1.用“-c"选项指定发送的测试报文数目 发送指定的数据包数默认值是3。 ping -c 3 www.baidu.com 1....

如何退出正在Sleep的线程

    今天有个同事问我Thread的Interrupe方法,这个方法用于终止另一个正在等待(Sleep/Wait/Join)状态的线程,如果那个线程未处于等待状态,则等到下次进入等待状态时再抛出。     这个方法的平时用的机会其实并不大,由于需要线程处于等待状态,很大程度上限制了使用的机会,因此问了下同事实际的使用场景,原来是某些线程进入了长时间的Sl...

Redis 下载与安装(Windows版)

1、Github下载地址:https://github.com/MicrosoftArchive/redis/releases 2、百度网盘下载地址:Redis-x64-3.2.100.zip   密码:kdfq 1、打开一个命令窗口,通过 cd 命令进入到你解压的目录 2、输入命令:redis-server redis.windows.conf ,启动...

Android编程 获取网络连接状态 及调用网络配置界面

获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能。 Android平台提供了ConnectivityManager 类,用于网络连接状态的检测。 Android开发文档这样描述ConnectivityManager的作用: Class that answers q...

配置MongoDB

MongoDB的安装过程是很简单的,但是配置就比较麻烦了,可能会遇到各种各样的问题,需要你有足够的耐心和仔细。 首先要在MongoDB的data文件夹里新建一个db文件夹和一个log文件夹:  然后在log文件夹下新建一个mongo.log:  然后将E:MongoDBin添加到环境变量path中,此时打开cmd窗口运行一下mongo命令,出现如下情况...

Java--详解WebService技术

Java--详解WebService技术 一、什么是 webservice WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。 谓远程调用,就是一台计算机a上...