Nagios介绍

Nagios原理及工作机制

1. Nagios原理介绍

1)原理简介

Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。启动 Nagios后,它会周期性的自动调用插件去检测服务器状态,同时 Nagios 会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过 web 显示出来。

2)状态信息
  • Nagios可以识别4种状态返回信息。
  • 0(OK)表示状态正常/绿色
  • 1(WARNING)表示出现警告/黄色
  • 2(CRITICAL)表示出现非常严重的错误/红色
  • 3(UNKNOWN)表示未知错误/深黄色
3)监控对象
  • 本机的运行状态

  • 本机的服务的运行状态

  • 远程主机,可以是linuc/unix主机也可以是windows主机

  • 远程主机上的服务

  • 监控网络服务(SMTP、POP3、HTTP、PING等)

  • 监控主机资源(处理器负荷、磁盘利用率等)

4)功能特性
  • 监控网络服务(SMTP、POP3、HTTP、FTP、PING 等)
  • 监控本机及远程主机资源(CPU 负荷、磁盘利用率、进程 等)
  • 允许用户编写自己的插件来监控特定的服务,方便地扩展自己服务的检测方法,支持多种开发语言(Shell、Perl、Python、PHP 等)
  • 具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态。
  • 当服务或主机问题产生与解决时将告警发送给联系人(通过 EMail、短信、用户定义方式)
  • 可以支持并实现对主机的冗余监控。
  • 可用 WEB 界面用于查看当前的网络状态、通知和故障历史、日志文件等。

2. Nagios工作机制

1)监控方式
  • 被动监控
    被动监控是指由被监测的服务器主动上传数据到nagios监控系统中。这种监测方式提高了实时性(出现问题的时候,被监测的服务器可以及时上传数据通知nagios,从而使管理员可以尽快作出处理,而不用像主动监测中一样,非要等到下一个监测周期才能获知被监测服务器的状态)。NSCA就是可以实现Nagios被动监测的一个程序。
  • 主动监控
    nagios监控端按照检测周期主动地获取远程被监控主机的数据。nagios通过nrpe插件和snmp协议实现了对linux/unix服务器进行监控,同时通过snmp协议实现了对windows服务器、交换机、打印机等的监控。另外,nagios通过NSClient++客户端也可以对windows进行监控。
2)Nagios远端监控

Nagios通过NRPE外部构件来监控远程主机,在监控端需要安装NRPE插件,远程被监控端需要安装NRPE插件和Nagios插件。

  • nagios会运行check_nrpe这个插件,告诉它要检查什么。
  • check_nrpe插件会连接到远程被监控主机的NRPE daemon,所用的方式是SSL。
  • NRPE daemon运行本地的各种插件去检测本地的主机状态和服务状态
  • NRPE daemon把检测的结果传给主机端的 check_nrpe,check_nrpe 再把结果送到 Nagios状态队列中。
  • Nagios 依次读取队列中的信息,再把信息显示到web页面上。
3)检测类型
  • 直接检测
    检测的对象是运行 NRPE 的那台 Linux 主机的本地资源。

  • 间接检测
    当运行 Nagios 的监控主机无法访问到某台被监控主机,但是运行 NRPE 的机器可以访问得到的时候,运行 NRPE 的主机就充当一个中间代理,将监控请求发送到被监控对象上。

posted @ 2017-08-02 00:32  forbest  阅读(551)  评论(0编辑  收藏  举报