监控系统安装配置文档(Nagios+Cacti+Nconf)
一:Nagios环境的搭建
1.为以后的配置搭建安装环境
# yum install -y http*
# yum install -y mysql*
# yum install -y php-*
# yum install -y net-snmp*

# yum install -y httpd gcc glibc glibc-common gd gd-devel php php-gd ntp

2.安装nagios

# wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.3.1/nagios-3.3.1.tar.gz

# tar zxf nagios-3.3.1.tar.gz
# cd nagios
# ./configure --prefix=/var/www/html/nagios
# make all
# useradd nagios

# 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 -xf nagios-plugins-1.4.15.tar
# 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的安装,这里需要安装的是:rrdtool,rrdtool-devel.rrdtool-perl,rrdtool-php
# yum localinstall -y --nogpgcheck rrdtool-*
# service mysqld start
2.配置snmp
# vim /etc/snmp/snmp.conf
修改3项 127.0.0.1 、 all、启用项
# 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> 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_default = "cacti";       //默认数据库名

$database_hostname = "localhost";         //主机名

$database_username = "cacti";              //登陆数据库用户名

$database_password = "cacti";              //登陆数据库密码

$database_port = "3306";

# 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

*/1 * * * * 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.4b9/ndoutils-1.4b9.tar.gz/download

# tar zxvf ndoutils-1.4b9.tar.gz
# cd ndoutils-1.4b9

# ./configure --prefix=/var/www/html/nagios --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql

# 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=tcp
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=tcpsocket
output=127.0.0.1
6.为ndo2db添加启动进程
# cp ./daemon-init /etc/init.d/ndo2db
# vim /etc/init.d/ndo2db
检查里面的路径确保不会出现“//",并将Ndo2dbBin修改成下面的值:
Ndo2dbBin=/var/www/html/nagios/bin/ndo2db-3x
# chmod +x /etc/init.d/ndo2db
7.启动守护进程

# /var/www/html/nagios/bin/ndo2db-3x -c /var/www/html/nagios/etc/ndo2db.cfg

# tail -20 /var/log/messages    //查看其中是否有错误出现
添加开机自动启动

# echo "/var/www/html/nagios/bin/ndo2db-3x -c /var/www/html/nagios/etc/ndo2db.cfg" >> /etc/rc.local

# service nagios restart
四:安装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
# 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.修改配置文件以让npc读取到新的数据。
# vim /var/www/html/nagios/etc/ndo2db.cfg
db_prefix=npc_
6.1
从Web进入Cacti,确保正确使用npc选项。
6.2 修改mysql中的表结构:
./mysql -ucacti -p cacti

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;

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的安装与配置
首先对mysql数据库进行定义
mysql> create database nconf; 

mysql> grant all privileges on nconf.* to nconf@localhost identified by 'nconf';

mysql> flush privileges;  
mysql>quit
下载与安装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/

进入web,开始安装
http://您nagios监控端的IP/nconf
在web页面按照安装提示一步步安装
使用刚才创建的nconf数据库和nconf数据库用户/密码
输入用于通过nconf生成nagios配置文件所需的nconf路径和nagios命令路径
设置nconf管理员密码,此时默认登录用户为admin
网页安装完成
# 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-ONE/deploy_local.sh
修改里面的nagios为我们nagios的安装路径/var/www/html/nagios
重新刷新页面,输入admin/您设置的密码,进入nconf页面

点击Generate Nagios config尝试生成配置文件,以测试是否与nagios成功关联

注意:nconf在点击【Generate Nagios config】后将您的生成nagios配置文件是/var/www/html/nconf/output/NagiosConfig.tgz,而并非直接导入nagios中。

1.在web页面对监控服务和主机配置完毕,点击【Generate Nagios config】

2.deploy_local.sh是nconf自带配置文件导入脚本
# /var/www/html/nconf/ADD-ONS/deploy_local.sh
手动执行此脚本,将在/var/www/html/nagios/etc下生成两目录Default_collector与global
3.修改nagios主配置文件
# vim /var/www/html/nagios/etc/nagios.cf
将其中cfg_file=*******字段全部注释 ,并加入

cfg_dir=/var/www/html/nagios/etc/Default_collector

cfg_dir=/var/www/html/nagios/etc/global

# service nagios reload
重载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

转载于:https://blog.51cto.com/yyy3y/727964

监控系统安装配置文档(Nagios+Cacti+Nconf)相关推荐

  1. Nagios+Cacti+Nconf配置

    生产环境开源监控系统整合Nagios+Cacti+Nconf 原始出处:http://www.weiyan.me/2012/05/130根据该文增加注释 软件打包的下载地址如下http://down. ...

  2. nagios配置文档

    nagios配置文档 关于nagios  Nagios是一款用于系统和网络监控的应用程序.它可以在你设定的条件下对主机和服务进行监控,在状态变差和 变好的时候给出告警信息. Nagios最初被设计为在 ...

  3. nagios监控安装配置文档+139邮箱报警

    Linux+apache+mysql+php+nagios监控服务搭建 参考了很多文档总结出来的一个比较完整的nagios服务的搭建: nagios是一款开源监控软件,运行在LINUX/UNIX平台, ...

  4. nagios 总结_nagios配置文档总结

    暂无评价|0人阅读|0次下载|举报文档 nagios监控系统NAGIOS监控系统一点经验和总结 隋剑峰 一.介绍什么是Nagios? Nagios是...... 实战:nagios配置web方式管理和 ...

  5. 浪潮服务器装系统2016,浪潮服务器系统安装及raid配置文档.pdf

    浪潮服务器系统安装及raid配置文档.pdf 浪潮多型号服务器操作系统安装操作步骤及raid阵列配置,包含bios设置,内容详细.1)主机序列号输入错误,请再次确认主机序列号是否准确2)生产日期早于2 ...

  6. FortiGate FGCP HA 配置文档

    请访问原文链接:https://sysin.org/blog/fortios-fgcp-ha-config/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页:www ...

  7. 转发一份GoldenGate 配置文档

    转发一份GoldenGate 配置文档,里面有参数说明,值得看 1       GoldenGate简要说明 GoldenGate现在是业内成熟的数据容灾与复制产品,经过多年的发展与完善,现在已经成为 ...

  8. Juniper SRX JSRP 配置文档

    请访问原文链接:https://sysin.org/blog/juniper-srx-jsrp-config/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页:ww ...

  9. Java日志框架-Logback手册中文版以及官方配置文档教程

    Logback手册中文版:(链接: https://pan.baidu.com/s/1bpMyasR 密码: 6u5c),虽然版本有点旧,但是大体意思差不多,先用中文版了解个大概,然后一切最新的配置以 ...

最新文章

  1. synchronized 关键字解析
  2. CentOS中安装git
  3. 【模板】匈牙利算法 二分图最大匹配题模板
  4. 关于EF使用脏读(连接会话开始执行设置隔离级别)
  5. 运行在Spark大数据上的应用体系架构
  6. 二分+最大化最小值 River Hopscotch POJ - 3258
  7. 【转】VS编程,快速折叠或者展开代码到 #region 级别的设置方法。
  8. 日志文件和mysql同步到kafka_logstash_output_kafka:Mysql 同步 Kafka 深入详解
  9. Repeater 中如何绑定计算列的值
  10. macOS Monterey 兼容哪些 Mac?
  11. RationRose UML建模工具
  12. 计算机视觉常用滤波,【计算机视觉】 滤波器
  13. 【HTML+CSS】移动端布局之流式布局
  14. EXCEL:转换人民币大写
  15. 问卷设计一:问卷题目哪些有类型和注意要点?
  16. Spacy分词php,spaCy 第二篇:语言模型
  17. 有关阿里云ECS访问端口和加入安全组的说明
  18. 实时获取Android手机CPU频率
  19. 关于js的回调函数,同步回调与异步回调
  20. listen的第二个参数

热门文章

  1. Elastic Job入门(1) - 简介
  2. 设计模式C++实现——组合模式
  3. Barracuda VS antelope
  4. Java架构师在线视频,架构师的7大必备技能
  5. matplotlib 高阶之Transformations Tutorial
  6. 06.十分钟学会表达式语言EL
  7. 缓存之 ACache
  8. 如何实现文字在图片中间的效果
  9. 2016 -1 -3 导航控制器的学习
  10. MySQL查询本周、上周、本月、上个月份数据的sql代码