首页
运维教程
Linux基础
系统服务
系统架构
数据库
shell脚本
虚拟化
大数据
DevOps
企业案例
运维开发
python
go语言
运维安全
行业资讯
网络基础
系统安全
运维面试
学习路线
学习方法
面试题库
职场解惑
常用软件
运维软件
办公软件
书籍资源
日知录
招聘信息
读书计划
书单
关于我们
首页 运维教程Linux基础生产环境下搭建 nagios+nconf+cacti+npc的整合

生产环境下搭建 nagios+nconf+cacti+npc的整合

系统:CentOS6.5 内核版本系统:2.6.32-431.23.3.el6.x86_64

关闭iptables 、selinux

chkconfig iptables off

安装前的准备工作

yum install -y httpd-  mysql- php-  net-snmp如果你直接成功了那么恭喜你请直接看2.cacti-spine的应用,如果出现报错

[root@iZ2314cchhjZ cacti-spine-0.8.7e]# ./configure

configure: error: cannot run /bin/sh config/config.sub

[root@iZ2314cchhjZ cacti-spine-0.8.7e]#

 

解决步骤

cd cacti-spine-0.8.7e/config

ll -h

rm -rf config.guess config.sub ltmain.sh

ln -s -f /usr/share/libtool/config/config.sub config.sub

ln -s -f /usr/share/libtool/config/config.guess config.guess

ln -s -f /usr/share/libtool/config/ltmain.sh ltmain.sh

cd ..

./configure

make

make install

vi /usr/local/spine/etc/spine.conf

修改内容如下:

DB_Host         localhost

DB_Database     cacti

DB_User         cacti

DB_Pass         cacti

DB_Port         3306

/usr/local/spine/bin/spine

echo /usr/local/spine/bin/spine >>/etc/rc.d/rc.local

如果你make 成功了请忽略这里

这时候你make 报错,这是因为你可能没有装 libtool 或者libtool的版本不匹配

./libtool: line 467: CDPATH: command not found

./libtool: line 1145: func_opt_split: command not found

libtool: Version mismatch error.  This is libtool 2.2.6b, but the

libtool: definition of this LT_INIT comes from an older release.

libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b

libtool: and run autoconf again.

make: *** [spine] 错误 63

先检查你有没有安装libtool 如果没有就yum install libtool*  然后在进行尝试

如果还不行的

[root@iZ2314cchhjZ cacti-spine-0.8.7e]# autoreconf –force –install

[root@iZ2314cchhjZ cacti-spine-0.8.7e]# make

make install

vi /usr/local/spine/etc/spine.conf

修改内容如下:

DB_Host         localhost

DB_Database     cacti

DB_User         cacti

DB_Pass         cacti

DB_Port         3306

/usr/local/spine/bin/spine

echo /usr/local/spine/bin/spine >>/etc/rc.d/rc.local

2.cacti-spine的应用

控制面板 > 设置 >  路径 > Spine轮询器路径  /usr/local/spine/bin/spine   

控制面板 > 设置 > 轮询器 >  轮询器类型  spine

转存失败
重新上传
取消

转存失败
重新上传
取消

 

 

四:整合Nagios与Cacti

1.下载并安装ndoutils

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=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添加启动进程

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.启动守护进程与nagios

service ndo2db start

tail -20 /var/log/messages    ## 查看其中是否有错误出现。如无报错请继续

service nagios restart

五:安装cacti-plugin 插件管理

Cacti-Plugin安装过程如下:

gunzip cacti-plugin-0.8.7e-PA-v2.5-cn-utf8.diff.gz

mv cacti-plugin-0.8.7e-PA-v2.5-cn-utf8.diff /var/www/cacti/

cd /var/www/html/cacti

mysql -ucacti -pcacti cacti < pa.sql 

patch -p1 -N < cacti-plugin-0.8.7e-PA-v2.5-cn-utf8.diff

如果你的cacti访问时候是使用http://ip/cacti,你需要修改/var/www/cacti/include/global.php

修改如下:

database_type = “mysql”;database_default = “cacti”;

database_hostname = “localhost”;database_username = “cacti”;

database_password = “cacti”;database_port = “3306”;

 

config[‘url_path’] = ‘/cacti/’;          #记住是修改不是添加

 

配置Cacti

控制面板 > 用户管理 > admin > 区域权限,选择”插件管理” > 保存

然后我们就能够在控制面板的”配置”下面看到多出一个”插件管理”的选项

 

 

转存失败
重新上传
取消

 

六:安装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’;

转存失败
重新上传
取消

1.安装 npc支持:json    (看情况进行安装)

先使用这条命令看看PHP里有没有JSON的模块php -m | grep json如果有了就略过。

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  ## 查看是否有导入信息

打开php.ini文件添加对json的支持

vim /etc/php.ini

   # 添加

    extension=json.so 

 

php -m   ## 查看是否有json被加载

2.配置npc基本环境

一.为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生效

 学神科技有限公司Linux讲师:top  联系QQ 3059942361   想要深入学习Linux系统架构师,可以随时与我联系

二.修改配置文件以让npc读取到新的数据。

vim /var/www/html/nagios/etc/ndo2db.cfg

     db_prefix=npc_ 

 

三. 修改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;

四.重启ndo2db进程,重新加载配置文件重启nagios服务。

service ndo2db restart

service nagios restart

五.在Web上配置NPC以使之正常读取工作。

控制面板 > 插件管理 > 安装 > 启用

控制面板 > 设置 > NPC

Nagios Command File Path= /var/www/html/nagios/var/rw/nagios.cmd

Nagios URL=你的地址(http://101.200.175.24/nagios)

接下来刷新npc就可以看到数据啦

 

如果你点开NPC的时候状态是OFF的话。进行操作如下:

vim /var/www/html/nagios/etc/ndomod.cfg

修改

output_type=tcpsocket

vim /var/www/html/nagios/etc/ndo2db.cfg

修改

socket_type=tcp

一定要保证是唯一项

七:Nconf的安装与配置

1.nconf的准备工作

#mysql

mysql> create database nconf;  

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

mysql> flush privileges;

mysql> quit 

2.安装nconf

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页面按照安装提示一步步安装

*使用刚才创建的nconf数据库和nconf数据库用户/密码

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

5.之后,网页安装完成。

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/

转存失败
重新上传
取消

6.重新刷新网页

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

 

8.最后的设置

一.在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配置文件使之生效

作者:互联网老辛
互联网编程手艺人,架构师,一个技术极客,一个布道者;高中起就有一个做讲师的梦想,工作十余载,终于有幸成为云计算讲师,持续钻研云计算和信息安全领域,并继续把自己所学所感真心传授给自己的学员,帮助更多想要进入IT行业的小伙伴。传道授业解惑,深知责任重大,每日战战兢兢,如履薄冰。苦心钻研,一直前行,不敢有丝毫懈怠。

本文链接:http://www.geekyunwei.com/2013.html

网友评论comments

发表评论

邮箱地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2021 极客运维 备案号: 京ICP备2021004281号
扫二维码
扫二维码
返回顶部