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

nagios+cacti+nconf部署文档

[复制链接]

尚未签到

发表于 2019-1-14 11:45:16 | 显示全部楼层 |阅读模式
  
  这是我在线上部署参考的文档,期间遇到各种问题,比如nagios为off状态,没有数据显示等等,最后和百度大神一起都一一解决了,

  Nagios+Cacti+Nconf
  

  系统:CentOS5.8-x86_64
  

  安装前的准备工作
  yum install -y httpd-* mysql-* php-* net-snmp* gcc glibc glibc-common gd gd-devel
  一、nagios 环境的搭建
  1.安装nagios
  wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.3.1/nagios-3.3.1.tar.gz
  useradd nagios
  tar zxf nagios-3.3.1.tar.gz
  cd nagios
  ./configure -prefix=/var/www/html/nagios
  make all
  make install && make install-init && make install-commandmode && make install-config && make install-webconf
  2.增加nagios登陆认证文件,一定要用默认的nagiosadmin作为用户,否则需要修改其他文件。
  htpasswd -c /var/www/html/nagios/etc/htpasswd.users nagiosadmin
  3. 安装插件:
  wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz
  tar -zvxf nagios-plugins-1.4.15.tar.gz
  cd nagios-plugins-1.4.15
  ./configure -prefix=/var/www/html/nagios/
  make
  make install
  4.将运行Apache的用户添加到nagios组里,这样Apache才有权限读取文件
  usermod -G nagios apache ##将apache用户加到nagios组。
  5.阶段测试
  chown nagios.nagios /var/www/html/nagios/ -R
  service httpd restart
  chkconfig httpd on
  /etc/init.d/nagios start
  二:cacti环境的搭建
  1.rrdtool的安装,
  
#tar -zxvf rrdtool-1.4.5.tar.gz
#./configure --prefix=/usr/local/rrdtool
#make
#make install
安装rrdtool的时候报错


解决方法:yum -y install zlib zlib-devel libpng libpng-devel freetype freetype-devel libart_lgpl
libart_lgpl-devel libxml2 libxml2-devel gd gd-devel cairo cairo-devel pango pango-devel
  2.配置snmp
  vim /etc/snmp/snmpd.conf
    # 修改3项 127.0.0.1 、 all、启用项(修改的内容详见我Cacti的安装文档,上面有非常详细的内容介绍)
  com2sec notConfigUser 127.0.0.1  public
  access notConfigGroup ""  any  noauth exact all none none
  view all included .1        80
  service snmpd restart
  3.安装cacti
  wget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gz
  tar zxvf cacti-0.8.7h.tar.gz
  mv cacti-0.8.7h /var/www/html/cacti
  4.创建cacti数据库
  #mysql
  mysql> create database cacti;
  mysql> grant all on cacti.* to 'cacti' @'localhost' identified by 'cacti';
  mysql> flush privileges;
  5.将cacti的表内容导入创建的数据库
  cd /var/www/html/cacti
  mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql
  6.分别编辑两个.php文件,以适应环境,修改内容相同。
  vim /var/www/html/cacti/include/config.php
  vim /var/www/html/cacti/include/global.php
  $database_username = "cacti";
  $database_password = "cacti";
  useradd -r -M cacti
  chown -R cacti /var/www/html/cacti/rra/
  chown -R cacti /var/www/html/cacti/log/
  7.在cacti用户下创建计划任务以画图
  su cacti
  crontab -e
  */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
  php /var/www/html/cacti/poller.php > /dev/null 2>&1
  exit
  8.从web页面启动cacti,安装,并查看图形化界面
  三:整合Nagios与Cacti
  1.下载并安装ndoutils
  wget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b7/ndoutils-1.4b7.tar.gz/download
  tar zxvf ndoutils-1.4b7.tar.gz
  cd ndoutils-1.4b7
  ./configure
  make
  2.准备配置文件
  cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /var/www/html/nagios/bin
  cd db
  ./installdb -ucacti -pcacti -hlocalhost -d cacti
  cd ..
  cp -v config/{ndo2db.cfg-sample,ndomod.cfg-sample} /var/www/html/nagios/etc
  mv /var/www/html/nagios/etc/ndo2db.cfg-sample /var/www/html/nagios/etc/ndo2db.cfg
  mv /var/www/html/nagios/etc/ndomod.cfg-sample /var/www/html/nagios/etc/ndomod.cfg
  chmod 644 /var/www/html/nagios/etc/ndo*
  chown nagios:nagios /var/www/html/nagios/etc/*
  chown nagios:nagios /var/www/html/nagios/bin/*
  3.修改nagios.cfg配置文件以适应当前环境
  vim /var/www/html/nagios/etc/nagios.cfg
   # 在文件中添加:
    broker_module=/var/www/html/nagios/bin/ndomod-3x.o config_file=/var/www/html/nagios/etc/ndomod.cfg
   # 检查
    event_broker_options=-1  ## 为Nagios开启event broker
  4.修改ndo2db.cfg以适应当前环境
  vim /var/www/html/nagios/etc/ndo2db.cfg
   # 确保下列内容为唯一项
    socket_type=unix
    db_servertype=mysql
    db_host=localhost
    db_port=3306
    db_name=cacti
    db_prefix=nagios_
    db_user=cacti
    db_pass=cacti
  5.修改ndomod.cfg以适应当前环境
  vim /var/www/html/nagios/etc/ndomod.cfg
   # 确保下列项的唯一内容为
   output_type=unixsocket
   output=127.0.0.1
  6.ndo2db启动
  /var/www/html/nagios/bin/ndo2db-3x -C /var/www/html/nagios/etc/ndo2db.cfg
  7.启动守护进程与nagios
  service ndo2db start
  tail -20 /var/log/messages ## 查看其中是否有错误出现。如无报错请继续
  service nagios start
  四:安装ncp,以在Cacti中展现Nagios
  1.先安装cacti扩展模块
  wget http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7h-PA-v3.0.tar.gz
  tar xvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz
  cp -R cacti-plugin-arch/* /var/www/html/cacti/
  cd /var/www/html/cacti/
  mysql -ucacti -pcacti cacti < pa.sql
  patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff
   ## 为cacti配置文件打补丁的时候注意在为include/config.php打补丁的时候有可能它将 include/config.php.dist给打补丁了,我们只需要手动加入下面的内容即可。
  vim include/config.php
   # 修改(或新加入)为
   $url_path = "/cacti/";
  从web进入cacti,启用cacti plugin扩展
  2.安装npc
  http://en.sourceforge.jp/frs/g_redir.php?m=jaist&f=%2Fgibtmirdas%2Fnpc-2.0.4.tar.gz
  tar zxvf npc-2.0.4.tar.gz
  mv npc /var/www/html/cacti/plugins/
  vim /var/www/html/cacti/include/config.php
   # 加入:
    $plugins[] = 'npc';
  

  3.安装 npc支持:json
  wget http://pkgs.fedoraproject.org/repo/pkgs/php-pecl-json/json-1.2.1.tgz/d8904d2f004ceec85eeacf524cd25539/json-1.2.1.tgz
  tar zxvf json-1.2.1.tgz
  cd json-1.2.1
  phpize ## 如果发现没有Phpize文件,则是因为php-devel包没有安装导致的
  ./configure
  make && make install
  

  php -i | grep php.ini ## 查看是否有导入信息
  4.打开php.ini文件添加对json的支持
  vim /etc/php.ini
   # 添加
   extension=json.so
  5.为apache添加php支持。
  vim /etc/httpd/conf/httpd.conf
   # 添加一行:
    AddType application/x-httpd-php .php .phtml
   # 修改原DirectoryIndex内容为:
    DirectoryIndex index.html index.html.var index.php
  

  usermod -G cacti apache
  service httpd restart ## 重启apache以让php生效
  php -m ## 查看是否有json被加载
  6
  从Web进入Cacti,确保正确使用npc选项。
  6.1修改配置文件以让npc读取到新的数据。
  vim /var/www/html/nagios/etc/ndo2db.cfg
    db_prefix=npc_
  

  6.2 修改mysql中的表结构:
  #mysql -ucacti -pcacti
  mysql> use cacti;
  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 ndo2db restart
  service nagios restart
  8.在Web上配置NPC以使之正常读取工作。
  在Settings->npc中 ,勾上Remote Commands
  Nagios Command File Path= /var/www/html/nagios/var/rw/nagios.cmd
  Nagios URL=你的地址(http://ocalhost/nagios/)
  接下来刷新npc就可以看到数据啦:
  

  五:Nconf的安装与配置
  1.nconf的准备工作
  # 进入mysql数据库
  mysql> create database nconf;
  # 创建nconf数据库
  mysql> grant all privileges on nconf.* to nconf@localhost identified by 'nconf';
  # 创建nconf用户并赋权
  mysql> flush privileges;
  # 刷新特权表
  mysql> quit
  2.安装nconf
  wget http://sourceforge.net/projects/nconf/files/nconf/1.2.6-0/nconf-1.2.6-0.tgz/download
  tar -zxf nconf-1.2.6-0.tgz -C /var/www/html/
  cd /var/www/html/nconf
  chown -R apache.apache config/ temp/ static_cfg/ output/
  3.进入Web页面在web页面按照安装提示一步步安装
  4.使用刚才创建的nconf数据库和nconf数据库用户/密码
  五:Nconf的安装与配置
  1.nconf的准备工作
  # 进入mysql数据库
  mysql> create database nconf;
  # 创建nconf数据库
  mysql> grant all privileges on nconf.* to nconf@localhost identified by 'nconf';
  # 创建nconf用户并赋权
  mysql> flush privileges;
  # 刷新特权表
  mysql> quit
  2.安装nconf
  wget http://sourceforge.net/projects/nconf/files/nconf/1.2.6-0/nconf-1.2.6-0.tgz/download
  tar -zxf nconf-1.2.6-0.tgz -C /var/www/html/
  cd /var/www/html/nconf
  chown -R apache.apache config/ temp/ static_cfg/ output/
  3.进入Web页面在web页面按照安装提示一步步安装
  4.使用刚才创建的nconf数据库和nconf数据库用户/密码
  5.成功连接mysql数据库,之后一切保持默认,直到下面的,设置nconf管理员密码,此时默认登录用户为admin
  6.之后,网页安装完成。
  rm -rf INSTALL INSTALL.php UPDATE UPDATE.php
   # 删除安装所需的初始化文件
  ln -s /var/www/html/nagios/bin/nagios bin/nagios
  chmod +x /var/www/html/nconf/bin/generate_config.pl
  chown -R apache.apache bin
  chmod +x /var/www/html/nagios/bin/nagios
  chmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh
  vim /var/www/html/nconf/ADD-ONS/deploy_local.sh
  修改里面的Nagios路径为 /var/www/html/nagios/etc/
  7.重新刷新页面,输入admin/您设置的密码,进入nconf页面
  8.点击Generate Nagios config尝试生成配置文件,以测试是否与nagios成功关联
  9.最后的设置
  ①在web页面对监控服务和主机配置完毕,点击Generate Nagios config
  ②deploy_local.sh是nconf自带配置文件导入脚本
  /var/www/html/nconf/ADD-ONS/deploy_local.sh
  手动执行此脚本,将在/var/www/html/nagios/etc下生成两目录Default_collector与global
  ③修改nagios主配置文件
  vim /var/www/html/nagios/etc/nagios.cfg
   # 将其中cfg_file=*******字段全部注释 ,并加入
    cfg_dir=/var/www/html/nagios/etc/Default_collector
    cfg_dir=/var/www/html/nagios/etc/global
  service nagios reload
   # 重载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-663156-1-1.html 上篇帖子: Nagios NRPE学习心得 下篇帖子: Nagios 3.2 监控部署(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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