Red Hat上的Nagios-配置NDOUtils

系统 Linux
Red Hat上配置Nagios系统:Nagios是一款遵循GPLv2的开源网络监控软件,可用来监控指定的多种系统的主机、服务,并可在它们的工作状态发生变化时通知管理员。本文讲述的是Red Hat上-配置NDOUtils。

  本文讲述的是Red Hat上的Nagios:

  安装Nagios Nagios的插件 、Nagios配置文件 、Nagios对象 、配置NDOUtils

  五、NDOUtils的安装与设定:

  1、NDOUtils简介

  NDOUTILS ADDON主要用来将Nagios的配置信息和event产生的数据存入数据库(目前的beta版支持mysql和pgsql,稳定版只支持mysql),以方便实现数据的快速检索和处理,并且为其它通过web接口程序来管理这些数据提供了保障。

  在一个大型应用中,可能存在多个独立的或分布式布置的Nagios服务器,这种环境中的每个Nagios服务器通常被称为一个Nagios实例。在多Nagios实例的环境中,既可以把所有实例的数据存入到一个数据库,也可以将各实例的数据分别存储。

  在只有一个Nagios实例环境中,其实例名称通常为“default”;而在多实例的环境中,则需要为此些Nagios实例各自命名。

  NDO Utils主要由以下四个部分组成:

  1)NDOMOD Event Broker Module(NDOMOD.O):用来输出Nagios进程产生的数据(data和logic),其前提是Nagios在编译时开启了Event broker的功能。同时,NDOMOD模块还可以导出Nagios配置有关的信息(包括Nagios监控进程运行时环境产生的动态数据)至文件、Unix域套接字或者TCP套接字。NDO2DB将通过前面的这三种方式获得Nagios的有关数据。

  2)NDO2DB:用来接收由NDOMOD和LOG2NDO组件输出的信息并将之存储在数据库中。启动时,NDO2DB进程将创建一个TCP套接字或Unix域套接字以监听客户端(输出端)的连接请求。目前仅支持MySQL数据库。

  多个客户端可以同时向一个NDO2DB守护进程输出数据,此时的NDO2DB将为每一个连接进来的客户端(Nagios实例)建立一个连接进程,以实现每个客户端数据的独立存储、检索和处理。

  3)LOG2NDO:用来将Nagios的历史日志通过NDO2DB进程输出至数据库。LOG2NDO与NDO2DB进程通信的方法依然是标准文件、Unix域套接字或者TCP套接字三种。

  4)FILE2SOCK:从标准文件或标准输入读入数据,并将之输出至Unix域套接字或TCP套接字。当NDOMOD或LOG2NDO将数据输出至标准文件时,此工具则可用来将这些标准文件中数据读出并发送给NDO2DB进程监听的TCP套接字或Unix域套接字。

  

配置/NDOUtils/系统

 

  2、安装NDOUtils

  1.   # tar zxf ndoutils-1.4b8.tar.gz  
  2.  
  3.   # cd ndoutils-1.4b8  
  4.  
  5.   # ./configure --enable-mysql --with-mysql-lib=/usr/lib --with-mysql-inc=/usr/include --disable-pgsql  
  6.  
  7.   # make  
  8.  
  9.   # cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /usr/local/nagios/bin  
  10.  

  以上复制的文件中前两项是版本相关的,即如果您的nagios主版本号是2系列,则需要拷贝名为ndomod-2x.o和ndo2db-2x的两个文件。后两项是通用文件,无论哪个版本都需要复制。

  3、为NDOUtils创建数据库

  1.   # mysql -uroot -p  
  2.  
  3.   mysql> create database ndodb;  
  4.  
  5.   mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON ndodb.* TO ndouser@localhost IDENTIFIED BY '123456';  
  6.  
  7.   mysql> flush privileges;  
  8.  

  下面两条命令用来生成ndoutils所需要的数据库表等,这些表默认以“nagios_”为前缀;install脚本命令必须在db子目录内执行:

  1.   # cd db  
  2.  
  3.   # ./installdb -u ndouser -p 123456 -h localhost -d ndodb  
  4.  

  其中各选项的意义如下:

  -u用来指定导入时所用的mysql用户帐号

  -p表示前面mysql用户的密码

  -h表示mysql服务器地址,如果是localhost,则可以省略

  -d表示目标数据库

  说明:如果与cacti整合的话,npc插件会在cacti的数据库自动生成ndoutils所需要表,这些表均以“npc_”为前缀。后面讲到整合的文章中会继续对些做出说明。

  4、复制、编辑配置文件

  1.   # cd ..  
  2.  
  3.   # cp -v config/{ndo2db.cfg,ndomod.cfg} /usr/local/nagios/etc  
  4.  
  5.   # vi /usr/local/nagios/etc/nagios.cfg  
  6.  

  在文件中添加:

  1.   broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg  
  2.  

  此外,请确保您的/usr/local/nagios/etc/nagios.cfg中有如下行出现,否则,请自行添加:

  event_broker_options=-1 //为Nagios开启event broker

  5、编辑ndo2db守护进程和ndomod的配置文件

  1.   # vi /usr/local/nagios/etc/ndo2db.cfg  
  2.  
  3.   socket_type=tcp 
  4.  
  5.   db_servertype=mysql 
  6.  
  7.   db_host=localhost 
  8.  
  9.   db_port=3306 
  10.  
  11.   db_prefix=nagios_ 
  12.  
  13.   db_user=ndouser 
  14.  
  15.   db_pass=123456 
  16.  

  说明:

  i) 以上"db_"开头的选项用来指定连接数据库的属性;

  ii)其默认用来接收数据的方式为Unix域套接字,这里修改成了TCP套接字;同时,ndomod.cfg配置文件中指定的输出方式也应该做相应的修改;

  接下来我们去编辑ndomod的配置文件,为其指定数据的输出方式和输出目标主机:

  1.   # vi /usr/local/nagios/etc/ndomod.cfg  
  2.  
  3.   output_type=tcpsocket 
  4.  
  5.   output=127.0.0.1  
  6.  

  6、启动ndo2db守护进程

  1.   # /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg  
  2.  

  建议此时查看系统日志(/var/log/messages)中是否有错误出现。

  如果此时Nagios进程已启动,则需要停止并重新启动nagios:

  1.   # killall -SIGHUP nagios  
  2.  
  3.   # rm -f /usr/local/nagios/var/nagios.lock  
  4.  
  5.   # /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg  
  6.  

  说明:

  i)此处停止Nagios必须通过向Nagios发送SIGHUP信号的方式进行;

  ii)建议此时查看nagios日志文件中是否表明ndomod的模块加载是否正常,以及其是否能正常连接到data sink;查看日志,可以使用如下命令实现:# tail -30 /usr/local/nagios/var/nagios.log

  排错信息:

  i) 如果ndomod模块没能正常加载的话,建议重新检查nagios的配置文件中是否添加了所需的broker module条目;

  ii) 同时,如果ndomod没有正常连接到data sin,建议查看ndo2db.cfg文件中关于mysql连接项目的指定是否正确;

  iii)确认一下在编译NDOUtils时是否指定了关于mysql库文件位置的选项;

  上一节:Nagios对象    ***节:安装Nagios 

【编辑推荐】

Nagios飞信linux短信报警脚本配置

Nagios安装记录

如何用Nagios监控远程系统

责任编辑:zhaolei 来源: enkj
相关推荐

2011-03-23 13:32:14

配置Nagios系统

2011-03-23 13:29:46

配置Nagios系统

2011-03-23 13:44:23

配置Nagios系统

2011-03-23 13:29:43

配置Nagios系统

2011-03-31 16:05:18

Redhat配置nagios

2011-03-31 15:31:05

Redhat配置nagios

2011-03-31 16:05:18

Redhat配置nagios

2011-03-31 16:11:23

Redhat配置nagios

2011-03-31 16:09:21

Redhat配置nagios

2011-03-31 15:31:06

Redhat配置nagios

2011-03-31 16:45:39

Redhat配置nagios

2011-03-14 15:12:27

iptables安装

2011-03-15 16:12:45

iptablesRed Hat

2011-03-31 16:11:22

Redhat配置nagios

2011-03-31 16:10:47

Redhat配置nagios

2009-07-10 13:54:59

Mono配置Red Hat 5.5

2011-03-31 16:10:48

Redhat配置nagios

2018-11-03 16:29:48

Red HatKDE桌面环境

2011-03-28 13:57:57

2011-04-01 15:42:13

点赞
收藏

51CTO技术栈公众号