Nagios 监控系统架构

时间:2023-03-09 00:05:27
Nagios 监控系统架构

Nagios 监控系统架设全攻略

简介: Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint。它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows 、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等。一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知。Nagios 结构简单,可维护性强,越来越受中小企业青睐,以及运维和管理人员的使用。同时提供一个可选的基于浏览器的 Web 界面,方便管理人员查看系统的运行状态,网络状态、服务状态、日志信息,以及其他异常现象.

Nagios 结构说明

Nagios
结构上来说, 可分为核心和插件两个部分。Nagios 的核心部分只提供了很少的监控功能,因此要搭建一个完善的 IT 监控管理系统,用户还需要在
Nagios 服务器安装相应的插件,插件可以从 Nagios 官方网站下载
http://www.nagios.org/,也可以根据实际要求自己编写所需的插件。

Nagios 可实现的功能特性

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

Nagios 监控实现原理

Nagios 软件需安装在一*立的服务器上运行,这台服务器称为监控中心,监控中心服务器可以采用 Linux 或 Unix 操作系统;每一台被监视的硬件主机或服务都运行一个与监控中心服务器进行通信的 Nagios 软件后台程序,也可以理解为 Agent 或插件均可。监控中心服务器读取配置文件中的指令与远程的守护程序进行通信,并且指示远程的守护程序进行必要的检查。虽然 Nagios 软件必须在 Linux 或 Unix 操作系统上运行,但是远程被监控的机器可以是任何能够与其进行通信的主机,根据远程主机返回的应答,Naigos 将依据配置进行回应;接着 Nagios 将通过本地的机器进行测试,如果检测返回值不正确,Nagios 将通过一种或多种方式报警;具体原理如下图所示:

图 1. Nagios 监控原理图
Nagios 监控系统架构

nagios-master安装

1.用户,目录权限设置

先增加用户 useradd nagios

mkdir /usr/local/nagios

chown -R nagios /usr/local/nagios

chgrp -R nagios /usr/local/nagios

2.安装 nagios-3.0.5.tar.gz

cd  /usr/local/src

wget  http://nchc.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.0.5/nagios-3.0.5.tar.gz

tar –zxvf  nagios-3.0.5.tar.gz

cd  usr/local/src/nagios-3.0.5

./configure --prefix=/usr/local/nagios

make all

make install

make install-init

make install-commandmode

make install-config

 

验证程序是否被正确安装。切换目录到安装路径(这里是/usr/local/nagios),看是否存在etc、bin、 sbin、 share、 var这五个目录,如果存在则可以表明程序被正确的安装到系统了。后表是五个目录功能的简要说明:

bin

Nagios执行程序所在目录,nagios文件即为主程序

etc

Nagios配置文件位置,初始安装完后,只有几个*.cfg-sample文件

sbin

Nagios Cgi文件所在目录,也就是执行外部命令所需文件所在的目录

Share

Nagios网页文件所在的目录

Var

Nagios日志文件、spid 等文件所在的目录

3.Nagios-plugins-1.4.13.tar.gz

wget  http://syslab.comsenz.com/downloads/linux/nagios-plugins-1.4.13.tar.gz

tar -zxvf nagios-plugins-1.4.13.tar.gz

cd  /usr/local/src/nagios-plugins-1.4.13

编译,指定路径为之前nagios的安装路径

./configure --prefix=/usr/local/nagios/

make

安装

make install

ls /usr/local/nagios/libexec/

会显示安装的插件文件,即所有的插件都安装在libexec这个目录下

4. 修改apache配置

修改apache的配置文件,增加nagios的目录,并且访问此目录需要进行身份验证

vi /usr/local/apache2/conf/httpd.conf,在最后增加如下内容

#setting for nagios 20070707

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin

<Directory "/usr/local/nagios/sbin">

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd

//用于此目录访问身份验证的文件

Require valid-user

</Directory>

Alias /nagios /usr/local/nagios/share

<Directory "/usr/local/nagios/share">

Options None

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd

//用于此目录访问身份验证的文件

Require valid-user

</Directory>

增加验证用户

也就是通过web访问nagios的时候,必须要用这个用户登陆.在这里我们增加用户abc:密码为abc

/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd abc

New password: (输入abc)

Re-type new password: (再输入一次密码)

Adding password for user abc

到这里nagios的安装也就基本完成了,你可以通过web来访问了.