Skip to content


cacti 安装npc 整合 nagios

Cacti是一套PHP程序,它使用snmpget命令采集数据、RRDTool绘图。Cacti界面简洁直观,让你根本无需明白RRDTool的众多参数即可轻松绘制出漂亮的图形。另外,它还提供了强大的数据管理和用户管理功能。在图像管理上,Cacti采用了树状结构的查看界面,在用户管理上,能对用户的权限进行细致划分,甚至支持使用LDAP进行用户验证。Cacti主要功能包括:数据定时采集、图像绘制与显示、树状的主机和图像管理、RRDTool信息管理、用户和权限管理以及模板导入导出等。

cactilogo

1.Cacti系统组成

  Cacti系统由4个部分组成:

  Cacti页面(PHP)——用户控制的平台,用户在此进行所有的设置;

  SNMP采集工具——Unix下使用 Net-SNMP软件包自带的“snmpget”和“snmpwalk”等程序,Windows下使用PHP的SNMP功能;

  RRDTool绘图引擎——性能数据的存储和绘画图像;

  MySQL数据库——储存RRDTool绘图所需的信息,如模板、rra、主机对应的信息等,要注意的是MySQL数据库并不保存性能数据,性能数据保存在RRDTool自己的数据库格式rrd文件中。利用Cacti可以对校园网络进行很好的实时监控,从而做到运筹帷幄。
2.菜单功能介绍

  Console菜单包括了New Graphs(创建新图像)、Graph Management(图像管理)、Graph Trees(图像树)、Data Sources(管理rrd文件)、Devices(设备管理)、 Data Queries 和Data Input Methods(采集数据方式)、Graph Templates(图像模板)、Host Templates(主机类型模板)、Data Templates(数据模板)、Import Templates(模板导入)、Export Templates(模板导出)Settings(Cacti的主要配置菜单)、System Utilities(显示Cacti系统的一些cache和log信息)、User Management(用户管理)、Logout User (用户退出登录)等菜单选项。

  Grapes菜单包括三种查看图像的形式,分别为setting、树形显示、列表型显示和预览型显示。
cacti_promo_main

在线demo:
http://status.pulpfree.org/cacti/graph_view.php?action=tree&tree_id=3&leaf_id=28&select_first=true
http://www.querx.com/cacti/graph_view.php?action=tree&tree_id=1&leaf_id=9
http://www.kende.com/cacti/graph_view.php?action=tree&tree_id=1&leaf_id=7&select_first=true
更多demo:
http://www.cacti.net/sites_that_use_cacti.php

最新版本:
The latest stable version is 0.8.7g, released 07/09/10.
http://www.cacti.net/download_cacti.php
0.8.7g版本和某些插件有兼容型问题,如npc,thold,我安装下来在顶部不能正常显示导航菜单。
cacti的版本要和插件架构匹配,我装0.8.7e+cacti-plugin-0.8.7f-PA可以使用,但顶部导航显示不正确。
这里选用0.8.7e+cacti-plugin-0.8.7e-PA

依赖关系:
安装之前需lamp环境 安装参考
net-snmp 安装参考
RRDTool 安装参考
php扩展 安装参考
php_json
pdo_mysql
sockets
nagios 安装参考
ndoutils 安装参考

下载cacti:
cd /opt/htdocs/www
wget wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz
wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip
wget http://www.constructaegis.com/downloads/npc-2.0.4.tar.gz

constructaegis.com域名已过期
可以使用svn checkout
http://svn2.assembla.com/svn/npc/trunk

安装cacti:
我的nginx运行用户为www组为website
安装路径为/opt/htdocs/www

  1. tar zxvf cacti-0.8.7e.tar.gz
  2. mv cacti-0.8.7e cacti
  3. chown -R www:website cacti
  4. chmod -R 0775 cacti

安装cacti数据库:
创建cacti库,并创建cacti用户给予它cacti库权限,也可以使用phpmyadmin来完成.
导入cacti.sql到cacti库

  1. mysql –u root –p
  2. mysql>create database cacti;
  3. mysql>use cacti;
  4. Mysql>source /opt/htdocs/www/cacti/cacti.sql
  5. Mysql>grant all privileges on cacti.* to cacti@localhost identified by ‘cactipass’;
  6. #添加一个数据库账号cacti 密码为cactipass 用以访问cacti库
  7. Mysql>flush privileges;    #刷新权限信息

配置cacti数据库信息
#cd cacti
#vi include/config.php

  1. $database_type = "mysql";
  2. $database_default = "cacti";
  3. $database_hostname = "localhost";
  4. $database_username = "cactiuser";
  5. $database_password = "cacti";

配置cacti自动运行:
#crontab -e

  1. */5 * * * *  /opt/php/bin/php /opt/htdocs/www/cacti/poller.php > /dev/null 2>&1

Spine更有效率可以选择性安装

配置cacti:
访问cacti的web地址,就会显示安装界面
http://nagios.c1gstudio.com/cacti/

1.选择”新的安装”

2.配置路径(以系统中实际安装路径为准)
/usr/local/rrdtool/bin/rrdtool
/opt/php/bin/php
/usr/local/bin/snmpwalk
/usr/local/bin/snmpget
/usr/local/bin/snmpbulkwalk
/usr/local/bin/snmpgetnext

3.默认用户名及密码
admin/admin
接着输入新的密码

4.进入cacti后台
设置相应版本及验证码
settings->General
RRDTool Utility Version = RRDTool1.3.X
SNMP Version = 2
SNMP Community = 你的验证码(privatepass )
save

5.查看报表
点graphs选项5分钟后应该可以看到4个报表.
memory usage
load average
logged in users
processers

6.创建磁盘监控
在首页点击Create graphs然后在Data Query栏目中勾上需要监控的分区保存.

以上完成了cacti安装,下面安装插件
在安装插件前需先安装”插件框架”

安装插件框架:
1.解压

  1. cd /opt/htdocs/www
  2. unzip cacti-plugin-0.8.7e-PA-v2.6.zip
  3. chown -R www:website cacti-plugin-arch/
  4. chmod -R 0775 cacti-plugin-arch

2.导入数据库结构

  1. mysql -u cacti -p cacti<cacti-plugin-arch/pa.sql

3.覆盖文件
方法一:覆盖

  1. cp –rf cacti-plugin-arch/files-0.8.7e/* /opt/htdocs/www/cacti

方法二:打补丁

  1. cp cacti-plugin-arch/cacti-plugin-0.8.7e-PA-v2.6.diff /opt/htdocs/www/cacti/
  2.  cd /opt/htdocs/www/cacti/
  3.  patch -p1 -N <cacti-plugin-0.8.7e-PA-v2.6.diff

我用方法一

4.配置插件的数据库信息
#cd /opt/htdocs/www/cacti/
#vi include/global.php
#插件数据库需再配置一下

  1. $database_type = "mysql";
  2. $database_default = "cacti";
  3. $database_hostname = "localhost";
  4. $database_username = "cactiuser";
  5. $database_password = "cacti";

5.配制插件

  1. #我的cacti安装在域下的cacti目录,这里也需修改
  2. $config['url_path'] = '/cacti/';
  3.  
  4. #为后面安装npc增加变量
  5. $plugins[] = 'npc';

注:0.8.7g开始上面两变量改放在includes/config.php中,如果参照以前的教程会找不到了囧
参见Change Log
http://forums.cacti.net/viewtopic.php?t=38492

安装NPC插件:
1.解压后移到plugins目录下

  1. cd /opt/htdocs/www
  2. unzip npc.zip
  3. chown -R www:website npc
  4. chmod -R 0775 npc
  5. mv npc cacti/plugins/

2.启用cacti的插件功能,
以admin用户登陆cacti,在console中的user management里对admin的用户权限进行编辑,
勾选上Plugin Management、NPC、NPC Global Commands
然后到Plugin Management
安装并启用NPC即可。
在Settings->npc中
勾上Remote Commands
Nagios Command File Path=/usr/local/nagios/var/rw/nagios.cmd
Nagios URL=你的地址(http://nagios.c1gstudio.com/nagios/)

3.配置ndoutils
参见

如果一切正常点击导航菜单npc后就可以看到信息了。
没有显示可能有以下原因:

  1. cacti和npc版本不兼容
  2. cacti和plugin框架版本不一致
  3. npc没有正确安装(数据库结构不对)
  4. ndoutils没有正确配置(数据库中无信息)
  5. php-json,pdo_mysql,sockets没有安装(php -m 检查一下)

留意cacti/log/cacti.log文件

==============================
2010-07-23
spine安装
#wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7e.tar.gz
#tar zxvf cacti-spine-0.8.7e.tar.gz
#cd cacti-spine-0.8.7e
#./configure
#make
#make install
#vi /usr/local/spine/etc/spine.conf

  1. DB_Host         localhost
  2. DB_Database     cacti
  3. DB_User         cactiuser
  4. DB_Pass         cacti
  5. DB_Port         3306

#mv /usr/local/spine/etc/spine.conf /etc/
#/usr/local/spine/bin/spine

  1. SPINE: Using spine config file [/etc/spine.conf]
  2. SPINE: Version 0.8.7e starting
  3. SPINE: Time: 7.3153 s, Threads: 1, Hosts: 11

配置spine
(1)登陆console–Configuration–Settings–poller–Poller Type改为spine
(2)登陆console–Configuration–Settings–paths–Spine Poller File Path添加/usr/local/spine/bin/spine

#tail /opt/htdocs/www/cacti/log/cacti.log
07/23/2010 03:20:02 PM – POLLER: Poller[0] ERROR: The path: /usr/local/spine/bin/spine is invalid. Can not continue #如果你的php有open_basedir限制,需加上/usr/local/spine/bin/目录
07/23/2010 03:25:04 PM – SYSTEM STATS: Time:3.2262 Method:spine Processes:1 Threads:1 Hosts:11 HostsPerProcess:11 DataSources:190 RRDsProcessed:147 #相比php方式快很多

参考:
http://liuyu.blog.51cto.com/183345/259995
http://www.cacti.net/downloads/docs/html/install_unix.html

Posted in Cacti.

Tagged with , , , .


One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

Continuing the Discussion

  1. CACTI+ndoutils+NPC | 个人学习随笔 linked to this post on 2011/11/25

    […] 参考:http://blog.c1gstudio.com/archives/1028 http://blog.c1gstudio.com/archives/635 archlinux要先安装SNMP-net […]



Some HTML is OK

or, reply to this post via trackback.