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部署与配置的更多相关文章

  1. nagios部署配置流程

    nagios部署配置流程 nagios服务端:1.部署nagios服务端(参考nagios官方部署文档).nagios-plugin.php.apache2 2.需要在服务端添/etc/hosts中添 ...

  2. Nagios安装与配置

    安装包获取 Nagios https://sourceforge.net/projects/nagios/files/ Nagios Plugins https://www.nagios.org/do ...

  3. Rhel6-cacti+nagios+ganglia(nginx)配置文档

    (lnmp平台) 系统环境: rhel6 x86_64 iptables and selinux disabled 主机: 192.168.122.185 server85.example.com 1 ...

  4. Rhel6-cacti+nagios+ganglia(apache)配置文档

    (lamp平台) 系统环境: rhel6 x86_64 iptables and selinux disabled 主机: 192.168.122.119 server19.example.com 1 ...

  5. Tigase XMPP Server在CentOS部署和配置

    Tigase XMPP Server在CentOS部署与配置 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 以下讲述Tigase XMPP Server ...

  6. web缓存服务器varnish-4.1.6的部署及配置详解

    web缓存服务器varnish-4.1.6的部署及配置详解 1.安装varnish4.1.6安装依赖 yum install -y autoconf automake jemalloc-devel l ...

  7. 【转】mysql8.0 在window环境下的部署与配置

    [转]mysql8.0 在window环境下的部署与配置 今天在阿里云window服务器上配置mysql环境,踩了一些坑,分享出来.需要的朋友可以看看.额,或许有人要吐槽我为什么不在linux上去配置 ...

  8. nagios系列(五)之nagios图形显示的配置及自定义插件检测密码是否修改详解

    nagios图形显示的配置 在服务端安装相关软件 #1.图形显示管理的依赖库 yum install cairo pango zlib zlib-devel freetype freetype-dev ...

  9. Zookeeper集群部署与配置(三)

    在上一篇博客中我们讲解了<Zookeeper的单机配置>,此篇博客将继续介绍Zookeeper的集群部署与配置. 环境 集群配置的环境与单机配置的环境相同,唯一不同的就是集群是在多台服务器 ...

随机推荐

  1. Winform Timer用法,Invoke在Timer的事件中更新控件状态

    System.Timers.Timer可以定时执行方法,在指定的时间间隔之后执行事件. form窗体上放一个菜单,用于开始或者结束定时器Timer. 一个文本框,显示定时执行方法. public pa ...

  2. java中volatile不能保证线程安全

    今天打了打代码研究了一下java的volatile关键字到底能不能保证线程安全,经过实践,volatile是不能保证线程安全的,它只是保证了数据的可见性,不会再缓存,每个线程都是从主存中读到的数据,而 ...

  3. js判断一个数组是否为空

    var s = []; if(s.length == 0){ alert('空数组'); }

  4. Example011表单中修改内容

    <!-- 实例011表单中修改内容的方法 --> <!DOCTYPE html> <html lang="en"> <head> & ...

  5. ovs+dpdk numa感知特性验证

    0.介绍 本测试是为了验证这篇文章中提到的DPDK的NUMA感知特性. 简单来说,在ovs+dpdk+qemu的环境中,一个虚拟机牵涉到的内存共有三部分: DPDK为vHost User设备分配的De ...

  6. Unity应用架构设计(12)——AOP思想的实践

    想象一下,当程序所有的业务逻辑都完成的时候,你可能还来不及喘口气,紧张的测试即将来临.你的Boss告诉你,虽然程序没问题,但某些方法为什么执行这么慢,性能堪忧.领会了Boss的意图之后,漫长的排查问题 ...

  7. 使用JDK自带的MessageDigest计算消息摘要

    使用JDK自带的MessageDigest计算消息摘要 上代码 /** * 使用JDK自带MessageDigest */ public class MessageDigestUtils { /** ...

  8. Struts 之 通配符 路径匹配 常量用法 配置默认值

    Struts 框架学习 Action的开发的几种方式 方式1 : 继承ActionSupport     如果使用Struts校验功能,必须继承此类 方式2 : 实现Action接口 方式3 :不继承 ...

  9. Jenkins迁移job

    说明:从一个Jenkins服务器A将现有job迁移到另外一个Jenkins服务器B. 方法:You can copy or move build jobs between instances of p ...

  10. 还原数据库“XXX”时失败。System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份。

    标题: Microsoft SQL Server Management Studio------------------------------ 还原数据库“GoldBellXZDepot”时失败. ...