Nagios+Cacti模块——Nagios+Cacti 搭建及整合(一)
2013-07-21 14:13
423 查看
注意:这里默认关闭了Selinux(生产环境也是关的)以及关闭了iptables。如有开启的需要,请根据网络酌情添加相关内容。
遇到问题:公司服务器需实现监控及报警等功能解决问题:使用nagios+cacti准备环境:为以后的配置搭建安装环境yum install –y http* mysql-devel mysql-server php-* net-snmp-* gd gd-devel perl-libwww-perl一:Nagios环境的搭建注:所有的tar包都放置在/soft下。1.安装nagios
2.增加nagios登陆认证文件,htpasswd -c /var/www/html/nagios/etc/htpasswd.users control
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/042925c6a2e19b1f0386d13b98ff7f0b.jpg)
3. 安装插件:
二:cacti环境的搭建1.rrdtool的安装,这里需要安装的是:rrdtool,rrdtool-devel.rrdtool-perl,rrdtool-php,下载完成后,本地yum安装yum -y install rrdtool* yum -y installperl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker (此步骤没有,会导致perl Makefile 无法运行)service mysqld start 2.配置snmp vim /etc/snmp/snmpd.conf # 修改3项 127.0.0.1 、 all、启用项 (下图是修改后的图)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/cf5132a95c7259ee9eaabc83fcd32b0a.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/cbbca008de19cd78d8ae385c1f1c888e.jpg)
启动snmp服务:service snmpd start3.安装cactiwget http://www.cacti.net/downloadscd /softtar zxvf cacti-0.8.7h.tar.gz mv cacti-0.8.7h /var/www/html/cacti 4.创建cacti数据库#注意导入cacti.sql时该文件的路径
修改cacti的系统时间cacti默认是以美国的时间为准的,监测的时候要纠正到我朝的时区vi /var/www/html/cacti/include/global.php 文件,在里面加入一行date_default_timezone_set(‘Asia/Chongqing’);
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/e5621ac10566ac52e42215d90945263a.jpg)
useradd -r -M cactichown -R cacti /var/www/html/cacti/poller.phpchown -R cacti /var/www/html/cacti/rrachown -R cacti /var/www/html/cacti/log7.在cacti用户下创建计划任务以画图su cactibash-4.1$ crontab –e */2 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
exit 解决php的It is not safe to rely on the system’stimezone settings的问题3Vim /etc/php.ini 添加如下信息:4date.timezone= “Asia/Chongqing”
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/17ec035174bf92ddc28136a1e963bd00.jpg)
8.确保服务器的selinux是不不关闭状态,使用setenforce 0 关闭,getenforce查看状态,或者修改配置文件/etc/selinux/config中“SELINUX=disable”,然后从web页面启动cacti,安装,并查看图形化界面,cacti界面的初始登录帐号:在浏览器中输入: http://ip/cactiUser:adminPasswd:admin登录后,系统会强制要求修改密码操作的三:整合Nagios与Cacti1.下载并安装ndoutils
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/702d214e5669bb3c3d8c36c2326d5b7c.jpg)
2.准备配置文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/510e7625e09bb69f41c5bee4e393667b.jpg)
5# 检查 6 event_broker_options=-1 ## 为Nagios开启event broker,默认无需修改4.修改ndo2db.cfg以适应当前环境vim /var/www/html/nagios/etc/ndo2db.cfg 7 # 确保下列内容为唯一项 socket_type=tcpdb_servertype=mysqldb_host=127.0.0.1db_port=3306db_name=cactidb_prefix=npc_db_user=cactidb_pass=cacti5.修改ndomod.cfg以适应当前环境vim /var/www/html/nagios/etc/ndomod.cfg 16# 确保下列项的唯一内容为 output_type=tcpsocket output=127.0.0.1 #output=/var/www/html/nagios//var/ndo.sockbuffer_file=/var/www/html/nagios/var/ndomod.tmp
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/81ddedf95b2699b21806f7671e94574e.jpg)
6.为ndo2db添加启动进程cp /soft/ndoutils-1.4b9/daemon-init /etc/init.d/ndo2db vim /etc/init.d/ndo2db19# 检查里面的路径确保不会出现“//",并将Ndo2dbBin修改成下面的值: Ndo2dbBin=/var/www/html/nagios/bin/ndo2db-3x Ndo2dbCfgFile=/var/www/html/nagios/etc/ndo2db.cfg Ndo2dbVarDir=/var/www/html/nagios/varchmod +x /etc/init.d/ndo2db 7.启动守护进程与nagios /var/www/html/nagios/bin/ndo2db-3x -c/var/www/html/nagios/etc/ndo2db.cfg【注意这里如果启动报错,则是因为未安装mysql-devel导致,故提前安装】tail -20 /var/log/messages ## 查看其中是否有错误出现。如无报错请继续service nagios start四:安装npc,以在Cacti中展现Nagios1.先安装cacti扩展模块
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/8d2597b5bac36e70240013026bbedfc6.jpg)
## 为cacti配置文件打补丁的时候注意在为include/config.php打补丁的时候有可能它将include/config.php.dist给打补丁了,我们只需要手动加入下面的内容即可。vim include/config.php # 修改(或新加入)为 $url_path = "/cacti/";
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/a368880511b57a049b59af29af11b4e1.jpg)
如有错误,请查看apache日志 /var/log/httpd/error_log从web进入cacti,启用cactiplugin扩展打开插件管理功能:打开“Console----> User Management----> admin”然后在“Realm Permissions”选项卡中勾选“Plugin Management”,然后点击Save 进行保存! 此时我们会在控制台---> Configuration 选项卡下多了一个Plugin Management 选项卡,到此cacti 架构扩展完成!!
2.安装npc
3.修改配置文件以让npc读取到新的数据。vim /var/www/html/nagios/etc/ndo2db.cfg db_prefix=npc_ 4 写一个php的测试页面vi /var/www/html/test.php
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/7f6353d132dbad504c246118d1577bb2.jpg)
完成之后,在网页测试http://ip/test.php从Web进入Cacti,确保正确使用npc选项。(一定记得要启用npc,否则下面更新mysql的表结构,会报没有表)
5. 修改mysql中的表结构:
7.在Web上配置NPC以使之正常读取工作。在Settings->npc中 ,勾上Remote Commands然后在console----settings-----NPC填入以下Nagios Command File Path= /var/www/html/nagios/var/rw/nagiosNaNdNagios URL=你的地址(http://localhost/nagios/)
![](http://blog.51cto.com/e/u/themes/default/images/spacer.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/646d744023f5cc822e3fc02f4ad7a7e5.jpg)
接下来刷新npc就可以看到数据啦:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/33f570ccda75c35fa1045abcbf5987c4.jpg)
由于之前新建了htpasswd的用户,需给该用户查查nagios的一些状态信息/var/www/html/nagios/etc/cgi.cfg 所有nagiosadmin后面都加上你添加的新用户,如:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/7707d2809c3893ff5f4011a73e61a61f.jpg)
错误汇集:
1. 启动ndo2db报错
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/213d1b474d93dadbec4b161238cd87e8.jpg)
解决: yum -y install mysql-devel
2. 报错, perl Makefile.pl
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/f4646abfa38ec09b21ac1115a51a76ab.jpg)
解决: yum -y install perl-ExtUtils-CBuilderperl-ExtUtils-MakeMaker
3. mail 命令没有,无法使用mail命令发送邮件
yum -y install mailx
完成之后的效果:http://ip/nagios 可以访问到nagios
http://ip/cacti/ 访问到cacti ,也可以从cacti界面的npc点到nagios
本文出自 “濛sir的积累” 博客,谢绝转载!
遇到问题:公司服务器需实现监控及报警等功能解决问题:使用nagios+cacti准备环境:为以后的配置搭建安装环境yum install –y http* mysql-devel mysql-server php-* net-snmp-* gd gd-devel perl-libwww-perl一:Nagios环境的搭建注:所有的tar包都放置在/soft下。1.安装nagios
cd /soft tar zxf nagios-cn-3.3.2.tar.gz cd nagios-cn-3.2.3 ./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登陆认证文件,htpasswd -c /var/www/html/nagios/etc/htpasswd.users control
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/042925c6a2e19b1f0386d13b98ff7f0b.jpg)
3. 安装插件:
cd /soft tar -zvxf nagios-plugins-1.4.16.tar.gz cd nagios-plugins-1.4.16 ./configure --prefix=/var/www/html/nagios/ make&&makeinstall make && make install4.将运行Apache的用户添加到nagios组里,这样Apache才有权限读取文件usermod -G nagios apache ##将apache用户加到nagios组。5.阶段测试
chown nagios.nagios /var/www/html/nagios/ -R service httpd start chkconfig httpd on /etc/init.d/nagios start
二:cacti环境的搭建1.rrdtool的安装,这里需要安装的是:rrdtool,rrdtool-devel.rrdtool-perl,rrdtool-php,下载完成后,本地yum安装yum -y install rrdtool* yum -y installperl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker (此步骤没有,会导致perl Makefile 无法运行)service mysqld start 2.配置snmp vim /etc/snmp/snmpd.conf # 修改3项 127.0.0.1 、 all、启用项 (下图是修改后的图)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/cf5132a95c7259ee9eaabc83fcd32b0a.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/cbbca008de19cd78d8ae385c1f1c888e.jpg)
启动snmp服务:service snmpd start3.安装cactiwget http://www.cacti.net/downloadscd /softtar zxvf cacti-0.8.7h.tar.gz mv cacti-0.8.7h /var/www/html/cacti 4.创建cacti数据库#注意导入cacti.sql时该文件的路径
mysql mysql> create database cacti; mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti'with grant option; mysql> grant all privileges on cacti.* to cacti@127.0.0.1 identified by 'cacti'with grant option; mysql> use cacti; mysql> source /var/www/html/cacti/cacti.sql; mysql> flush privileges; mysql> \q 然后回车退出即可6.配置cacti以连接数据库 ,分别编辑两个.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"; |
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/e5621ac10566ac52e42215d90945263a.jpg)
useradd -r -M cactichown -R cacti /var/www/html/cacti/poller.phpchown -R cacti /var/www/html/cacti/rrachown -R cacti /var/www/html/cacti/log7.在cacti用户下创建计划任务以画图su cactibash-4.1$ crontab –e */2 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
exit 解决php的It is not safe to rely on the system’stimezone settings的问题3Vim /etc/php.ini 添加如下信息:4date.timezone= “Asia/Chongqing”
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/17ec035174bf92ddc28136a1e963bd00.jpg)
8.确保服务器的selinux是不不关闭状态,使用setenforce 0 关闭,getenforce查看状态,或者修改配置文件/etc/selinux/config中“SELINUX=disable”,然后从web页面启动cacti,安装,并查看图形化界面,cacti界面的初始登录帐号:在浏览器中输入: http://ip/cactiUser:adminPasswd:admin登录后,系统会强制要求修改密码操作的三:整合Nagios与Cacti1.下载并安装ndoutils
cd /soft 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
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/702d214e5669bb3c3d8c36c2326d5b7c.jpg)
2.准备配置文件
cp -vsrc/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /var/www/html/nagios/bin cd db ./installdb -ucacti -pcacti -hlocalhost -dcacti cd .. cp -vconfig/{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 # 在文件中添加: 添加以下一行(注意下面只能是一行,否则nagios启动报错)broker_module=/var/www/html/nagios/bin/ndomod-3x.o config_file=/var/www/html/nagios/etc/ndomod.cfg中间用空格
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/510e7625e09bb69f41c5bee4e393667b.jpg)
5# 检查 6 event_broker_options=-1 ## 为Nagios开启event broker,默认无需修改4.修改ndo2db.cfg以适应当前环境vim /var/www/html/nagios/etc/ndo2db.cfg 7 # 确保下列内容为唯一项 socket_type=tcpdb_servertype=mysqldb_host=127.0.0.1db_port=3306db_name=cactidb_prefix=npc_db_user=cactidb_pass=cacti5.修改ndomod.cfg以适应当前环境vim /var/www/html/nagios/etc/ndomod.cfg 16# 确保下列项的唯一内容为 output_type=tcpsocket output=127.0.0.1 #output=/var/www/html/nagios//var/ndo.sockbuffer_file=/var/www/html/nagios/var/ndomod.tmp
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/81ddedf95b2699b21806f7671e94574e.jpg)
6.为ndo2db添加启动进程cp /soft/ndoutils-1.4b9/daemon-init /etc/init.d/ndo2db vim /etc/init.d/ndo2db19# 检查里面的路径确保不会出现“//",并将Ndo2dbBin修改成下面的值: Ndo2dbBin=/var/www/html/nagios/bin/ndo2db-3x Ndo2dbCfgFile=/var/www/html/nagios/etc/ndo2db.cfg Ndo2dbVarDir=/var/www/html/nagios/varchmod +x /etc/init.d/ndo2db 7.启动守护进程与nagios /var/www/html/nagios/bin/ndo2db-3x -c/var/www/html/nagios/etc/ndo2db.cfg【注意这里如果启动报错,则是因为未安装mysql-devel导致,故提前安装】tail -20 /var/log/messages ## 查看其中是否有错误出现。如无报错请继续service nagios start四:安装npc,以在Cacti中展现Nagios1.先安装cacti扩展模块
wge thttp://www.cacti.net/downloads/pia/cacti-plugin-0.8.7h-PA-v3.0.tar.gz cd /soft 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.diffpatch成功后的界面如下图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/8d2597b5bac36e70240013026bbedfc6.jpg)
## 为cacti配置文件打补丁的时候注意在为include/config.php打补丁的时候有可能它将include/config.php.dist给打补丁了,我们只需要手动加入下面的内容即可。vim include/config.php # 修改(或新加入)为 $url_path = "/cacti/";
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/a368880511b57a049b59af29af11b4e1.jpg)
如有错误,请查看apache日志 /var/log/httpd/error_log从web进入cacti,启用cactiplugin扩展打开插件管理功能:打开“Console----> User Management----> admin”然后在“Realm Permissions”选项卡中勾选“Plugin Management”,然后点击Save 进行保存! 此时我们会在控制台---> Configuration 选项卡下多了一个Plugin Management 选项卡,到此cacti 架构扩展完成!!
2.安装npc
cd /soft 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读取到新的数据。vim /var/www/html/nagios/etc/ndo2db.cfg db_prefix=npc_ 4 写一个php的测试页面vi /var/www/html/test.php
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/7f6353d132dbad504c246118d1577bb2.jpg)
完成之后,在网页测试http://ip/test.php从Web进入Cacti,确保正确使用npc选项。(一定记得要启用npc,否则下面更新mysql的表结构,会报没有表)
5. 修改mysql中的表结构:
mysql use cacti; alter table npc_eventhandlers add long_outputTEXT NOT NULL default '' after output; alter table npc_hostchecks add long_outputTEXT NOT NULL default '' after output; alter table npc_hoststatus add long_outputTEXT NOT NULL default '' after output; alter table npc_notifications add long_outputTEXT NOT NULL default '' after output; alter table npc_servicechecks add long_outputTEXT NOT NULL default '' after output; alter table npc_servicestatus add long_outputTEXT NOT NULL default '' after output; alter table npc_statehistory add long_outputTEXT NOT NULL default '' after output; alter table npc_systemcommands addlong_output TEXT NOT NULL default '' after output;6.重启ndo2db进程,重新加载配置文件重启nagios服务。
service ndo2db restart service nagios restart
7.在Web上配置NPC以使之正常读取工作。在Settings->npc中 ,勾上Remote Commands然后在console----settings-----NPC填入以下Nagios Command File Path= /var/www/html/nagios/var/rw/nagiosNaNdNagios URL=你的地址(http://localhost/nagios/)
![](http://blog.51cto.com/e/u/themes/default/images/spacer.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/646d744023f5cc822e3fc02f4ad7a7e5.jpg)
接下来刷新npc就可以看到数据啦:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/33f570ccda75c35fa1045abcbf5987c4.jpg)
由于之前新建了htpasswd的用户,需给该用户查查nagios的一些状态信息/var/www/html/nagios/etc/cgi.cfg 所有nagiosadmin后面都加上你添加的新用户,如:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/7707d2809c3893ff5f4011a73e61a61f.jpg)
错误汇集:
1. 启动ndo2db报错
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/213d1b474d93dadbec4b161238cd87e8.jpg)
解决: yum -y install mysql-devel
2. 报错, perl Makefile.pl
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/25/f4646abfa38ec09b21ac1115a51a76ab.jpg)
解决: yum -y install perl-ExtUtils-CBuilderperl-ExtUtils-MakeMaker
3. mail 命令没有,无法使用mail命令发送邮件
yum -y install mailx
完成之后的效果:http://ip/nagios 可以访问到nagios
http://ip/cacti/ 访问到cacti ,也可以从cacti界面的npc点到nagios
本文出自 “濛sir的积累” 博客,谢绝转载!
相关文章推荐
- Cacti/nagios/ntop整合之一:搭建LAMP平台
- 生产环境下搭建 nagios+nconf+cacti+npc的整合
- 基于fedora16的nagios环境搭建--个人日记(10)--cacti和nagios整合
- 生产环境下搭建 nagios+nconf+cacti+npc的整合
- 开源监控系统整合Nagios+Cacti+Nconf+Npc中文版
- 整合nagios+cacti+微信、飞信实现网络监控系统报警
- NAGIOS与CACTI功能介绍与区别及整合意义
- 整合cacti与nagios
- Nagios+Cacti监控平台完美整合部署
- cacti和nagios整合
- 整合nagios+cacti+微信、飞信实现网络监控报警
- 开源监控系统整合Nagios+Cacti+Nconf详解
- 【转】手把手实现企业级开源监控软件cacti+nagios+ntop整合(图解)
- Cacti+Nagios完全攻略(二)整合cacti与nagios安装部署
- cacti—nagios搭建中常遇到的错误
- cacti+nagios 整合遇到的问题
- Cacti+Nagios(四):Cacti整合Nagios
- cacti和nagios的整合
- 运维监控之Nagios实战(六)&Nagios+Cacti整合
- cacti整合nagios(centos)