首页 > 代码库 > Nagios部署与配置

Nagios部署与配置

 

 

 

 

 

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很重要的功能之一,但是,同样的,Nagios自身业没有报警部分的代码,甚至没有插件,而是交给用户或者其他 相关开源项目组去完成

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

    技术分享

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等客户端,根据监控机的请求执行监控,然后将结果回传给监控机。

防火墙已关闭/iptables:Firewall is not  running

SELINUX=disabled

四.实验目标

主机名      要监控的服务

     cpu负载

                          当前登录的非用户数

                          是否开启80端口

                         是否活动

  Nagios-server     /分区使用情况

                         是否开启ssh服务

                         Swap分区使用情况

                         总进程数

----------------------------------------------------------

  磁盘使用情况

                    Swap分区使用情况

                     僵尸进程数

Nagios-linux   Cpu负载

                     当前登录用户数

                     是否开启80端口

                     总进程数

-------------------------------------------------------------

   内存使用情况

   Nagios-windows   NSClient客户端 版本

                          运行时间

                          是否开启外3svc服务

五.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/

编译安装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

 

验证程序是否被安装

[A1] 

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

etc:Nagios配置文件所在目录

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

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

libexec:    nagios外部插件 所在目录

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

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

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


 [A1]切换到安装路径,也就是”/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

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

安装apache

配置apache

 技术分享

技术分享

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

 技术分享

技术分享

创建apache目录验证文件

技术分享   

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

查看认证文件的内容

[root@localhost ~]# cat /usr/local/nagios/etc/htpasswd

xiaoyu:$apr1$MFNBJhbt$8gQMv4fdErnpKPKy9NBHV.

启动aoache服务

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

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

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

技术分享

技术分享

 

 

 

 

 

Nagios部署与配置