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

使用NDOUtils将Nagios监控信息存入mysql-A Sunny Day-运维网 博客

[复制链接]

尚未签到

发表于 2019-1-13 08:31:53 | 显示全部楼层 |阅读模式
1.NDOUtils安装需求  
nagios
  
mysql
  
cpan DBI #非必需
  
cpan DBD::mysql #非必需
  
2.关联mysql头文件和库
  
不做关联可能在config或make时出错
  
ln -s /opt/mysql/include/* /usr/include/
  
ln -s /opt/mysql/lib/* /usr/lib/
  
echo '/usr/lib' >> /etc/ld.so.conf
  
ldconfig -v
  
3.安装ndoutils
  
http://sourceforge.net/project/showfiles.php?group_id=26589
  
wget -c http://nchc.dl.sourceforge.net/sourceforge/nagios/ndoutils-1.4b7.tar.gz
  
tar zxvf ndoutils-1.4b7.tar.gz
  
cd ndoutils-1.4b7
  
./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql LDFLAGS=-L/opt/mysql/lib --with-mysql-inc=/opt/mysql/include/mysql --with-mysql-lib=/opt/mysql/lib/mysql
  
*config时使用以下mysql参数
  
--with-mysql-inc=/opt/mysql/include --with-mysql-lib=/opt/mysql/lib
  
#config成功
  
#make出错
  
*config时使用以下mysql参数
  
--with-mysql-inc=/opt/mysql/include/mysql --with-mysql-lib=/opt/mysql/lib/mysql
  
#config出错
  
#make成功并生成文件
  
#启动ndo2db会出错
  
*没有LDFLAGS=-L/opt/mysql/lib
  
LDFLAGS=-L/opt/mysql/lib
  
#ndo2db不能导入到数据库
  
相关错误
  
In file included from io.c:10:
  
../include/config.h:261:25: mysql/mysql.h: 没有那个文件或目录
  
../include/config.h:262:26: mysql/errmsg.h: 没有那个文件或目录
  
make[1]: *** [io.o] 错误 1
  
checking for mysql/mysql.h... no
  

  
*** MySQL include file could not be located... **********************
  

  
You chose to compile NDBXT with MySQL support, but I was unable to
  
locate on your system. If the include file is
  
installed, use the --with-mysql-inc argument to specify the location
  
of the MySQL include file.
  
make
  
ll ./src
  
看看是否有以下文件
  
ndo2db-2x
  
ndo2db-3x
  
ndomod-2x.o
  
ndomod-3x.o
  
4.拷贝文件
  
# 我的Nagios是3.0.6,所以拷贝的是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/ndo* /usr/local/nagios/etc/
  
chown nagios:nagios /usr/local/nagios/etc/*
  
6.创建ndo的mysql 数据库及用户
  
CREATE DATABASE `nagios` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
  
GRANT select,insert,update,delete ON nagios.* TO nagiosndo@localhost identified by 'password123';
  
FLUSH PRIVILEGES ;
  
7.导入数据库结构
  
使用db/installdb脚本
  
需要以下支持
  
cpan DBI
  
cpan DBD::mysql
  
cd ./db/
  
./installdb -u root -p 123456 -h localhost -d nagios
  
用命令导入(其实和用脚本是一回事,也可以用phpmyadmin来导入)
  
/opt/mysql/bin/mysql -u root -p -D nagios -h localhost < ./db/mysql.sql
  
输入密码
  
成功导入59张表
  
8.修改配置文件
  
vi /usr/local/nagios/etc/ndo2db.cfg
  
db_user=nagiosndo
  
db_pass=password123
  
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
  
9.启动ndo2db
  
/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
  
echo '/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg' >> /etc/rc.local
  
#开机启动
  
Support for the specified database server is either not yet supported, or was not found on your system.
  
/usr/local/nagios/bin/ndo2db-3x: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
  
出现以上错误请执行第2步
  
10.重启动nagios
  
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  
service nagios restart
  
一般情况下到此已完成安装,可以去数据库里看下记录有无增加
  
11.检查安装是否正确
  
tail -20 /usr/local/nagios/var/nagios.log
  
[1242971625] ndomod: Successfully flushed 80 queued items to data sink.
  
[1242971625] ndomod: Error writing to data sink! Some output may get lost...
  
貌似有点问题
  
参考:
  
http://www.nagios.net.cn/blog/blog.php?do-showone-itemid-62-type-blog.html
  
先改成输出成文件
  
#vi ndomod.cfg
  
instance_name=default
  
#output_type=tcpsocket
  
#output=127.0.0.1
  

  
output_type=file
  
output=/usr/local/nagios/var/ndo.dat
  
service nagios restart
  
看看有没有/usr/local/nagios/var/ndo.dat文件,ok,发现文件,说明第一步可以生成文件
  
查看文件内容
  
cd /usr/local/nagios/var/
  
head -30 ndo.dat
  

  
HELLO
  
PROTOCOL: 2
  
AGENT: NDOMOD
  
AGENTVERSION: 1.4b7
  
STARTTIME: 1243393299
  
DISPOSITION: REALTIME
  
CONNECTION: FILE
  
CONNECTTYPE: INITIAL
  
INSTANCENAME: default
  
STARTDATADUMP
  

  

  
202:
  
1=300
  
2=0
  
3=0
  
4=1243393292.450675
  
73=1243393292
  
74=262144
  
72=ndomod: Error writing to data sink!  Some output may get lost...
  
999
  

  

  

  
201:
  
1=205
  
2=0
  
使用file2sock尝试socket方式
  
../bin/file2sock -s /usr/local/nagios/var/ndo.dat -d /usr/local/nagios/var/ndo.sock -t unix -p 5668
  
Error while writing to destination socket: Connection reset by peer
  
尝试tcp方式
  
vi ndo2db.cfg
  
#socket_type=unix
  
socket_type=tcp
  
重新载入ndo2db
  
ps aux|grep ndo2db
  
kill $pid
  
/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
  

  
../bin/file2sock -s ndo.dat -d localhost -t tcp -p 5668
  
Error while writing to destination socket: Connection reset by peer
  
依然不行,重新编译ndoutils并加上 LDFLAGS=-L/opt/mysql/lib
  
参考
  
http://www.itnms.net/discuz/viewthread.php?tid=1357&extra=pageD1&page=1
  
./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql LDFLAGS=-L/opt/mysql/lib --with-mysql-inc=/opt/mysql/include/mysql --with-mysql-lib=/opt/mysql/lib/mysql
  
make
  
#再执行一下安装过程后,通过
  
=================
  
200912-07 更新
  
tail /var/log/messages
  
Dec  7 14:09:13 localhost nagios: ndomod: Still unable to connect to data sink.  10547 items lost, 5000 queued items to flush.
  
Dec  7 14:09:29 localhost nagios: ndomod: Still unable to connect to data sink.  10746 items lost, 5000 queued items to flush.
  
连接不到mysql,重启一下
  
/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
  
Could not bind socket: Address already in use
  
ps aux|grep ndo2db
  
没有
  
查看套接字文件是否存在,删除之
  
ll /usr/local/nagios/var/ndo.sock
  
rm /usr/local/nagios/var/ndo.sock
  
重启
  
/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
  
tail /var/log/messages
  
Dec  7 14:09:45 localhost nagios: ndomod: Successfully connected to data sink.  10861 items lost, 5000 queued items to flush.
  
Dec  7 14:09:45 localhost nagios: ndomod: Successfully flushed 5000 queued items to data sink.
  
Dec  7 14:09:45 localhost ndo2db-3x: Successfully connected to MySQL database
  
解决



运维网声明 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-662575-1-1.html 上篇帖子: Nagios被监控端简单搭建 下篇帖子: nagios插件ndoutile
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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