论文部分内容阅读
摘要:随着南京地铁的快速发展,AFC系统服务器和网络设备规模越来越大,结构日趋复杂,操作系统与服务器种类繁多,对网络与系统的稳定性的要求与依赖程度也越来越高。网络化运营中AFC系统潜在的运维风险,直接影响的南京地铁的日常运营。本文对Nagios开源监控软件的安装配置、主要功能等方面进行研究从而探索开源监控软件在AFC自动售检票系统中的应用。
关键词: 开源软件Nagios监控原理命令&工具
中图分类号:TP311.5 文献标识码:A 文章编号:
Nagios监控软件
1.1Nagios简介
Nagios监控软件是一款开源的系统网络监测程序,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、PNP4Nagios等)。
能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查
当服务或主机出现问题时发出通告,可通过email, pager, sms 或任意用户自定义的plugin进行通知
能够自定义事件处理机制重新激活出问题的服务或主机
包括Web界面可以查看当前网络状态,通知,问题历史,日志文件等
1.3Nagios监控原理
图1 Nagios监控原理
Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。Nagios会周期性的自动调用插件去检测服务器状态,同时 Nagios 会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过 web 显示出来。(详见 图1)
1.4监控方式
Nagios监控方式有两种,一种是利用ssh方式,执行Nagios的check_by_ssh来执行被监控服务器上的插件程序,从而获取相关的信息。另外一种方式,是常用的方式。就是在被监控的服务器上安装监控引擎,对于Linux/Unix的服务器监控引擎为NRPE监控引擎,对于windows服务器监控引擎为NSClient++,实现原理一致。
图2监控方式
按照(图2)整个的监控过程如下:
1、nagios会运行check_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.tar.gz
下载地址:http://www.nagios.org
NSClient++-0.2.7.zip
下载地址:http://sourceforge.net/projects/nscplus
开始安装
步骤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
步骤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://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz
# tar zxvf nagios-3.4.3.tar.gz
# cd nagios
# ./configure --prefix=/usr/local/nagios
# make all
# chkconfig --list nagios
步骤4、 安装Nagios 插件 #wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
# 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文件来定义联系人和联系人组
用默认的commands.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/local/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监控软件将零碎的工作集中化处理,把复杂的工作简单有序化,把流程规范化,最大化地解放运维人员,提升人员效率,节约人力成本,提高系统的稳定性,更好的为地铁乘客提供安全、可靠、便捷的服务。
关键词: 开源软件Nagios监控原理命令&工具
中图分类号:TP311.5 文献标识码:A 文章编号:
Nagios监控软件
1.1Nagios简介
Nagios监控软件是一款开源的系统网络监测程序,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、PNP4Nagios等)。
能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查
当服务或主机出现问题时发出通告,可通过email, pager, sms 或任意用户自定义的plugin进行通知
能够自定义事件处理机制重新激活出问题的服务或主机
包括Web界面可以查看当前网络状态,通知,问题历史,日志文件等
1.3Nagios监控原理
图1 Nagios监控原理
Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。Nagios会周期性的自动调用插件去检测服务器状态,同时 Nagios 会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过 web 显示出来。(详见 图1)
1.4监控方式
Nagios监控方式有两种,一种是利用ssh方式,执行Nagios的check_by_ssh来执行被监控服务器上的插件程序,从而获取相关的信息。另外一种方式,是常用的方式。就是在被监控的服务器上安装监控引擎,对于Linux/Unix的服务器监控引擎为NRPE监控引擎,对于windows服务器监控引擎为NSClient++,实现原理一致。
图2监控方式
按照(图2)整个的监控过程如下:
1、nagios会运行check_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.tar.gz
下载地址:http://www.nagios.org
NSClient++-0.2.7.zip
下载地址:http://sourceforge.net/projects/nscplus
开始安装
步骤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
步骤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://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz
# tar zxvf nagios-3.4.3.tar.gz
# cd nagios
# ./configure --prefix=/usr/local/nagios
# make all
# chkconfig --list nagios
步骤4、 安装Nagios 插件 #wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
# 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文件来定义联系人和联系人组
用默认的commands.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/local/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监控软件将零碎的工作集中化处理,把复杂的工作简单有序化,把流程规范化,最大化地解放运维人员,提升人员效率,节约人力成本,提高系统的稳定性,更好的为地铁乘客提供安全、可靠、便捷的服务。