通过自己编写的插件来使用Nagios

合集下载

nagios监控mysql详细配置

nagios监控mysql详细配置

Nagios监控mysql工作原理利用特定的用户定期访问指定的mysql数据库。

当不能访问或连不通时则报警。

配置过程如下1、在生产库上安装nagios插件,以nagios-plugins-1.4.15为例来讲述整个配置过程进入nagios-plugins-1.4.15 目录./configure 编译然后是编译完显示一定要有mysql支持,不然没有check_mysql这个插件config.status: creating po/Makefile--with-apt-get-command:--with-ping6-command: /bin/ping6 -n -U -w %d -c %d %s--with-ping-command: /bin/ping -n -U -w %d -c %d %s--with-ipv6: yes--with-mysql: /usr/bin/mysql_config--with-openssl: yes--with-gnutls: no--enable-extra-opts: no--with-perl: /usr/bin/perl--enable-perl-modules: no--with-cgiurl: /nagios/cgi-bin--with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin--enable-libtap: noMake all&&make install插件安装完毕再安装nrpe 安装过程略同时是编译安装三步曲:./configure make make install2、配置mysqlmysql> create database nagios; //建立nagios专用数据Query OK, 1 row affected (0.00 sec)mysql> grant select on nagios.* to nagios@'%' identified by '######'; //建立nagios专用用户权限只给select就OK,给多了不安全。

Nagios组件nrpe详解

Nagios组件nrpe详解

Nagios各组件简述及nrpe详解一.Nagios各组件简述由于nagios配置较为繁锁,且里面组件也较多,这里我将几个关键的组件列举一下,且做一下简单的介绍及其和其它组件间的关系的描述。

我自己的一些理解,如有偏差,欢迎指正!我在部署过程中主要用到了以下组件: nagios-3.2.3.tar.gz,nagios-plugins-1.4.15.tar.gz,ndoutils-1.4b7.tar.gz,nrpe-2.12.tar.gz。

这些组件都是干什么的呢?1.nagios-3.2.3.tar.gz是nagios的主要组件,里面包括了各种配置文件;2.nagios-plugins-1.4.15.tar.gz是nagios的插件,里面提供了各种监控模板及监控命令,如check_tcp等等有很多常用的监控对象都可以使用这些模式,当然也可以自己编写脚本来实现,这一点上nagios是非常灵活的;3.ndoutils-1.4b7.tar.gz,利用它将nagios的监控信息存入mysql数据库;4.nrpe-2.12.tar.gz是一款用来监控被控端主机资源的工具,没有它,nagios将无法对被控端服务器的主机资源进行监控!以上是一些主要的组件,还有一些比较重要的组件,如:NSClient-0.3.8-Win32.zip(被控端为win操作系统时要安装),npc (主要用于cacti与nagios整合时,可用于将nagios的监控数据导给cacti)关系也大致屡清了,上文讲过部署nagios,本文将不在嫯述了,下面将nrpe的部署过程详细整理一下!数据库的监控以后再补上!2.安装过程1)主控端主控端上也要安装nrpe,因为需要它的check_nrpe来监控远程主机:tarzxf nrpe-2.12.tar.gzcd nrpe-2.12./configuremake allmake install-plugin只运行这一步就行了,因为只需要check_nrpe 插件。

nagios监控端安装配置手册

nagios监控端安装配置手册

一、系统环境与软件版本情况本文档使用被监控机的操作系统为rhel6.3 _64位。

监控主机操作系统为rhel6.0 _64位及windows 2003,nagios主服务版本Nagios® Core™ 3.2.3,linu被监控机与主监控通信插件NRPE版本为nrpe-2.8.1。

window被监控机与主监控服务软件为NSClient++-0.2.7所使用的软件如下nrpe-2.8.1.tar.gzNSClient++-0.2.7.zip二、安装配置过程。

因为系统安装大家都非常熟悉了此次略过操作系统安装过程,首先是linux环境下被监控机的安装配置过程。

在安装之前先写个nagios监控非本地信息的原理图主监控机被监控机NRPE总共由两部分组成:–check_nrpe 插件,位于在监控主机上–NRPE daemon,运行在远程的linux主机上(通常就是被监控机)按照上图,整个的监控过程如下:当nagios需要监控某个远程linux主机的服务或者资源情况时1.nagios会运行check_nrpe这个插件,告诉它要检查什么.2.check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL3.NRPE daemon会运行相应的nagios插件来执行检查4.NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.注意:NRPE daemon需要nagios插件安装在远程的linux主机上,否则,daemon不能做任何的监控.因为使用rehl线上的yum源安装需要授权,所以先使用iso搭个本地的yum源。

mount /dev/cdrom /mnt/cdrom/ 挂载光驱mkdir /home/rehliso 创建yum源目录。

cp -Rf /mnt/cdrom/* /home/rehliso/ 拷贝安装文件到源目录cd /etc/yum.repos.d/ 切换至yum配置文件目录cp rhel-source.repo rhel-source.repo.bak 备份配置文件vi rhel-source.repo 编辑配置文件,删除之前内容加入[rhel_6_iso]name=local isobaseurl=file:///home/rehlisogpgcheck=1gpgkey=file:///home/rehliso/RPM-GPG-KEY-redhat-release保存退出Yum clean all清除YUM缓存因为是用二进制安装包进行安装所以要先安装gcc编译器yum -y install gcc 安装gcc编译器安装完成后用sftp上传安装文件nrpe-2.8.1.tar.gz, nagios-plugins-1.4.13.tar.gz至/usr/local/src/目录下创建nagios用户Userad nagiosPasswd nagiosCd /usr/local/src 切换至/usr/local/src/目录解压安装包tar zxvf nagios-plugins-1.4.13.tar.gzcd nagios-plugins-1.4.13编译安装./configuremakemake install这一步完成后会在/usr/local/nagios/下生成两个目录libexec和share修改目录权限把权限所属chown nagios.nagios /usr/local/nagios/chown -R nagios.nagios /usr/local/nagios/libexec/至此被监控机nagios插件已经安装完成,接下来就是安装nrpe服务了切换至软件包目录Cd /usr/local/src解压安装文件tar zxvf nrpe-2.8.1.tar.gzcd nrpe-2.8.1编译安装./configurechecking for SSL... configure: error: Cannot find ssl libraries 出现了该错误主要是因为监控主机插件check_nrpe与被监控nrpe服务的通信是通过ssl方式连接的所以必须安装sslyum -y install openssl-devel 所以这个可以在gcc安装时顺便也安装了ssl安装完成后重新./configure*** Configuration summary for nrpe 2.8.1 05-10-2007 ***:General Options:-------------------------NRPE port: 5666NRPE user: nagiosNRPE group: nagiosNagios user: nagiosNagios group: nagiosReview the options above for accuracy. If they look okay,type 'make all' to compile the NRPE daemon and client.成功后会出现以上安装的基本信息接下来编译安装make allmake install-daemonmake install-daemon-configmake install-plugin 安装check_nrpe这个插件之前说过监控机需要安装check_nrpe这个插件,被监控机并不需要,我们在这里安装它是为了测试的目的安装xinetd脚本make install-xinetd这里还要补充一下因为官网的安装文档是将NRPE deamon作为xinetd下的一个服务运行的.在这样的情况下xinetd就必须要先安装好,所以还得确定系统是否已经安装了xinetd的服务[root@localhost nrpe-2.8.1]# service xinetd restartxinetd: unrecognized service服务并未安装yum -y install xinetd 安装xinetd服务安装完成后修改配置文件vi /etc/xinetd.d/nrpeservice nrpe{flags = REUSEsocket_type = streamport = 5666 端口wait = nouser = nagios 用户group = nagios 用户组server = /usr/local/nagios/bin/nrpeserver_args = -c /usr/local/nagios/etc/nrpe.cfg --inetdlog_on_failure += USERIDdisable = noonly_from = 127.0.0.1,192.168.1.243}only_from = 127.0.0.1,192.168.1.243在后面增加监控主机的地址192.168.1.243以空格间隔编辑/etc/services文件,增加NRPE服务端口添加如下信息nrpe 5666/tcp #nrpe查看防火墙是否启动chkconfig iptables –list如果启动需要添加5666端口的开放规则vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 5666 -j ACCEPT添加该条目service iptables restart 重启iptables服务重启xinetd服务service xinetd restart检查服务端口状态[root@localhost ~]# netstat -natp |grep 5666tcp 0 0 :::5666 :::* LISTEN 1959/xinetd 服务端口已经启动测试NRPE是否则正常工作之前我们在安装了check_nrpe这个插件用于测试,现在就是用的时候.执行[root@localhost ~]# /usr/local/nagios/libexec/check_nrpe -H localhostNRPE v2.8.1返回了版本信息说明nrpe已经正常的工作了。

Nagios安装与配置详解

Nagios安装与配置详解

Nagios学习笔记之(一)最初搭建2012-07-17 13:05:08标签:linux监控nagios cacti声明:原创作品,如需,请与作者联系。

否则将追究法律责任。

Nagios学习笔记之一最初搭建一、简介:Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。

在系统或服务状态异常时发出或短信报警第一时间通知运维人员,在状态恢复后发出正常的或短信通知。

二、搭建过程:OS:CentOS 5.5 x86_64(最小化即可)Nagios主程序:nagios-cn-3.4.1Nagios插件:nagios-plugins-1.4.15.tar.gz2.1安装前:2.1.1安装依赖包,下载源程序包1.#cd/etc/yum.repos.d/2.#rm-fr./*3.#wget wget mirrors.163./.help/CentOS-Base-163.repo4.#yum makecache#删除系统自带的yum源,下载网易的网络源并更新缓存1.#yum-y install gcc glibc glibc-common gd gd-devel httpd#安装必须的依赖包1.#wget /sourceforge/nagios/nagios-3.4.1.tar.gz2.#wget /sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz#下载nagios主程序以及插件程序2.1.2正式安装:1.#groupadd nagcmd2.#useradd-G nagcmd nagios3.#usermod-G nagcmd apache#创建一个用户组名为nagcmd用于从Web接口执行外部命令。

将nagios用户和apache用户都加到这个组中。

1.#tar zxf nagios-3.4.1.tar.gz2.#cd nagios3.#./configure--prefix=/usr/local/nagios --with-command-group=nagcmd4.#解压程序包,并进行预编译前的配置(默认用户就是nagios,所以只需指定组)5.#make all#编译Nagios程序包源码6.#make install#安装二进制运行程序7.#make install-init#初始化脚本8.#make install-config#配置文件样本9.#make install-commandmode#设置运行目录权限10.#make install-webconf#安装Nagios的WEB配置文件到Apache的conf.d目录下#htpasswd -c /usr/local/nagios/etc/ers nagiosadmin#创建一个nagiosadmin的用户用于登录Nagios的web界面。

Nagios安装与配置详解

Nagios安装与配置详解

Nagios学习笔记之(一)最初搭建 2012-07-17 13:05:08 标签:linux 监控 nagios cacti 声明:原创作品,如需,请与作者联系。否则将追究法律责任。 Nagios学习笔记之一最初搭建

一、简介: Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出或短信报警第一时间通知运维人员,在状态恢复后发出正常的或短信通知。

二、搭建过程:

OS: CentOS 5.5 x86_64(最小化即可) Nagios主程序: nagios-cn-3.4.1 Nagios插件: nagios-plugins-1.4.15.tar.gz

2.1安装前: 2.1.1安装依赖包,下载源程序包 1. #cd /etc/yum.repos.d/ 2. #rm -fr ./* 3. #wget wget mirrors.163./.help/CentOS-Base-163.repo 4. #yum makecache

#删除系统自带的yum源,下载网易的网络源并更新缓存 1. #yum -y install gcc glibc glibc-common gd gd-devel httpd

#安装必须的依赖包 1. #wget prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.1.tar.gz 2. #wget prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz #下载nagios主程序以及插件程序 2.1.2正式安装: 1. #groupadd nagcmd 2. #useradd -G nagcmd nagios 3. #usermod -G nagcmd apache

手把手教你搭建功能强大的监控平台cacti+nagios(源码安装)

手把手教你搭建功能强大的监控平台cacti+nagios(源码安装)

源码安装cacti+nagios目录索引安装前的准备工作1、操作系统要求2、配置编译环境以及安装一些依赖包3、关闭不需要的服务(以下未列出的一律关闭)可选操作4、下载所需软件包LAMP环境的搭建1、mysql的安装2、apache的安装3、php的安装4、验证安装CACTI的安装1、安装rrdtool2、安装net-snmp3、解压cacti包并做好安装前的配置4、安装cacti-spine5、安装cactiNagios的安装1、nagios的安装2、编译并安装Nagios插件安装前的准备工作1、操作系统要求CentOS_5.5 或Red Hat 5.5(Red Hat 5.5不能使用yum命令有关如何修改Red Hat 使用CentOS的更新源请参照以下连接)/view/bc394286ec3a87c24028c432.html2、配置编译环境以及安装一些依赖包Yum install –y pango glib pango pango-devel cairo gd gd-devel gcc glibcglibc-common3、关闭不需要的服务(以下未列出的一律关闭)可选操作atdcrondirqbalancemicrocode_ctlnetworksendmailsshdsyslog4、下载所需软件包以下连接是我个人上传到rayfile的源代码包,有兴趣的朋友也可以上各个官方网站去下载(有些版本间存在不兼容的情况)下列版本都已测试过没有问题。

mysql-5.0.75.tar.gz/zh-cn/files/221522b5-b8eb-11e0-8c4d-0015c55db73d/ httpd-2.2.19.tar.gz/zh-cn/files/e641fc57-b8e7-11e0-8f26-0015c55db73d/php-5.2.17.tar.gz/zh-cn/files/8a9baef3-b8eb-11e0-aa46-0015c55db73d/ rrdtool-1.4.5.tar.gz/zh-cn/files/9ce70a38-b8eb-11e0-bd61-0015c55db73d/ cacti-0.8.7g.tar.gz/zh-cn/files/eed7469c-b8ea-11e0-aa26-0015c55db73d/cacti-spine-0.8.7g.tar.gz/zh-cn/files/f94cb330-b8ea-11e0-b425-0015c55db73d/nagios-3.2.3.tar.gz/zh-cn/files/afc734bd-b8eb-11e0-b9af-0015c55db73d/ nagios-plugins-1.4.15.tar.gz/zh-cn/files/bbbc71d1-b8eb-11e0-b7d2-0015c55db73d/LAMP环境的搭建1、mysql的安装#groupadd mysql#useradd -r -g mysql mysql#cd /usr/local#tar zxvf /path/to/ mysql-5.0.75.tar.gz#./configure –prefix=/usr/local/mysql && make && make install#cd mysql#chown -R mysql .#chgrp -R mysql .#bin/mysql_install_db --user=mysql#chown -R root .#chown -R mysql var#cp share/mysql/f /etc/f# bin/mysqld_safe --user=mysql &#cp share/mysql/mysql.server /etc/init.d/mysqld#chkconfig –add mysqld#chkconfig –level 3 mysqld on2、apache的安装# tar zxvf httpd-2.2.19.tar.gz#cd httpd-2.2.19#./configure --prefix=/usr/local/apache --enable-module=so && make && make install# /usr/local/apache/bin/httpd -k start#echo /usr/local/apache/bin/httpd -k start >> /etc/rc.d/rc.local编辑httpd.conf文件配置对PHP文件的解析#vi /usr/local/apache/conf/httpd.conf添加、修改以下内容LoadModule php5_module modules/libphp5.soAddType application/x-httpd-php .phpDirectoryIndex index.html index.php3、php的安装# tar zxvf php-5.2.17.tar.gz#cd php-5.2.17#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs--with-mysql=/usr/local/mysql --enable-sockets && make && make install# cp php.ini-dist /usr/local/php/lib/php/php.ini#vi /usr/local/php/etc/php.ini4、验证安装验证apache跟php是否工作正常,创建index.php文件#vi /usr/local/apache/htdocs/index.php将以下内容写入到index.php并保存推出<?php phpinfo(); ?>修改完后启动apache,在浏览器中输入http://服务器地址/index.php出现下图表示工作正常。

适用于 Nagios Core 的 Dell OpenManage 插件版本 1.0 安装指南说明书

适用于 Nagios Core 的 Dell OpenManage 插件版本 1.0安装指南12021 4注意、小心和警告:“注意”表示帮助您更好地使用该产品的重要信息。

:“小心”表示可能会损坏硬件或导致数据丢失,并告诉您如何避免此类问题。

:“警告”表示可能会导致财产损失、人身伤害甚至死亡。

© 2015 - 2021 Dell Inc. 或其子公司。

保留所有权利。

Dell、EMC 和其他商标是 Dell Inc. 或其附属机构的商标。

其他商标可能是其各自所有者的商标。

章 1: 适用于 Nagios Core 的 Dell OpenManage 插件版本 1.0 简介 (4)章 2: 系统要求 (5)管理系统的系统要求 (5)受管系统的系统要求 (5)章 3: 下载并安装适用于 Nagios Core 的 Dell OpenManage 插件版本 1.0 (6)章 4: 卸载适用于 Nagios Core 的 Dell OpenManage 插件版本 1.0 (8)章 5: 访问 Dell EMC 支持网站上的支持内容 (9)章 6: 相关说明文件 (10)目录3适用于 Nagios Core 的 Dell OpenManage 插件版本 1.0 简介本指南提供了有关适用于 Nagios Core 的 Dell OpenManage 插件版本 1.0 的软件要求、系统要求以及安装和卸载步骤的信息。

通过使用 Integrated Dell Remote Access Controller (iDRAC) with Lifecycle Controller (LC),本插件能够在数据中心内通过无代理方法监测第 12 代及以后各代 Dell PowerEdge 服务器。

本插件提供的功能如表 1 中所述。

表. 1: 主要特性特性功能设备查找使用无代理监测方法,通过 iDRAC with LC 查找第 12 代及以后各代 Dell PowerEdge服务器。

ubuntu nagios安装与配置文档

本系列文章旨在记录作者搭建nagios监控的安装及配置步骤,都经过测试,欢迎指正。

nagios简介:Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。

在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

本篇文章将详细说明如何在ubuntu12.04 server 上安装nagios,并监控本机基本信息。

一、准备1.更新ubuntu系统配置好合适的源后/etc/apt/sources.listsudo apt-get updatesudo apt-get upgrade2.依赖软件包:sudo apt-get install build-essentialsudo apt-get install libssl0.9.8 libssl-devopensslsudo apt-get install libgd2-noxpm libgd2-noxpm-devsudo apt-get install apache2(安装完nagios plugin后可以检查一下http,检查:/usr/local/nagios/libexec/check_http -H 127.0.0.1错误结果:Connection refusedHTTP CRITICAL - Unable to open TCP socket启动apache: service apache2 start后再检查,正确结果:HTTP OK: HTTP/1.1 200 OK - 452 bytes in 0.001 second response time|time=0.001221s;;;0.000000 size=452B;;;0 )安装到目录:/usr/bin/htpasswd/usr/sbin/apache2 link/etc/apache2 配置文件httpd.conf在此/usr/lib/apache2 modules 在此/usr/share/apache2/usr/share/man/man8/apache2.8.gzapt-get install php5安装到目录/usr/bin/php5 /etc/php5 /usr/lib/php5 /usr/share/php5/usr/share/man/man1/php5.1.gz二、下面进行nagios的安装以下操作要在root权限用户下进行修改root密码:sudopasswd root设置root密码su切到root用户1.下载nagios软件包下载所需安装包,在/usr/local/src目录下载wget /sourceforge/nagios/nagios-3.2.3.tar.gzwget /sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz wget /sourceforge/nagios/nrpe-2.12.tar.gz2.创建所需用户和组信息groupaddnagcmdgroupaddnagiosuseradd -gnagiosnagios3.安装nagiostar zxvf nagios-3.2.3.tar.gzcd nagios-3.2.3./configure --prefix=/usr/local/nagios --with-command-group=nagcmd终端打印出configure信息:注意关于apache2和mail的配置,以后可能会修改,记住位置:Apache conf.d directory: /etc/apache2/conf.dMail program: /usr/bin/mail编译:make all根据上述提示安装:make installmake install-initmake install-configmake install-commandmodemake install-webconf其中要注意每一步的安装信息,主要是安装目录,方便以后修改。

监控系统配置使用(Nagios)

税友
监控系统配置使用—Nagios
讲师:吴云鹏
税友软件集团股份有限公司
课程目标
nagios体系结构认识 • 帮助运维人员对nagios体系结构有更清晰的认识
如何配置监控项 • 帮助运维人员更有效的使用和配置nagios的监控项
理解监控项含义 • 帮助运维人员更好理解现有监控项的含义
2
课程大纲
3
系统介绍 原理、结构 部署、配置 监控项简介
问题交流
Nagios介绍
Nagios介绍: Nagios是一款用于系统和网络监控的应用程序,可在设定的条件下对主机和服务
进行监控,在状态变差和变好的时候给出告警信息。 Nagios 的特征包括: 1) 监控网络服务(SMTP、POP3、HTTP、NNTP、PING 等); 2) 监控主机资源(处理器负荷、磁盘利用率等); 3) 简单地插件设计使得用户可以方便地扩展服务的检测方法; 4) 当服务或主机问题产生与解决时将告警发送给联系人(Email)、页面声音报警 Centreon介绍: centreon作为nagios的分布式监控管理平台,它的底层使用nagios监控软件,通过 centreon页面可以简单方便地管理和配置nagios;
个性类监 控
监控项
Weblogic 类监控
Oracle类 监控
15
监控插件
插件作用
• 什么是插件?插件和命令的关系?
插件存放位置
• 存放在监控机位置?存放在被监控机位置?
现有插件
• 现有哪些插件?获取插件网站
16
回顾
通用监控
主机监控项 Weblogic监控项
Oracle监控项
17
个性监控
Godengate监控项 业务监控项 接口监控项

Nagios 使用说明


– 重启apache使新设置生效。
• service httpd restart
第二章 Nagios安装和配置
• Nagios典型配置
– Nagios安装完成了,但是还需要配置。 – 修改nagios的主配置文件nagios.cfg。 – 修改CGI脚本控制文件cgi.cfg。 – 定义监控时间段,创建配置文件timeperiods.cfg。 – 定义联系人,创建配置文件contacts.cfg。
第二章 Nagios安装和配置
• nagios.cfg配置文件修改
– 注释行 #cfg_file=/usr/local/nagios/etc/localhost.cfg[2],然后把下面几行的 注释去掉:
• • • • • • cfg_file=/usr/local/nagios/etc/contactgroups.cfg //联系组配置文件路径 cfg_file=/usr/local/nagios/etc/contacts.cfg //联系人配置文件路径 cfg_file=/usr/local/nagios/etc/hostgroups.cfg //主机组配置文件路径 cfg_file=/usr/local/nagios/etc/hosts.cfg //主机配置文件路径 cfg_file=/usr/local/nagios/etc/services.cfg //服务配置文件路径 cfg_file=/usr/local/nagios/etc/timeperiods.cfg //监视时段配置文件路径
– 注意:NRPE daemon需要nagios插件安装在远程的linux主机上,否 则,daemon不能做任何的监控。 – 需要在被监控主机上安装nagios插件,NRPE。在监控主机上安装 check_nrpe插件。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通过自己编写的插件来使用Nagios 2007年09月02日 16:00 来源:ChinaUnix文档频道 作者:HonestQiao 编辑:周荣茂 级别: 中级

Cameron Laird (claird@phaseit.net), Vice President, Phaseit, Inc. Wojciech Kocjan (wojciech@kocjan.org), 软件工程师, IBM

2007 年 9 月 03 日 了解更多关于 Nagios 的内容,并找出使用这个软件时存在的新的系统监视可能性。Nagios 是一种开放源代码监视软件,它可以扫描主机、服务、网络方面存在的问题。Nagios 与其他类似的包之间的主要区别在于,Nagios 将所有的信息简化为“工作(working)”、“可疑的(questionable)”和“故障(failure)”状态,并且 Nagios 支持由插件组成的非常丰富的“生态系统”。这些特性使得用户能够进行有效安装,在此过程中无需过多地关心细节内容,只提供他们所需的信息即可。

在多台主机中监视和分析大量的信息——CPU 是否超载?网络接口是否满负荷?——是一项繁重的工作。不过一个好的解决方案可能只有几步之遥!开放源代码 Nagios 项目(请参见参考资料)可以非常方便地解决复杂的监视和通知需求。

了解 Nagios 的关键在于,它并不是监视和跟踪“普通的”测量数据,如 CPU 使用率,该工具将所有的信息简化为“工作”、“可疑的”和“故障”状态。这可以帮助操作员根据预定义的和可配置的标准,重点关注最重要和最关键的问题。

Nagios 内置了报告停机时间的功能,在跟踪服务水平协议 (SLA) 的实现时,这可能是非常有用的。正如本文稍后将要说明的,Nagios 还提供了停机自动扩大功能、服务和主机依赖关系,这篇介绍性的文章将主要讨论您可以轻松地为基本的监视需求编写小的、自定义的内容。

安装 大多数 Linux® 分发版中都内置了 Nagios 安装。在这种情况下,安装工作可以很好地与 Apache Web 服务器进行集成。要激活或者更新这种配置,您需要运行下面的命令:

yum install nagios

或者 apt-get install nagios-text。可以从 NagiosExchange 免费下载用于 AIX® 平台的二进制文件(请参见参考资料)。 对于其他平台,可以从 Nagios.org 下载 Nagios 的源代码(请参见参考资料)。生成新的 Nagios 需要一些标准开发工具:

 工具 o gcc o make o autoconf o automake  可执行文件 o libgd o openssl  包(库和 Header)

许多与简单网络管理协议相关的(SNMP 相关的)插件还需要 Perl 和 Net::SNMP 包。

在安装和设置了 Nagios 之后,您应该可以使用缺省的 http://your.host.name/nagios URL 访问 Nagios。图 1 显示了哪些主机和服务已启动或者停止。

图 1. Tactical Monitoring Overview 屏幕

配置 Nagios 在缺省情况下,所有的 Nagios 配置文件都位于 /etc/nagios 目录。为了方便起见,可能将与 Apache 相关的配置文件符号链接到 Apache 配置目录。可以将配置分为多个文件,每个文件用于配置中不同的部分。

首先需要设置的组件是联系人和联系人组。联系人是那些接收主机或服务停止运行的通知的人员。在缺省情况下,Nagios 提供了寻呼机和电子邮件通知方式。通过扩展,允许通过 Jabber 和许多其他方式进行通知,这在某些情况下是非常方便的。

联系人存储在 contacts.cfg 文件中,并且定义如下:

清单 1. 配置 1:基本联系人信息

define contact{ contact_name jdoe alias John Due service_notification_commands notify-by-email host_notification_commands host-notify-by-emailes email john.doe@yourcompany.com }

将联系人划分成组:在主机或服务状态发生更改时,Nagios 并不指定需要通知的人员,而是通知相关的组。有时甚至可以对某个人员进行多次定义,以指定不同的通知命令或地址,然后向用户所在的联系组添加联系该人员的所有方式(请参见清单 2)。

清单 2. 配置 2:分组的联系人

define contactgroup{ contactgroup_name server-admins alias Server Administrators members jdoe,albundy }

下一个步骤是配置需要由 Nagios 进行监视的主机。应该添加所有包含监视或检查是否正处于活动状态的服务的主机。存储主机信息的配置文件是 hosts.cfg。下面是一个主机定义的示例:

清单 3. 配置 3:添加新主机

define host{ host_name ubuntu_1_2 alias Ubuntu test server address 192.168.1.2 check_command check-host-alive max_check_attempts 20 notifications_enabled 1 event_handler_enabled 0 flap_detection_enabled 0 process_perf_data 1 retain_status_information 1 retain_nonstatus_information 1 notification_interval 60 notification_period 24x7 notification_options d,u,r }

Nagios 配置的最后一步是为配置的主机定义服务。这个示例使用了一个预定义的“ping”Nagios 插件,它将发送 Internet 控制信息协议(Internet Control Message Protocol,ICMP)回显请求以确定主机是否有响应。

清单 4. 配置 4:添加新服务

define service{ use service-template host_name ubuntu_1_2 service_description PING check_period 24x7 contact_groups server-admins notification_options c,r check_command check_ping!300.0,20%!1000.0,60% }

在完成了这个配置工作之后,重新启动您的 Nagios 守护进程,稍等几秒钟让 Nagios 进行初始化,然后,证实 Web 管理接口中 ping 服务的可见性。

如何编写 Nagios 插件 Nagios 的最激动人心的方面是可以轻松地编写您自己的插件,只需要了解一些简单的指导原则即可。为了管理插件,Nagios 每次在查询一个服务的状态时,产生一个子进程,并且它使用来自该命令的输出和退出代码来确定具体的状态。退出状态代码的含义如下所示:

 OK —退出代码 0—表示服务正常地工作。  WARNING —退出代码 1—表示服务处于警告状态。  CRITICAL —退出代码 2—表示服务处于危险状态。  UNKNOWN —退出代码 3—表示服务处于未知状态。

最后一种状态通常表示该插件无法确定服务的状态。例如,可能出现了内部错误。 下面提供了一个 Python 示例脚本,用于检查 UNIX® 平均负载。它假定 2.0 以上的级别表示警告状态,而 5.0 以上的级别表示危险状态。这些值都采用了硬编码的方式,并且始终使用最近一分钟的平均负载。

清单 5. Python 插件—示例工作插件

#!/usr/bin/env python

import os,sys (d1, d2, d3) = os.getloadavg() if d1 >= 5.0: print "GETLOADAVG CRITICAL: Load average is %.2f" % (d1) sys.exit(2) elif d1 >= 2.0: print "GETLOADAVG WARNING: Load average is %.2f" % (d1) sys.exit(1) else: print "GETLOADAVG OK: Load average is %.2f" % (d1) sys.exit(0)

在编写了这个小的可执行插件之后,接下来是使用 Nagios 注册该插件,并创建一个检查平均负载的服务定义。

这项工作也是非常简单的:使用下面的内容创建一个名为 /etc/nagios-plugins/config/mygetloadavg.cfg 的文件,根据下面的示例,向 services.cfg 文件添加一个服务。请记住,必须在 hosts.cfg 配置文件中定义 localhost。

清单 6. 示例插件—使用 Nagios 进行注册

相关文档
最新文档