cy_88 发表于 2019-1-11 10:32:25

Cacti的安装并整合nagios

  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
http://maqianqian.blog.运维网.com/attachment/201205/16/3455725_13371605774Eh2.png
  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 –r –M cacti
  17 chown –R cacti /var/www/html/cacti/rra/
  18 chown –R cacti /var/www/html/cacti/log/
  7.在cacti用户下创建计划任务以画图
  19 su cacti
  20 crontab –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# 确保下列内容为唯一项
  46socket_type=tcp
  47db_servertype=mysql
  48db_host=localhost
  49db_port=3306
  50db_name=cacti
  51db_prefix=nagios_
  52db_user=cacti
  53db_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# 检查里面的路径确保不会出现“//&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    # 添加
  91extension=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数据库用户/密码
http://maqianqian.blog.运维网.com/attachment/201205/16/3455725_13371605771dUy.png
  5.成功连接mysql数据库,之后一切保持默认,直到下面的,设置nconf管理员密码,此时默认登录用户为admin
http://maqianqian.blog.运维网.com/attachment/201205/16/3455725_1337160578chGa.png
  6.之后,网页安装完成。
  127 rm -rf INSTALL INSTALL.phpUPDATE 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.apachebin
  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....当然还没有发现错误,如果有,将会继续补充,欢迎网友在安装部署的过程中发现错误将错误积极交流,我将一一添加……
  六:最后的样式
http://maqianqian.blog.运维网.com/attachment/201205/16/3455725_13371605791ZOP.png
http://maqianqian.blog.运维网.com/attachment/201205/16/3455725_1337160579z3Sy.png

页: [1]
查看完整版本: Cacti的安装并整合nagios