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

[经验分享] 基于fedora16的nagios环境搭建

[复制链接]

尚未签到

发表于 2019-1-11 10:45:01 | 显示全部楼层 |阅读模式
  参考文章:http://foreveryan.blog.运维网.com/3508502/727866
  http://freeze.blog.运维网.com/1846439/386828
  因为我的cacti已经安装,数据库名为cactidb
  ndoutils也已经安装,数据库为ndodb
  整合
  1:安装cacti-plugin-0.8.7h-PA-v3.0.tar.gz 因为我安装的cacti为0.8.8,
  没有该版本的补丁,本来以为要降低版本,但是尝试了一下,使用cacti0.8.8也可以实现整合,不需要补丁。
  但是还是要实现cacti插件扩展的
  vim include/config.php
  


  •    # 修改(或新加入)为
  •     $url_path = "/cacti/";


从web进入cacti,启用cacti plugin扩展

   因为我已经安装cacti时在config.cfg和global.cfg文件都加入了扩展所以也不用修改
  2:nagios plugin for cacti (npc)
  现在官网上npc已经没有了,直接在51.cto网站就有:
  http://down.运维网.com/data/327336


  • tar zxvf npc-2.0.4.tar.gz
  • mv npc /usr/local/apache/htdocs/cacti/plugins/
  • vim /usr/local/apache/htdocs/cacti/include/config.php
  •     # 加入:
  •      $plugins[] = 'npc';
  3: 安装 npc支持:json
  要让npc获得json的动态链接库的支持,要慎重。
  因为我们在安装php的时候,或者安装其他插件时,可能要有json的支持。也许你已经安装好了json。我现在版本的php中,json已经在安装yum install php-common时就已经安装好了,你在安装之前可以先看看有没有json
  我的在/usr/lib/php/modules/目录下。如果有就不需要安装了。还需要声明一点我的php放在了/usr/local/php/bin
  如果是yum 安装php 可能在/usr/bin/php
  所以执行php -m 看看都加载了那些模块时要选对
  /usr/local/php/bin/php -m 或者 php -m
  如果你重新安装json 执行以上命令时可能要出现一下问题
  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/json.so' - /usr/lib64/php/modules/json.so: undefined symbol: ZVAL_DELREF in Unknown on line 0
  这是因为你重写了json 所以出错了。
  我是这么解决的;先yum remove php-common
  然后再重装删掉的包
  这样就好了。
  4.  打开php.ini文件添加对json的支持
  


  • vim /etc/php.ini
  •    # 添加
  •     extension=json.so

  这一步因为我的php目录不同,所以应该在/usr/local/php/lib/php.ini


  但是我没加这个支持,也可以,不知为什么。
  php -m 或者 /usr/local/php/bin/php   ## 查看是否有json被加载

5 .修改配置文件以让npc读取到新的数据。
  


  • vim /var/www/html/nagios/etc/ndo2db.cfg
  •      db_prefix=npc_


   这里我要说以下,本来我的ndoutils 安装的数据库为ndodb,表都是以nagios_开始的,cacti的数据库为cactidb。我还以为要重新安装ndoutils,统一数据库为cactidb。后来我发现不用,因为你安装npc插件后,会自动在cactidb中产生npc_开头的适合ndoutils的表。具体是安装cacti时就有的还是安装npc时有的,我也不确定。就是说只要修改ndo2db.cfg中db_prefix=npc就可以了,当然了也要把数据库 密码等等修改为caci的数据库cactidb

   从Web进入Cacti,确保正确使用npc选项。



6.2 修改mysql中的表结构:
  


  • ./mysql -ucactier -p 111111
  • mysql> use cactidb;
  • mysql> alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;
  • mysql> alter table npc_hostchecks add long_output TEXT NOT NULL default '' after output;
  • mysql> alter table npc_hoststatus add long_output TEXT NOT NULL default '' after output;
  • mysql> alter table npc_notifications add long_output TEXT NOT NULL default '' after output;
  • mysql> alter table npc_servicechecks add long_output TEXT NOT NULL default '' after output;
  • mysql> alter table npc_servicestatus add long_output TEXT NOT NULL default '' after output;
  • mysql> alter table npc_statehistory add long_output TEXT NOT NULL default '' after output;
  • mysql> alter table npc_systemcommands add long_output TEXT NOT NULL default '' after output;


7.重启ndo2db进程,重新加载配置文件重启nagios服务。



  • service nagios restart
  • 重启ndo2db我的比较麻烦
  • ps aux |grep ndo2db
  • kill掉ndo2db进程
  • /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
  • 开启ndo2db

8.在Web上配置NPC以使之正常读取工作。







然后再

在Settings->npc中 ,勾上Remote Commands

Nagios Command File Path= /usr/local/nagios/var/rw/nagios.cmd

Nagios URL=你的地址(http://localhost/nagios/)

在configure 栏的setting下有plugin management 选项,找到后,点击后可以找到npc

然后要建立install 并enable

接下来可以重启一下nagios和ndo2db 然后

接下来刷新npc就可以看到数据啦:如下图


这样就可以了。



有几点注意:

1:cacti 有时不画图,可以重启一下snmp
  2:安装npc可能出现一下错误:
  npc一点数据都没有,nagios的东西都不显示。
  我再没成功时,出现了一下错误。
  apache的error_log日志中为
  PHP Fatal error:  Uncaught exception 'Doctrine_Connection_Exception' with message 'Couldn't locate driver named mysql'
  in /usr/local/apache/htdocs/cacti/plugins/npc/lib/Doctrine/Connection.php:483\nStack trace:\n#0
  /usr/local/apache/htdocs/cacti/plugins/npc/lib/Doctrine/Connection/Mysql.php(101): Doctrine_Connection->connect()\n#1
  /usr/local/apache/htdocs/cacti/plugins/npc/lib/Doctrine/Connection.php(1009): Doctrine_Connection_Mysql->connect()\n#2
  /usr/local/apache/htdocs/cacti/plugins/npc/lib/Doctrine/Connection.php(808): Doctrine_Connection->execute('SELECT COUNT(*)...', Array)\n#3
  /usr/local/apache/htdocs/cacti/plugins/npc/lib/Doctrine/Query.php(1894): Doctrine_Connection->fetchAll('SELECT COUNT(*)...', Array)\n#4
  /usr/local/apache/htdocs/cacti/plugins/npc/lib/Doctrine/Pager.php(108): Doctrine_Query->count(Array)\n#5
  /usr/local/apache/htdocs/cacti/plugins/npc/lib/Doctrine/Pager.php(570): Doctrine_Pager->_initialize(Array)\n#6
  /usr/local/apache/htdocs/cacti/plugins/npc/controllers/services.php(260): Doctrine_Pager->execute(Array, 3) in
  /usr/local/apache/htdocs/cacti/plugins/npc/lib/Doctrine/Connection.php on line 483, referer:
  http://localhost/cacti/plugins/npc/npc.php?module=layout&action=drawLayout
  这是因为php安装时,选项--with-pdo-mysql没有
  在phpinfo()的显示中要有如下内容pdo和pdo-mysql

  且pdo里要有mysql
  但是一定要安装上php-mysql和php-do
  3:我有时nagios显示off
  这是要启动ndo2db和nagios才行,如果还不行,就要重启着两个试试,
  如果还有错误,那就要具体问题具体分析了。
  4:有时ndo2db插入数据cactidb中时,对于表npc_servicechecks 类似的表插入不进,出现一下错误
  Error: mysql_query() failed for 'INSERT INTO npc_servicechecks SET instance_id='1', service_object_id='18', check_type='0', current_check_attempt='1'
  Apr 30 16:08:04 localhost ndo2db-3x: mysql_error: 'Unknown column 'long_output' in 'field list
  这是因为你没有
  alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;
  或者你又重新设置了npc就会出现这个问题。
  对于数据库的改变不要忘记




运维网声明 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-661961-1-1.html 上篇帖子: 运维网集成制作发布的Cacti+Nagios 下篇帖子: cacti+rrdtool+snmp监控系统
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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