1、南京地铁基于 Nagios 监控的自动化运维方案研究摘要:随着南京地铁的快速发展,AFC 系统服务器和网络设备规模越来越大,结构日趋复杂,操作系统与服务器种类繁多,对网络与系统的稳定性的要求与依赖程度也越来越高。网络化运营中 AFC 系统潜在的运维风险,直接影响的南京地铁的日常运营。本文对 Nagios 开源监控软件的安装配置、主要功能等方面进行研究从而探索开源监控软件在 AFC自动售检票系统中的应用。 关键词: 开源软件 Nagios 监控原理命令&工具 中图分类号:TP311.5 文献标识码:A 文章编号: Nagios 监控软件 1.1Nagios 简介 Nagios 监控软件是一款开源
2、的系统网络监测程序,Nagios 不但能够实现对系统 CPU,磁盘、网络等方面参数的基本系统监测,而且还能够监测包括 SMTP,POP3,HTTP,NNTP 等各种基本的服务类型。 1.2Nagios 的主要功能特点: 主机资源监控(CPU load、disk usage、system logs) ,也包括Windows 主机。 简单的 plugin 设计允许用户很容易的开发自己需要的检查服务,支持很多开发语言(shell scripts、C+、Perl、ruby、Python、PHP、C#等) 。 包含很多图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4
3、Nagios 等) 。 能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查 当服务或主机出现问题时发出通告,可通过 email, pager, sms 或任意用户自定义的 plugin 进行通知 能够自定义事件处理机制重新激活出问题的服务或主机 包括 Web 界面可以查看当前网络状态,通知,问题历史,日志文件等 1.3Nagios 监控原理 图 1 Nagios 监控原理 Nagios 的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。Nagios 会周期性的自动调用插件去检测服务器状态,同时 Nagios 会维持一个队列,所有插件
4、返回来的状态信息都进入队列,Nagios 每次都从队首开始读取信息,并进行处理后,把状态结果通过 web 显示出来。 (详见 图 1) 1.4 监控方式 Nagios 监控方式有两种,一种是利用 ssh 方式,执行 Nagios 的check_by_ssh 来执行被监控服务器上的插件程序,从而获取相关的信息。另外一种方式,是常用的方式。就是在被监控的服务器上安装监控引擎,对于 Linux/Unix 的服务器监控引擎为 NRPE 监控引擎,对于 windows 服务器监控引擎为 NSClient+,实现原理一致。 图 2 监控方式 按照(图 2)整个的监控过程如下: 1、nagios 会运行 c
5、heck_nrpe 这个插件,告诉它要检查什么; 2、check_nrpe 插件会连接到远程的 NRPE daemon,所用的方式是SSL; 3、NRPE daemon 会运行相应的 nagios 插件来执行检查; 4、NRPE daemon 将检查的结果返回给 check_nrpe 插件,插件将其递交给 nagios 做处理。 Nagios 安装与配置 2.1.1 安装前准备: nagios-2.9.tar.gz 下载地址:http:/www.nagios.org nagios-plugins-1.4.9.tar.gz 下载地址:http:/www.nagios.org nrpe-2.8.1
6、.tar.gz 下载地址:http:/www.nagios.org NSClient+-0.2.7.zip 下载地址:http:/ 开始安装 步骤 1、基础支持套件: gcc glibc glibc-common gd gd-devel xinetd openssl-devel # rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel 如果系统中没有这些套件,使用 yum 安装 # yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
7、步骤 2、创建 nagios 用户和用户组 # useradd -s /sbin/nologin nagios # mkdir /usr/local/nagios # chown -R nagios.nagios /usr/local/nagios 查看 nagios 目录的权限 # ll -d /usr/local/nagios/ 步骤 3、编译安装 Nagios #wget http:/ # tar zxvf nagios-3.4.3.tar.gz # cd nagios # ./configure -prefix=/usr/local/nagios # make all # chkcon
8、fig -list nagios 步骤 4、 安装 Nagios 插件 #wget http:/ # tar zxvf nagios-plugins-1.4.16.tar.gz # cd nagios-plugins-1.4.16 # ./configure -prefix=/usr/local/nagios # make & make install 2.2 配置 Nagios 步骤 A、按要求配置以下文件: 创建 hosts.cfg 文件来定义主机和主机组 创建 services.cfg 文件来定义服务 用默认的 contacts.cfg 文件来定义联系人和联系人组 用默认的 comman
9、ds.cfg 文件来定义命令 用默认的 timeperiods.cfg 来定义监控时间段 用默认的 templates.cfg 文件作为资源引用文件 步骤 B、验证配置文件正确性 Nagios 在验证配置文件方面做的非常到位,只需通过一个命令即可完成: # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 2.3 启动与停止 Nagios 1、启动 nagios 通过 nagios 命令的“-d”参数来启动 nagios 守护进程: # /usr/local/nagios/bin/nagios -d /usr/lo
10、cal/nagios/etc/nagios.cfg 2、通过 web 监控页停止 nagios 可以通过 web 监控页的 “Process Info“ - “Shutdown the Nagios process“来停止 nagios(见图 3) 图 3 配置选项 2.4 登录 Nagios 启动完成之后,登录 Nagios Web 监控页http:/192.168.1.108/nagios/ 查看相关信息。 (见图 4) 图 4 3Nagios 监控软件在 AFC 系统中的应用前景 随着 Nagios 开源监控软件在 AFC 系统中探索应用,将大大减少 AFC系统的建设运营成本,利用 Nagios 开源监控部署和使用,运维人员可以远程监控 AFC 系统内部各类服务器操作系统的运行状态信息。Nagios 监控软件将零碎的工作集中化处理,把复杂的工作简单有序化,把流程规范化,最大化地解放运维人员,提升人员效率,节约人力成本,提高系统的稳定性,更好的为地铁乘客提供安全、可靠、便捷的服务。