我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

nagios+cacti+npc(pass)

Nagios+cacti+npc

                                                                                                                           2012.07.05

我们提供的服务有:网站制作、成都网站设计、微信公众号开发、网站优化、网站认证、崇义ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的崇义网站制作公司

系统环境:Centos5.5(64位)+开发工具安装

所需软件:

cacti-0.8.7e.tar.gz          

cacti-plugin-0.8.7e-PA-v2.6.zip   

rrdtool-1.4.5.tar.gz

nagios-3.2.0.tar.gz

nagios-plugins-1.4.14.tar.gz 

nagios-cn-3.2.0.tar.bz2

php-json-ext-1.2.1.tar.bz2

ndoutils-1.4b9.tar.gz      

npc-2.0.4.tar.gz

下载地址:http://download.csdn.net/detail/w361031315/4412965

参考:下载后压缩包中的文档(Nagios+cacti+npc经典配置详解)

提示:此版本软件兼容性通过,其他版可能有问题。

安装所需环境:

[root@localhost ~]# yum -y install php* MySQL* httpd net-snmp-utils

[root@localhost ~]# chkconfig mysqld on

[root@localhost ~]# chkconfig httpd on

[root@localhost ~]# service httpd start

[root@localhost ~]# service mysqld start

更改mysql密码

[root@localhost ~]# mysqladmin -uroot password "123456"

安装rrdtool

[root@localhost soft]# ls

cacti-0.8.7e.tar.gz              nagios-cn-3.2.0.tar.bz2       npc-2.0.4.tar.gz

cacti-plugin-0.8.7e-PA-v2.6.zip  nagios-plugins-1.4.14.tar.gz  php-json-ext-1.2.1.tar.bz2

nagios-3.2.0.tar.gz              ndoutils-1.4b9.tar.gz         rrdtool-1.4.5.tar.gz

[root@localhost rrdtool-1.4.5]# ./configure --prefix=/usr/local ; make ; make install

(如果报错:configure: error: Please fix the library issues listed above and try again.

[root@localhost rrdtool-1.4.5]# yum -y install pango*后在安装)

Cacti安装

[root@localhost soft]# tar zxvf cacti-0.8.7e.tar.gz

[root@localhost soft]# mv cacti-0.8.7e /var/www/html/cacti

[root@localhost soft]# chown -R root.root /var/www/html/cacti/

添加个用来读写监测数据的用户账号:runct,调整子目录rra/,log/的属主权限

[root@localhost soft]# chown -R runct.runct /var/www/html/cacti/rra /var/www/html/cacti/log

导入cacti.sql,建立数据库、表结构

[root@localhost soft]# mysql -uroot -p123456

mysql> create database cacti default character set utf8;

Query OK, 1 row affected (0.00 sec)

mysql> grant all on cacti.*  to  cactiuser@localhost identified by 'pwd123';

Query OK, 0 rows affected (0.00 sec)

mysql> quit

Bye

[root@localhost soft]# mysql -ucactiuser -ppwd123 cacti < /var/www/html/cacti/cacti.sql

调整配置文件

[root@localhost soft]# vi /var/www/html/cacti/include/config.php

30 $database_password = "pwd123";

cacti-plugins插件安装 

[root@localhost soft]# unzip cacti-plugin-0.8.7e-PA-v2.6.zip

[root@localhost soft]# cd /var/www/html/cacti/

[root@localhost cacti]# patch -p1 -N < /soft/cacti-plugin-arch/cacti-plugin-0.8.7e-PA-v2.6.diff

[root@localhost cacti]# mysql -ucactiuser -ppwd123 cacti < /soft/cacti-plugin-arch/pa.sql

[root@localhost cacti]# vi include/global.php

     56 $config['url_path'] = '/cacti/';                                                

建立任务调度

[root@localhost cacti]# su runct

[runct@localhost cacti]$ crontab -e

[runct@localhost cacti]$ crontab -l

*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null

[runct@localhost cacti]$ exit

Cacti的 web初始化

在浏览器输入 http://your ip address/cacti/   登陆 cacti

 

nagios+cacti+npc(pass)

Next

 

nagios+cacti+npc(pass)

Next

 

nagios+cacti+npc(pass)

Finish

帐号密码:admin,admin

第一次要改密码 这里改为pwd123

 

nagios+cacti+npc(pass)

如果不出图

 

nagios+cacti+npc(pass)

修改settings-general rrdtool1.2.X保存

 

nagios+cacti+npc(pass)

好了,有图了

 

nagios+cacti+npc(pass)

Nagios安装

准备帐号,目录

[root@localhost cacti]# cd /soft/

[root@localhost soft]# useradd nagios

[root@localhost soft]# mkdir /usr/local/nagios

[root@localhost soft]# chown -R nagios.nagios /usr/local/nagios/

开始安装

[root@localhost soft]# tar zxvf nagios-3.2.0.tar.gz

[root@localhost soft]# cd nagios-3.2.0

[root@localhost nagios-3.2.0]# ./configure --prefix=/usr/local/nagios ;make all;make install;make install-init;make install-commandmode;make install-config;make install-webconf

修改nagios页面

[root@localhost nagios-3.2.0]# cp /etc/httpd/conf.d/nagios.conf /var/www/html/

生成 nagios页面访问账号

[root@localhost nagios-3.2.0]# touch /usr/local/nagios/etc/htpasswd.users

[root@localhost nagios-3.2.0]# htpasswd -c /usr/local/nagios/etc/htpasswd.users admin

New password:

Re-type new password:

htpasswd: password verification error(2次输的不一样,在执行一次命令)

帐号:admin                  密码:123

Nagios的 CGI配置文件

[root@localhost nagios-3.2.0]# vi /usr/local/nagios/etc/cgi.cfg(如下图)

[root@localhost nagios-3.2.0]# grep -v ^# /usr/local/nagios/etc/cgi.cfg |grep -v ^$

main_config_file=/usr/local/nagios/etc/nagios.cfg

physical_html_path=/usr/local/nagios/share

url_html_path=/nagios

show_context_help=0

use_pending_states=1

use_authentication=1

use_ssl_authentication=0

 

authorized_for_system_information=admin

authorized_for_configuration_information=admin

authorized_for_system_commands=admin

authorized_for_all_services=admin

authorized_for_all_hosts=admin

authorized_for_all_service_commands=admin

authorized_for_all_host_commands=admin

default_statusmap_layout=5

default_statuswrl_layout=4

ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$

refresh_rate=90

escape_html_tags=1

action_url_target=_blank

notes_url_target=_blank

lock_author_names=1

测试 nagios是否成功

[root@localhost nagios-3.2.0]# service nagios start

Starting nagios: done.

[root@localhost nagios-3.2.0]# chkconfig nagios on

[root@localhost nagios-3.2.0]# service httpd restart

 

nagios+cacti+npc(pass)

 

nagios+cacti+npc(pass)

汉化(选做)

[root@localhost nagios-3.2.0]# cd /soft/

[root@localhost soft]# tar jxvf nagios-cn-3.2.0.tar.bz2

[root@localhost soft]# cd nagios-cn-3.2.0

[root@localhost nagios-cn-3.2.0]# ./configure;make all;make install

[root@localhost nagios-cn-3.2.0]# service httpd restart

 

nagios+cacti+npc(pass)

nagios-plugins插件安装

[root@localhost nagios-cn-3.2.0]# cd /soft/

[root@localhost soft]# tar zxvf nagios-plugins-1.4.14.tar.gz

[root@localhost soft]# cd nagios-plugins-1.4.14

[root@localhost nagios-plugins-1.4.14]# ./configure --prefix=/usr/local/nagios ;make ;make install

插件装好,监控的localhost正常了

 

nagios+cacti+npc(pass)

PHP支持 JSON扩展

[root@localhost nagios-plugins-1.4.14]# cd /soft/

[root@localhost soft]# tar jxvf php-json-ext-1.2.1.tar.bz2

[root@localhost soft]# cd php-json-ext-1.2.1

[root@localhost php-json-ext-1.2.1]# phpize

Configuring for:

PHP Api Version:         20041225

Zend Module Api No:      20050922

Zend Extension Api No:   220051025

[root@localhost php-json-ext-1.2.1]# ./configure ;make ;make install

[root@localhost php-json-ext-1.2.1]# vi /etc/php.d/json.ini(新建)

extension=json.so                                                                

[root@localhost php-json-ext-1.2.1]# vi /var/www/html/test.php

phpinfo();

phpinfo(INFO_GENERAL);

phpinfo(1);

?>

 

[root@localhost php-json-ext-1.2.1]# service httpd restart

 

[root@localhost php-json-ext-1.2.1]# service httpd restart

查看网页,出来json成功

 

nagios+cacti+npc(pass)

ndoutils安装

[root@localhost php-json-ext-1.2.1]# cd /soft/

[root@localhost soft]# tar zxvf ndoutils-1.4b9.tar.gz

[root@localhost ndoutils-1.4b9]#./configure --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql --enable-mysql --with-ndo2db-user=nagios --with-ndo2db-group=nagios

[root@localhost ndoutils-1.4b9]# make (不make install)

[root@localhost ndoutils-1.4b9]# cd src/

[root@localhost src]# cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/bin

[root@localhost src]# cd ../config

[root@localhost config]# cp ndo2db.cfg-sample ndo2db.cfg

[root@localhost config]# cp ndomod.cfg-sample ndomod.cfg

[root@localhost config]# cp ndo2db.cfg ndomod.cfg /usr/local/nagios/etc/

[root@localhost config]# cd /usr/local/nagios/etc/

[root@localhost etc]# vi ndo2db.cfg

102 db_name=cacti

111 db_prefix=npc_

120 db_user=cactiuser

121 db_pass=pwd123

163 debug_level=1

[root@localhost etc]# vi /usr/local/nagios/etc/nagios.cfg

247 # Uncomment the line below  you're running Nagios 3.x

248 broker_module=/usr/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg

NPC安装

[root@localhost etc]# cd /soft/

[root@localhost soft]# tar zxvf npc-2.0.4.tar.gz

[root@localhost soft]# mv npc/ /var/www/html/cacti/plugins/

[root@localhost soft]# vi /var/www/html/cacti/include/global.php

  46 $plugins[] = 'npc';

NPC界面设置

登陆cacti

 

nagios+cacti+npc(pass)

找到UserManagement

 

nagios+cacti+npc(pass)

进去把勾plugin Management勾上,保存

 

nagios+cacti+npc(pass)

点 settings下面的plugin management,在点INSTALL,然后enable

 

nagios+cacti+npc(pass)

装好了

 

nagios+cacti+npc(pass)

返回(console)菜单栏,点击 configuration-------settings----NPC,修改一下三个参数(如下图,cmd填写上就行,命令会自动生成)

 

nagios+cacti+npc(pass)

点击NPC为OFF

 

nagios+cacti+npc(pass)

启动ndo2db

[root@localhost soft]# ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg

[root@localhost soft]# service nagios restart

[root@localhost soft]# cat /var/log/messages

Jul  5 17:30:27 localhost nagios: ndomod: Could not open data sink!  I'll keep trying, but some output may get lost...

Jul  5 17:30:27 localhost nagios: Event broker module '/usr/bin/ndomod-3x.o' initialized successfully.

Jul  5 17:30:27 localhost nagios: Finished daemonizing... (New PID=12009)

第一行报错:是因为没给ndo2db文件权限

[root@localhost soft]#chown nagios.nagios /usr/local/nagios/etc/ndo*

[root@localhost soft]# service nagios restart

[root@localhost soft]# cat /var/log/messages

Jul  5 17:37:46 localhost ndo2db-3x: mysql_error: 'Unknown column 'long_output' in 'field list''

这次是,数据库有问题

[root@localhost soft]# mysql -ucactiuser -ppwd123

mysql> use 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;

执行这些语句,在重启nagios

[root@localhost soft]# service nagios restart

[root@localhost soft]# cat /var/log/messages

Jul  5 17:40:52 localhost nagios: ndomod: Successfully connected to data sink.  0 queued items to flush.

Jul  5 17:40:52 localhost nagios: Event broker module '/usr/bin/ndomod-3x.o' initialized successfully.

Jul  5 17:40:52 localhost nagios: Finished daemonizing... (New PID=12381)

Ndo2db启动成功,现在就可以看到NPC的数据了。

 

nagios+cacti+npc(pass)

 


本文题目:nagios+cacti+npc(pass)
路径分享:http://shouzuofang.com/article/iespch.html

其他资讯