设为首页 收藏本站
查看: 1067|回复: 0

基于fedora16的nagios环境搭建--个人日记(5)--ndoutils安装

[复制链接]

尚未签到

发表于 2019-1-16 06:15:03 | 显示全部楼层 |阅读模式
  ndoutils 将nagios采集的信息存入mysql数据库中
  参考文章http://mysql.nagiostutorial.com/19
  1.NDOUtils安装需求
  nagios
  mysql        //我的是直接解压就可以用的
  cpan DBI #非必需
  cpan DBD::mysql #非必需
  2.关联mysql头文件和库
  不做关联可能在config或make时出错
  ln -s /usr/local/mysql/include/* /usr/include/
  ln -s /usr/local/mysql/lib/* /usr/lib/
  echo ‘/usr/lib’ >> /etc/ld.so.conf
  ldconfig -v
  3.安装ndoutils
  cd ndoutils
  ./configure --prefix=/usr/local/nagios
  --enable-mysql --disable-pgsql
  LDFLAGS=-L/usr/local/mysql/lib
  --with-mysql-inc=/usr/local/mysql/include
  --with-mysql-lib=/usr/local/mysql/lib
  出现错误:
  *** MySQL include file could not be located… **********************
  原因:我没有安装mysql-devel
  安装:yum install mysql-devel
  然后:
  ./configure --prefix=/usr/local/nagios
  --enable-mysql --disable-pgsql
  LDFLAGS=-L/usr/local/mysql/lib
  --with-mysql-inc=/usr/local/mysql/include
  --with-mysql-lib=/usr/local/mysql/lib
  没有错误
  make
  在src目录下看看是否有
  ndo2db-2x
  ndo2db-3x
  ndomod-2x.o
  ndomod-3x.o
  有的话说明安装成功。
  4.拷贝文件
  # 我的Nagios是3系列,所以拷贝的是ndomod-3x.o、ndo2db-3x,如果你的是2.X.x请拷贝ndomod-2x.o、ndo2db-2x
  cp ./src/ndomod-3x.o /usr/local/nagios/bin
  cp ./src/ndo2db-3x /usr/local/nagios/bin
  cp ./src/log2ndo /usr/local/nagios/bin
  cp ./src/file2sock /usr/local/nagios/bin
  chown nagios:nagios /usr/local/nagios/bin/*
  5.拷贝配置文件
  cp /config/ndo2db.cfg  /usr/local/nagios/etc/ndo2db.cfg
  cp /config/ndomod.cfg  /usr/local/nagios/etc/ndomod.cfg
  以上config目录中的ndo2db.cfg和ndomod.cfg在ndoutils-1.49b中是以ndo2db.cfg-sample和ndomod.cfg-sample命名的,
  如果您使用的是这个版 本的ndoutils,请在复制时做出相应的修改;
  cp /config/ndo2db.cfg-sample  /usr/local/nagios/etc/ndo2db.cfg
  cp /config/ndomod.cfg -sample  /usr/local/nagios/etc/ndomod.cfg
  注意还要修改权限
  chown nagios:nagios /usr/local/nagios/etc/ndo2db.cfg
  chown nagios:nagios /usr/local/nagios/etc/ndomod.cfg
  如果不修改,最终在 tail -30 /var/log/messages
  1 10:10:49 localhost nagios: ndomod: Still unable to connect to data sink.  3549 items lost, 5000 queued items to flush.
  May  1 10:11:05 localhost nagios: ndomod: Still unable to connect to data sink.  3646 items lost, 5000 queued items to flush.
  会出现如下错误
  6:为nagios创建数据库
  mysql> create database ndodb;
  Query OK, 1 row affected (0.08 sec)

  mysql> grant all privileges on ndodb.* to ndouser@localhost>  -> ;                                                                                                                               ndouser登录数据库,使用ndodb数据库
  Query OK, 0 rows affected (0.09 sec)
  mysql> flush privileges;
  Query OK, 0 rows affected (0.06 sec)
  mysql>
  7:导入数据库结构
  使用db/installdb脚本
  需要以下支持
  cpan DBI
  cpan DBD::mysql
  cd ./db/
  ./installdb -u root -p 111111 -h localhost -d ndodb
  用命令导入(其实和用脚本是一回事,也可以用phpmyadmin来导入)
  /usr/local/mysql/bin/mysql -u root -p -D ndodb -h localhost < ./db/mysql.sql           //注意仍然在ndoutils的安装文件目录下
  输入密码                                                                                                                      //其目录下有db文件夹和src文件夹
  成功导入59张表
  进入数据库看看如下

  8.修改配置文件
  vi /usr/local/nagios/etc/ndo2db.cfg
  db_user=nagiosndo
  db_pass=password123
  sock_type=tcp
  vi /usr/local/nagios/etc/nagios.cfg
  # 修改下面参数的值为-1(一般默认如此)。
  event_broker_options=-1
  # 复制下面内容粘贴到#broker_module=…下面。
  # 注意broker_module= 和config_file是在一行上
  # Uncomment the line below if you’re running Nagios 3.x
  broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg  必须在一行
  vi /usr/local/nagios/etc/ndomod.cfg
  output_type=tcpsocket
  output=127.0.0.1
  9.启动ndo2db
  /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
  echo ‘rm -f /usr/local/nagios/var/ndo.sock’ >> /etc/rc.local
  echo ‘/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg’ >> /etc/rc.local
  #开机启动
  查错:tail -20 /usr/local/nagios/var/nagios.log
  [1227766166] ndomod: NDOMOD 1.4b7 (10-31-2007) Copyright (c) 2005-2007 Ethan Galstad (nagios@nagios.org)
  [1227766166] ndomod: Successfully connected to data sink.  0 queued items to flush.
  [1227766166] Event broker module ‘/usr/local/nagios/bin/ndomod-3x.o’ initialized successfully.
  [1227766166] Finished daemonizing… (New PID=18848)
  表示正常
  tail -30 /var/log/messages
  我出现如下错误
  Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
  原因是我用的是二进制解压包,mysql.sock 在/tmp 目录下 编译的mysql应该也在该目录下
  解决办法有两个,一是修改/etc/my.cnf文件中sock的位置,
  二是创建一个软链接到/var/lib/mysql下面
  重启ndo2db
  ps aux |grep ndo2db 找到该进程
  nagios   17539  0.0  0.0  10308   592 ?        Ss   15:52   0:00 /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
  nagios   17585  0.6  0.2  19528  1560 ?        S    15:52   0:17 /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
  nagios   17586  0.1  0.2  19528  1560 ?        S    15:52   0:05 /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
  root     18436  0.0  0.1   4588   800 pts/3    S+   16:39   0:00 grep --color=auto ndo2db
  kill  pid 号   如17539  和17585
  然后重启ndo2db
  此时tail -30 /var/log/messages
  我出现了Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  但是我没有管。
  10.重启动nagios
  /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  service nagios restart
  这样就可以了。
  最终我的结果如下
  mysql> select host_id,address,display_name from nagios_hosts;
  +---------+-----------+---------------+
  | host_id | address   | display_name  |
  +---------+-----------+---------------+
  |       4 | 127.0.0.1 | Nagios-Server |
  |       5 | 127.0.0.1 | localhost     |
  |       6 | 127.0.0.1 | unixserver    |
  +---------+-----------+---------------+
  3 rows in set (0.01 sec)
  总结:
  如果数据库中还是没有数据,则可以重启ndo2db 然后重启nagios 多尝试一下重启,如果还不行可能就是安装的有问题
  数据库得到数据花费的时间叫长,耐心等待。
  并且我也是很久才得到数据的,然后修改了nagios.cfg 文件后,有时ndoutils能感应到数据的变化,有时不行。
  然后我又重启ndo2db 和nagios  ,我不知道是不是在objects目录下是否必须有hosts.cfg services.fg 和contactgroups.cfg
  我试验了一下, 这几个文件是非必须的,但是当我又修改nagios.cfg 文件时,数据库又监测不到了,不知道为什么
  反正不是很好弄
  经过几天的学习,对于
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  Apr  7 15:52:34 localhost ndo2db-3x: Error: queue send error.
  有了新的认识,其实这是因为ndoutils1.5版本本身的问题,外文网站说是message queue队列满了。
  改用低版本的ndoutils-1.4b9.tar.gz就可以了,安装步骤一样。
  并且网上有一个关于异步数据库的ndoutils补丁网址如下
  http://exchange.nagios.org/direc ... ils-2Dasync/details
  在ndoutils1.49b中我没有安装这个补丁,其实也不知道具体有什么用。只是介绍一下


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-663703-1-1.html 上篇帖子: Nagios 中文安装(二) 下篇帖子: 基于fedora16的nagios环境搭建--个人日记(2)--搭建lamp环境
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表