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

[经验分享] Cacti的安装并整合nagios

[复制链接]

尚未签到

发表于 2019-1-11 10:32:25 | 显示全部楼层 |阅读模式
  Cacti的安装并整合nagios
  一:cacti环境的搭建
  1.rrdtool的安装,这里需要安装的是:rrdtool,rrdtool-devel.rrdtool-perl,rrdtool-php,我用的rrdtools的版本是1.4.4.1_x86_64。
  在这里没有提供rrdtool的工具,需要下载可以去这里下载上述的3个软件包
  rrdtool、rrdtool-devel的地址:http://packages.express.org/rrdtool/
  rrdtool-php的地址:http://pkgs.org/download/rrdtool-php
  注意,rrdtool的组件和附加组件版本尽量一致,而由于rrdtool-php这个包非常稀有,所以,尽量请以rrdtool-php的版本来决定rrdtool以及rrdtool-devel的版本。还有一定要对应环境,别安装成了fedora的版本了=。=
  下载完成后,本地yum安装
  1 yum localinstall -y --nogpgcheck rrdtool-*
  2 service mysqld start
  2.配置snmp
  3 vim /etc/snmp/snmpd.conf
  4  # 修改3项  127.0.0.1 、 all、启用项(修改的内容详见我Cacti的安装文档,上面有非常详细的内容介绍)
  5 service snmpd restart

  3.安装cacti
  6 wget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gz
  7 tar zxvf cacti-0.8.7h.tar.gz
  8 mv cacti-0.8.7h /var/www/html/cacti
  4.创建cacti数据库
  9 mysql> create database cacti;

  10 mysql> grant all on cacti.* to 'cacti'@'localhost'>  11 mysql> flush privileges;
  5.将cacti的表内容导入创建的数据库
  12 cd /var/www/html/cacti
  13 mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql
  6.分别编辑两个.php文件,以适应环境,修改内容相同。
  14 vim /var/www/html/cacti/include/config.php
  15 vim /var/www/html/cacti/include/global.php
  $database_default = &quot;cacti&quot;;       //默认数据库名
  $database_hostname = &quot;localhost&quot;;         //主机名
  $database_username = &quot;cacti&quot;;              //登陆数据库用户名
  $database_password = &quot;cacti&quot;;              //登陆数据库密码
  $database_port = &quot;3306&quot;;
  16 useradd &#8211;r &#8211;M cacti
  17 chown &#8211;R cacti /var/www/html/cacti/rra/
  18 chown &#8211;R cacti /var/www/html/cacti/log/
  7.在cacti用户下创建计划任务以画图
  19 su cacti
  20 crontab &#8211;e
  21 */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2&gt;&1
  22 php /var/www/html/cacti/poller.php &gt; /dev/null 2&gt;&1
  23 exit
  8.从web页面启动cacti,安装,并查看图形化界面
  二:整合Nagios与Cacti
  1.下载并安装ndoutils
  24 wget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz/download
  25 tar zxvf ndoutils-1.4b9.tar.gz
  26 cd ndoutils-1.4b9
  27 ./configure --prefix=/var/www/html/nagios --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql
  28 make
  2.准备配置文件
  29 cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /var/www/html/nagios/bin
  30 cd db
  31 ./installdb -ucacti -pcacti -hlocalhost -d cacti
  32 cd ..
  33 cp -v config/{ndo2db.cfg-sample,ndomod.cfg-sample} /var/www/html/nagios/etc
  34 mv /var/www/html/nagios/etc/ndo2db.cfg-sample /var/www/html/nagios/etc/ndo2db.cfg
  35 mv /var/www/html/nagios/etc/ndomod.cfg-sample /var/www/html/nagios/etc/ndomod.cfg
  36 chmod 644 /var/www/html/nagios/etc/ndo*
  37 chown nagios:nagios /var/www/html/nagios/etc/*
  38 chown nagios:nagios /var/www/html/nagios/bin/*
  3.修改nagios.cfg配置文件以适应当前环境
  39 vim /var/www/html/nagios/etc/nagios.cfg
  40  # 在文件中添加:
  41      broker_module=/var/www/html/nagios/bin/ndomod-3x.o config_file=/var/www/html/nagios/etc/ndomod.cfg
  42  # 检查
  43      event_broker_options=-1     ## 为Nagios开启event broker
  4.修改ndo2db.cfg以适应当前环境
  44 vim /var/www/html/nagios/etc/ndo2db.cfg
  45  # 确保下列内容为唯一项
  46  socket_type=tcp
  47  db_servertype=mysql
  48  db_host=localhost
  49  db_port=3306
  50  db_name=cacti
  51  db_prefix=nagios_
  52  db_user=cacti
  53  db_pass=cacti
  5.修改ndomod.cfg以适应当前环境
  54 vim /var/www/html/nagios/etc/ndomod.cfg
  55  # 确保下列项的唯一内容为
  56     output_type=tcpsocket
  57     output=127.0.0.1
  6.为ndo2db添加启动进程
  58 cp ./daemon-init /etc/init.d/ndo2db
  59 vim /etc/init.d/ndo2db
  60  # 检查里面的路径确保不会出现&#8220;//&quot;,并将Ndo2dbBin修改成下面的值:
  61      Ndo2dbBin=/var/www/html/nagios/bin/ndo2db-3x
  62 chmod +x /etc/init.d/ndo2db
  7.启动守护进程与nagios
  63 service ndo2db start
  64 tail -20 /var/log/messages    ## 查看其中是否有错误出现。如无报错请继续
  65 service nagios start
  三:安装ncp,以在Cacti中展现Nagios
  1.先安装cacti扩展模块
  66 wget http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7h-PA-v3.0.tar.gz
  67 tar xvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz
  68 cp -R cacti-plugin-arch/* /var/www/html/cacti/
  69 cd /var/www/html/cacti/
  70 mysql -ucacti -pcacti cacti < pa.sql
  71 patch -p1 -N &lt; cacti-plugin-0.8.7h-PA-v3.0.diff
  72  ## 为cacti配置文件打补丁的时候注意在为include/config.php打补丁的时候有可能它将 include/config.php.dist给打补丁了,我们只需要手动加入下面的内容即可。
  73 vim include/config.php
  74    # 修改(或新加入)为
  75     $url_path = &quot;/cacti/&quot;;
  从web进入cacti,启用cacti plugin扩展
  2.安装npc
  76 tar zxvf npc-2.0.4.tar.gz
  77 mv npc /var/www/html/cacti/plugins/
  78 vim /var/www/html/cacti/include/config.php
  79  # 加入:
  80      $plugins[] = 'npc';
  3.安装 npc支持:json
  81 wget http://pkgs.fedoraproject.org/repo/pkgs/php-pecl-json/json-1.2.1.tgz/d8904d2f004ceec85eeacf524cd25539/json-1.2.1.tgz
  82 tar zxvf json-1.2.1.tgz
  83 cd json-1.2.1
  84 phpize   ## 如果发现没有Phpize文件,则是因为php-devel包没有安装导致的
  85 ./configure
  86 make && make install
  87
  88 php -i | grep php.ini  ## 查看是否有导入信息
  4.打开php.ini文件添加对json的支持
  89 vim /etc/php.ini
  90    # 添加
  91  extension=json.so
  5.为apache添加php支持。
  92 vim /etc/httpd/conf/httpd.conf
  93  # 添加一行:
  94      AddType application/x-httpd-php .php .phtml
  95  # 修改原DirectoryIndex内容为:
  96      DirectoryIndex index.html index.html.var index.php
  97
  98 usermod -G cacti apache
  99 service httpd restart    ## 重启apache以让php生效
  100 php -m   ## 查看是否有json被加载
  6.修改配置文件以让npc读取到新的数据。
  101 vim /var/www/html/nagios/etc/ndo2db.cfg
  102      db_prefix=npc_
  6.1从Web进入Cacti,确保正确使用npc选项。
  6.2 修改mysql中的表结构:
  103 ./mysql -ucacti -p cacti
  104 mysql> use cacti;

  105 mysql&gt;>
  106 mysql&gt;>
  107 mysql&gt;>
  108 mysql&gt;>
  109 mysql&gt;>
  110 mysql&gt;>
  111 mysql&gt;>
  112 mysql&gt;>  7.重启ndo2db进程,重新加载配置文件重启nagios服务。
  113 service ndo2db restart
  114 service nagios restart
  8.在Web上配置NPC以使之正常读取工作。
  在Settings-&gt;npc中 ,勾上Remote Commands
  Nagios Command File Path= /var/www/html/nagios/var/rw/nagios.cmd
  Nagios URL=你的地址(http://ocalhost/nagios/)
  接下来刷新npc就可以看到数据啦:
  四:Nconf的安装与配置
  1.nconf的准备工作
  115 # 进入mysql数据库
  116 mysql&gt; create database nconf;
  117 # 创建nconf数据库

  118 mysql&gt; grant all privileges on nconf.* to nconf@localhost>  119 # 创建nconf用户并赋权
  120 mysql&gt; flush privileges;
  121 # 刷新特权表
  122 mysql&gt; quit
  2.安装nconf
  123 wget http://sourceforge.net/projects/nconf/files/nconf/1.2.6-0/nconf-1.2.6-0.tgz/download
  124 tar -zxf nconf-1.2.6-0.tgz -C /var/www/html/
  125 cd /var/www/html/nconf
  126 chown -R apache.apache config/ temp/ static_cfg/ output/
  3.进入Web页面在web页面按照安装提示一步步安装
  4.使用刚才创建的nconf数据库和nconf数据库用户/密码

  5.成功连接mysql数据库,之后一切保持默认,直到下面的,设置nconf管理员密码,此时默认登录用户为admin

  6.之后,网页安装完成。
  127 rm -rf INSTALL INSTALL.php  UPDATE UPDATE.php
  128  # 删除安装所需的初始化文件
  129 ln -s /var/www/html/nagios/bin/nagios bin/nagios
  130 chmod +x /var/www/html/nconf/bin/generate_config.pl
  131 chown -R apache.apache  bin
  132 chmod +x /var/www/html/nagios/bin/nagios
  133 chmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh
  134 vim /var/www/html/nconf/ADD-ONS/deploy_local.sh
  135 修改里面的Nagios路径为 /var/www/html/nagios/etc/
  7.重新刷新页面,输入admin/您设置的密码,进入nconf页面
  8.点击Generate Nagios config尝试生成配置文件,以测试是否与nagios成功关联
  9.最后的设置
  ①在web页面对监控服务和主机配置完毕,点击Generate Nagios config
  ②deploy_local.sh是nconf自带配置文件导入脚本
  136 /var/www/html/nconf/ADD-ONS/deploy_local.sh
  手动执行此脚本,将在/var/www/html/nagios/etc下生成两目录Default_collector与global
  ③修改nagios主配置文件
  137 vim /var/www/html/nagios/etc/nagios.cfg
  138  # 将其中cfg_file=*******字段全部注释 ,并加入
  139      cfg_dir=/var/www/html/nagios/etc/Default_collector
  140      cfg_dir=/var/www/html/nagios/etc/global

  141 service nagios>  142  # 重载nagios配置文件使之生效
  五:错误总结:
  1.启动ndo2db发现日志报错:
  ndomod: Could not open data sink! I'll keep trying, but some output may get lost...
  解决办法:
  检查 /nagios/etc目录的权限是否足够的大
  确保/var/www/html/nagios/etc/nagios.cfg中有如下行出现,否则,请自行添加:
  event_broker_options=-1
  检查ndo2db.cfg中的配置,确保使用tcp连接
  socket_type=tcp
  检查ndomod.cfg中的配置,确保使用tcp套接字
  output_type=tcpsocket
  2.在npc安装过程中进行表操作时报错

  mysql&gt;>  ERROR 1146 (42S02): Table 'cacti.npc_eventhandlers' doesn't exist
  解决办法:要先在cacti页面下正确的启用npc插件,正确的启用~一个向上的箭头和一个向右的箭头都要开启才行~
  3.在应用nconf的时候报错
  点 nconf --&gt; Generate Nagios config --&gt; 报错了。
  Error accessing or executing Nagios / Icinga binary '/var/www/html/nconf/bin/nagios'.
  Cannot run the mandatory syntax check.
  解决办法:
  检查你的/var/www/html/nconf/bin/nagios这个文件所链接的那个原始文件的权限,确保是777或者775
  4....当然还没有发现错误,如果有,将会继续补充,欢迎网友在安装部署的过程中发现错误将错误积极交流,我将一一添加&#8230;&#8230;
  六:最后的样式




运维网声明 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-661946-1-1.html 上篇帖子: 三种监控平台配置及其整合(cacti nagios ganglia) 二 下篇帖子: 安装最新版本的cacti
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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