最近单位需要获取硬件的运维数据,尝试在30台机器上部署了nagios系统。现在讲主要学习经历和工作所得记录如下。与nagios齐名的是ganglia,它们之间主要的区别就是ganglia不能有短信通知功能。



. 什么是Nagios?




Nagios是一款用于系统和网络监控的应用程序。它可以在你设定的条件下对主机和服务进行监控,在状态变差和变好的时候给出告警信息。




Nagios最初被设计为在Linux系统之上运行,然而它同样可以在类Unix的系统之上运行。




Nagios更进一步的特征包括:



  1. 监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);
  2. 监控主机资源(处理器负荷、磁盘利用率等);
  3. 简单地插件设计使得用户可以方便地扩展自己服务的检测方法;
  4. 并行服务检查机制;
  5. 具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;
  6. 当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);
  7. 具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位;
  8. 自动的日志回滚;
  9. 可以支持并实现对主机的冗余监控;
  10. 可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;


系统需求




Nagios所需要的运行条件是机器必须可以运行Linux(或是Unix变种)并且有C语言编译器。你必须正确地配置TCP/IP协议栈以使大多数的服务检测可以通过网络得以进行。




但并非必须正确地配置Nagios里的CGIs程序,而一旦你要使用CGI程序时,你必须要安装以下这些软件...



  1. 一个WEB服务(最好是Apache
  2. Thomas Boutell制作的gd库版本应是1.6.3或更高(在CGIs程序模块statusmaptrends这两个模块里需要这个库)