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

10 nagios

[复制链接]

尚未签到

发表于 2019-1-14 11:42:25 | 显示全部楼层 |阅读模式
Cacti软件准备
  php-devel-5.1.6-27.el5.i386.rpm
  php-json-ext-1.2.1.tar.bz2
  php-mysql-5.1.6-40.el5_9.i386.rpm(如果不安装,则php连不上mysql)
  php-pdo-5.1.6-40.el5_9.i386.rpm(可能是php-mysql的依赖包,在yum安装php-mysql时连带安装)
  yum -y install php-devel php-mysql php-pdo
  php-json-ext不能yum安装上,因此需要手工安装。参见下面的安装过程。
Cacti服务器软件安装
参考资料
  http://viong.blog.运维网.com/844766/286701
  http://viong.blog.运维网.com/844766/288278
  http://www.cacti.net
  http://www.aydnw.com/html/database/mysql/22526.html
  http://peaceweb.blog.运维网.com/3226037/1065783
Json安装
  #rpm -ivh php-devel-5.1.6-27.el5.i386.rpm
  tar jxvf php-json-ext-1.2.1.tar.bz2
  cd php-json-ext-1.2.1
  phpize //如果执行不了,则可能没有安装php-devel
  Configuring for:
  PHP Api Version: 20041225
  Zend Module Api No: 20050922
  Zend Extension Api No: 220051025
  ./configure
  make && make install
  find / -name *json.so
  /usr/lib/php/modules/json.so
  /root/soft/php-json-ext-1.2.1/modules/json.so
  /root/soft/php-json-ext-1.2.1/.libs/json.so
  vi /etc/php.d/json.ini //添加以下内容
  extension=json.so
  保存退出
  service httpd restart
  测试PHP是否支持json扩展:
  vi /var/www/html/test.php
  添加以下内容
  
  保存退出
  在IE输入http://192.168.50.115/test.php 看到以下信息


  测试PHP连接mysql
  首先需要根据以下内容安装好mysql并启动,然后创建测试脚本:
  vi /var/www/html/testdb.php
  添加以下内容
  
  保存退出
  在IE输入http://192.168.50.115/testdb.php 看到以下信息:

  如果没有安装php-mysql,则不会显示成功或者失败。密码不正确,权限不对当然也不能连接哦。
Rrdtool安装
  http://pkgs.repoforge.org/rrdtool/
  #yum install libdbi 或 # rpm -ivh libdbi-0.8.1-2.1.i386.rpm
  # rpm -ivh lua-5.1.4-2.el5.rf.x86_64.rpm rpm -ivh lua-5.1.4-2.el5.rf.i386.rpm
  以上两个为rrdtoo的依赖包。
  rpm -ivh rrdtool-1.4.7-1.el5.rf.x86_64.rpm rrdtool-devel-1.4.7-1.el5.rf.x86_64.rpm perl-rrdtool-1.4.7-1.el5.rf.x86_64.rpm
  以上三个包要一起安装否则会报一些错误,如找不到perl(RRDp) 什么的。
  # rpm -ivh perl-rrdtool-1.4.7-1.el5.rf.i386.rpm rrdtool-devel-1.4.7-1.el5.rf.i386.rpm rrdtool-1.4.7-1.el5.rf.i386.rpm
Mysql安装
  yum install mysql-server
  yum install mysql-devel
  yum install mysql
Cacti安装
  1, 安装Cacti包
  # tar -zxvf cacti-0.8.8a.tar.gz
  mv cacti-0.8.8a /var/www/html/cacti/
  chown -R root.root /var/www/html/cacti/
  2, 配置mysql
  mysql -u root -h 127.0.0.1 -p
  Enter password:
  mysql> create database nagios;
  Query OK, 1 row affected (0.01 sec)
  mysql> grant all on nagios.* to ndouser@localhost identified by '111111';
  grant all on nagios.* to ndouser@127.0.0.1 identified by '111111';
  grant all on nagios.* to ndouser@192.168.50.0 identified by '111111';
  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;
  flush privileges;
  quit;
  到cacti根目录下把cacti.sql中的数据导入到数据库cacti中
  #cd /var/www/html/cacti
  mysql -uroot -p nagios&1
  [root@cacti-qmail cacti]# crontab -e
  */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
  也可手工跑一次: /usr/bin/php /var/www/html/cacti/poller.php
  手工跑的时候报错:
  1)# php /var/www/html/cacti/poller.php
  PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/mysql.so' - /usr/lib/php/modules/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
  PHP Notice: Constant URL_PATH already defined in /var/www/html/cacti/include/global.php on line 121
  网上搜了下说是MySQL-shared-community没安装,到以下网址下载对应的版本(先查mysql的版本:rpm -qa|grep mysql。我查到的版本是mysql-5.0.95-5.el5_9,因此下载MySQL-shared-community-5.0.95-1.rhel5.i386.rpm):
  http://rpm.pbone.net/index.php3?stat=3&limit=2&srodzaj=3&dl=40&search=MySQL-shared-community
  2)PHP Warning: strtotime(): It is not safe to rely on the system's timezone settings.
  vi /etc/php.ini
  date.timezone=PRC
  安装后还有问题:
  # php /var/www/html/cacti/poller.php
  PHP Notice: Constant URL_PATH already defined in /var/www/html/cacti/include/global.php on line 121
  FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'
  将include/config.php中的localhost,改成127.0.0.1也不行,然后执行:
  然后执行了下:grant all on nagios.* to ndouser@localhost identified by 'ndopassword';
  还是有错:
  # php /var/www/html/cacti/poller.php
  PHP Notice: Constant URL_PATH already defined in /var/www/html/cacti/include/global.php on line 121
  PHP Notice: Constant OPER_MODE_NATIVE already defined in /var/www/html/cacti/include/global_constants.php on line 192
  PHP Notice: Constant OPER_MODE_RESKIN already defined in /var/www/html/cacti/include/global_constants.php on line 193
  PHP Notice: Constant OPER_MODE_IFRAME_NONAV already defined in /var/www/html/cacti/include/global_constants.php on line 194
  sh: -q: command not found
  sh: -: command not found
  半天有憋出来两行:
  07/10/2013 01:25:59 PM - POLLER: Poller[0] Maximum runtime of 298 seconds exceeded. Exiting.
  07/10/2013 01:25:59 PM - SYSTEM STATS: Time:298.7934 Method:cmd.php Processes:1 Threads:N/A Hosts:2 HostsPerProcess:2 DataSources:0 RRDsProcessed:0
  不过再次运行报一些警告信息,先不管他。
  有时候执行 php -v ,报以下错误:
  PHP Warning: 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
  解决的办法也是需要安装MySQL-shared-community。
  如果还是不行,则执行以下命令(http://stackoverflow.com/questions/7979864/php-5-3-8-json-centos-6):
  # yumdownloader php-common
  # rpm -Uvh --force php-common*.rpm
  # service httpd reload
  # rm php-common*.rpm
  此后,执行php -v就正确了:
  # php -v
  PHP 5.3.3 (cli) (built: Jul 12 2013 20:35:47)
  Copyright (c) 1997-2010 The PHP Group
  Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
  [root@nagios-test ~]#
配置cacti
  http://127.0.0.1/cacti/install/



  里面的所有的项全部变绿色就行了,否则安装相关的包,如net-snmp有关的包。

  输入用户名和密码admin/admin,第一次需要强行修改密码。
Npc安装
  NPC(Nagios Plugin for Cacti)是一个Cacti插件,安装后可以在Cacti界面里使用Nagios的功能。
  # wget http://www.constructaegis.com/downloads/npc-2.0.4.tar.gz
  # tar -zxvf npc-2.0.4.tar.gz
  mv npc/ /var/www/html/cacti/plugins/
  vi /var/www/html/cacti/include/global.php
  添加以下参数
  $plugins= array();
  $plugins[] = 'npc';
  如下图:

  保存退出
  修改ndo2db.cfg
  vi /usr/local/nagios/etc/ndoutils/ndo2db.cfg
  db_prefix=nagios_ 修改为db_prefix=npc_
  查看日志
tail -100 /var/log/messages
tail -100 /usr/local/nagios/var/nagios.log
tail -100 /usr/local/nagios/var/ndo2db.debug
3、cacti插件npc提示no hosts
tail -100 /var/log/messages
localhost ndo2db-3x: mysql_error: 'Unknown column 'long_output' in 'field list''  
添加缺失的对应字段(这里可能会报不能使用默认值,可将DEFAULT ''去除后重新执行)
ALTER TABLE npc_eventhandlers ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_hostchecks ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_hoststatus ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_notifications ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_servicechecks ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_servicestatus ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_statehistory ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_systemcommands ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
FLUSH PRIVILEGES;
  重启ndo2db nagios 服务
  Shell>service ndo2db restart
  Shell>/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
  NPC界面设置
  点击(console)菜单栏 user management------->admin

  在realm permission---plugin management(打勾)

  返回(console)菜单栏,点击configuration--------plugin management—安装并激活npc插件

  返回(console)菜单栏,点击configuration-------settings----NPC,修改一下三个参数。这里的url的ip需要根据自己安装的nagios的ip地址进行填写。

  /usr/local/nagios/var/rw/nagios.cmd
  http://192.168.0.51/nagios
  返回(console)菜单栏,点击插件链接区-NPC

  

  但是看npc里发现空白的,没有数据,是因为php没有PDO_MYSQL支持,所以安装PDO_MYSQL
  1. # wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
  2. # tar zxvf PDO_MYSQL-1.0.2.tgz
  3. # cd PDO_MYSQL-1.0.2
  4. # /usr/local/php/bin/phpize 如果php是yum安装的,则直接执行phpize
  5. #./configure --with-php-config=/usr/bin/php-config 如果php是yum安装的就不需要 –-with......
  6. #make
  7. #make install
  8.
  9. 修改php.ini,添加如下信息,之后重启httpd即可
  10. extension = "pdo_mysql.so"
  如果报错:
  configure: error: mysql_query missing!?
  则:
  mkdir /usr/share/mysql/bin
  ln -s /usr/bin/mysql /usr/share/mysql/bin/mysql
  以上两句不一定有用
  ln -s /usr/lib/mysql/* /usr/local/lib/
  如果出现以下错误:

  则,找一下mysql的头文件:
  find / -name 'mysql.h'
  找到在/usr/include/mysql/中,则:
  ln -s /usr/include/mysql/* /usr/local/include/
  ./configure --with-php-config=/usr/bin/php-config --with-pdo-mysql=/usr/share/mysql
  这样configure就可以了,然后在make && make install
  http://192.168.0.51/test.php

  之后再访问就可看到有数据了:
  如果发现mysql数据库中只有nagios_开头的表,而没有npc_开头的表,请删除数据库后重新创建数据库。
重新创建数据库
  mysql>drop database nagios;
  Create database nagios;
  grant all on nagios.* to ndouser@localhost identified by '111111';
  grant all on nagios.* to ndouser@127.0.0.1 identified by '111111';
  grant all on nagios.* to ndouser@192.168.50.0 identified by '111111';
  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;
  flush privileges;
  quit;
  # cd ndoutils-1.5.2/db
  mysql -uroot -p nagios

运维网声明 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-663154-1-1.html 上篇帖子: 10 nagios 下篇帖子: Nagios NRPE学习心得
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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