cacti-0.8.7d安装

database & user准备

  # mysql -u root -p  Welcome to the MySQL monitor.  Commands end with ; or \g.  Your MySQL connection id is 12142 to server version: 3.23.58

  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.   mysql> create database cacti;   Query OK, 1 row affected (0.00 sec) 

  mysql> grant select,insert,update,delete on *.* to root@"%" Identified by "123456";  Query OK, 0 rows affected (0.01 sec) 

  mysql> grant all privileges on cacti.* to cactiuser@"localhost" Identified by "cactipw" WITH GRANT OPTION;  Query OK, 0 rows affected (0.01 sec) 

  mysql> exit

 上述命令创建了cacti数据库,同时创建了帐户cactiuser,并赋予了对应的访问权限。

cacti安装

 软件包路径下载:http://www.cacti.net/downloads/cacti-0.8.7d.tar.gz
 a)    安装
    shell>tar zxvf cacti-0.8.7d.tar.gz    shell>mv cacti-0.8.7d /data/cacti  这里假设apache配置/data/cacti为主目录    shell>cd /data/cacti    shell>mysql –u root –p cacti < cacti.sql    shell>vi include/global.php,修改如下:$database_type = “mysql”; $database_default = “cacti”; $database_hostname = “localhost”; $database_username = “cactiuser”; $database_password = “cactipw”;

 上述配置文件说明了和MySQL的连接参数。
 b) 新增用户
    //添加cacti用户# useradd cactiuser//将rra目录的所有权给cacti用户# chown –R cactiuser /usr/loca/apache/htdocs/cacti/rra//修改cacti目录所属组# chgrp –R cactiuser /usr/loca/apache/htdocs/cacti

 c) 添加定时采集的crontab
    shell>crontab -e 添加如下命令:*/5 * * * */usr/local/php/bin php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1

   表示每隔5分钟,将采集数据并生成rrd文件
 d) 为了避免中文环境对rrd文件的影响,最好在执行命令之前加入如下对LANG环境变量的设置:
    export LC_ALL=en_US;export LANG=en_US;export LANGUAGE=en_US;export LC_CTYPE=en_US;export LC_TIME=en_US;

cacti初始化

 一切正常后,重新启用Apache服务,然后在浏览器中输入http://IP/cacti进入其初始化配置页面,点击next后.  然后输入初始化用户名和密码 admin/admin,提示需要修改该密码,修改完毕后,点击Save按钮,进入Cacti管理界面。

cacti创建设备及图表的基本过程

 进入主页面后,请选择按照以下步骤创建图表: 选择屏幕左上方的Management->Devices,随后屏幕右边会出现现有的设备情况,然后点击右上方的Add按钮,出现下面的界面:

 需要输入:1)设备描述;           2)Hostname(可以是地址或域名);           3)模板,一般是ucd/net SNMP host或cisco router;           4)输入community;           5)选择SNMP Version,最后点击Create添加设备。  如果一切正常的话,下个界面上方将显示该主机的信息,标识SNMP通信正常。 选择屏幕左上方的Management->Devices,点击刚才创建的设备,然后点右上方的“Create Graphs For This Host”,如下图所示:

 点击后会出现下面的界面,根据不同的主机情况,可能是不同的,例如下图显示了一台Cisco交换机可以创建的图形模板,包括了:CPU Usage和网络接口:

 请在上图选择对应的选项(右侧的Check Box),同时选择Graph Type(例如Cisco – CPU Usage,In/Out Bytes(64-bit Counters)), 然后点击“Create”按钮。确认后,会出现一个页面,此刻可以选择图形中的颜色,点击“Create”按钮后,出现刚才那个页面,但是上方会显示创建图形的结果,如下图所示:

 表示图形创建正确。 接下来可以点击Management->Graph Trees,点击右上方的“Add”按钮,可以添加Tree Root,如下图所示,添加了一个”USA ViewToo Portal“:

 接着点击上图中创建的Tree Root(例如“USA ViewToo Portal“)后,可以再创建其下面的子节点,如下图所示:

 上图中可以看出,在USA..节点下创建了一个名为“San Jose“的子节点。要想同样创建一个这类节点,请单击图形右边的”Add“按钮。 要想在已存在的子节点下创建主机信息,请点击子节点旁边的”Add“按钮(例如Sunnyvale(Add)),将会出现如下界面:

 在上图上选择Parent Item为对应的子节点和Tree Item Type为Host,然后选择对应的Host主机,点击“Create“后将会创建主机。 创建后的情况如之前的那幅图所示。选择“Add“按钮后出现如下界面,请输入相应的节点信息,如Sunnyvale,注意Parent Item需要是”[root]“, 同时Tree Item Type为”Header“:

 创建完相应的子节点信息后,就可以在刚才那个根下面看到此节点,今后可以将与之关联的主机性能图挂接到这个子节点下对应的主机上。 接下来需要将图形挂接到对应的节点和主机下面(注意:默认情况下若创建了相应的Host,同时也生成了该Host的图形, 那么系统会自动将所有的Host图片挂接到该Host点下,而无需手动完成。若你需要自动调整图形和Host的关系,那么请按照下面步骤完成), 点击Management->Graph Management,选择刚才新建的主机,如下图所示:

 选择相应的主机,然后会显示之前已创建的图形,选择“Place on A Tree(USA ViewToo Portal)“后点击”go”按钮。出现下图, 选择之前新创建的子节点,然后选择yes确认。

 至此整个配置过程基本完成,我们可以从Graphs Tab上查看刚才添加的子节点,主机,及相应的图形,如下图所示(Sunnyvale->Host:3750-01):

cacti插件安装

 cacti还提供了thold,monitor,report等plugin插件,以下说明这些插件的安装过程。

安装包的准备

 首先到如下URL下载支持plugin的patch包:http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7d-PA-v2.4.zip 其次到如下URL下载相应的plugin安装包:http://cactiusers.org/downloads/ Linux或者Unix环境下,最好都下载gzip格式安装包

Patch的安装

 强烈建议安装之前先阅读patch文件包中的Readme.txt文件;一般都会有安装patch的说明,根据ReadMe指引进行patch的安装即可。
  #wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7d-PA-v2.4.zip#unzip cacti-plugin-0.8.7d-PA-v2.4.zip -d cacti-plugin-arch#cp -R cacti-plugin-arch/* /usr/share/cacti/#cd /usr/local/apache/htdocs/cacti/#mysql -ucacti -p cacti < pa.sql#patch -p1 -N  < cacti-plugin-0.8.7d-PA-v2.4.diff

 这样做完后,可能会图象不对(前提,你设置的url是http://xxx/cacti),那么需要修改如下的内容.
  #vim include/global.php$config['url_path'] = '/cacti/';

 注意:这儿的cacti后面的/是必需的。 进入"用户管理"->点admin->区域权限->Plugin Management

plugin的安装

 a) 安装setting,thold,monitor
    >cd cacti/plugins>wget http://mirror.cactiusers.org/downloads/plugins/settings-0.5.tar.gz>tar zxvf settings-0.5.tar.gz>wget http://mirror.cactiusers.org/downloads/plugins/thold-0.4.1.tar.gz>tar zxvf thold-0.4.1.tar.gz>wget http://cactiusers.org/downloads/monitor.tar.gz>tar zxvf monitor.tar.gz>vim ../include/global.php

   在$plugins = array();的后面加上如下内容
    $plugins[] = 'thold';$plugins[] = 'settings';$plugins[] = monitor;

 b) 安装完成之后   OWL中缺少sendmail,因此需要手动安装   procmail-3.22-17.1.el5.centos.x86_64.rpm
 c) 进入http://ip/cacti时候,会出现php文件找不到,因此   修改:/include/global_constants.php.rej文件   在175,178 之间找到 
      define("SNMP_CMDPHP", 1);       define("SNMP_WEBUI", 2); 

--- 175,182 ----       define("SNMP_CMDPHP", 1);       define("SNMP_WEBUI", 2);

   下面增加:
     define('OPER_MODE_NATIVE', 0);      define('OPER_MODE_RESKIN', 1);      define('OPER_MODE_IFRAME_NONAV', 2);

 d)   使用插件   使用monitor插件   刷新cacti系统的web管理界面,可以看到多出两个标签页(thold、monitor)。     1>打开“Console->Settings->Misc”,可以调整Monitor的各项配置。例如:勾选“Show Icon Legend”可以在监控页面显示图例;     “View”可以选用Tiles类型,以显示设备状态表格。     2>为cacti添加新设备时,勾选上“Monitor Host”项。对已添加的设备可以通过“Management->Devices”进去修改。     3>单击Web页面上方的“monitor”标签链接,可以进入查看各设备/主机的状态图示。   使用thold插件     1>打开“Console->Settings->Mail/DNS”,可以调整“SMTP Options”和“DNS Options”等配置,用于确保预警邮件能够发出。     2>打开“Console->Settings->Alerting/Thold”,可以调整Thold的各项配置。例如:“Dead Host Notifications Email”处      可填写设备当机时发送警告信息到哪个邮箱;勾选“     Send alerts as text”项,可以设置只发送文本格式的邮件。     3>打开“Templates->Threshold Templates”,可以添加、取出需要关联到预警系统的模板,例如:可以添加和“Interface-Traffic”模板的关联,       选择 “traffic_in”、"traffic_out”数据项,分别设置警告阈值“High Threshold”(如200000000比特/秒);可以添加和“Unix-Disk Space”模板的关联……。     4>打开“Create->New Graphs”,选择需要提供预警的设备,单击右侧上方的“Auto-create thresholds”创建预警项目。     5>打开“Management->Thresholds”,可以管理已经创建的预警项目。

FAQ

在执行poller.php出现reset错误

 错误信息如下:
PHP Warning: reset(): Passed variable is not an array or object in /usr/local/cacti/lib/functions.php on line 146 Warning: reset(): Passed variable is not an array or object in /usr/local/cacti/lib/functions.php on line 146 PHP Warning: Variable passed to each() is not an array or object in /usr/local/cacti/lib/functions.php on line 147 Warning: Variable passed to each() is not an array or object in /usr/local/cacti/lib/functions.php on line 147 PHP Warning: reset(): Passed variable is not an array or object in /usr/local/cacti/lib/functions.php on line 146 Warning: reset(): Passed variable is not an array or object in /usr/local/cacti/lib/functions.php on line 146 PHP Warning: Variable passed to each() is not an array or object in /usr/local/cacti/lib/functions.php on line 147Warning: Variable passed to each() is not an array or object in /usr/local/cacti/lib/functions.php on line 147

 解决方法: 这是在安装插件patch之后的一个小bug,需要修改lib/functions.php,找到function read_default_config_option,修改为如下代码:
function read_default_config_option($config_name) {    global $config, $settings; 

if (is_array($settings)) {       reset($settings); while (list($tab_name, $tab_array) = each($settings)) { if ((isset($tab_array[$config_name])) && (isset($tab_array[$config_name]["default"]))) { return $tab_array[$config_name]["default"]; }else{while (list($field_name, $field_array) = each($tab_array)) { if ((isset($field_array["items"])) && (isset($field_array["items"][$config_name])) && (isset($field_array["items"][$config_name]["default"]))) { return $field_array["items"][$config_name]["default"]; } } } } } }

poller.php无法正常采集数据,一直处于等待状态

 输出的日志信息如下:
08/23/2005 11:04:59 AM - POLLER: Poller[0] Maximum runtime of 296 seconds exceeded. Exiting.

 解决办法: 这有可能是由于环境中有多个php的程序,cacti初始化所用的php的路径,与crontab中执行的时候所用的php的路径不一致; 并且,cacti初始化指定的php必须是与mysql结合编译的那个php,否则的话,会出现无法连接到mysql数据库的报错。

cacti进阶应用

cacti加入msn预警

 a) 获取cacti补丁http://www.hiadmin.com/wp-content/uploads/2008/11/cacti_thold-039_settings-05_add_fetion_msn.path
 b) 补丁安装
    #cd /var/www/cacti/plugins#patch -p1 < cacti_thold-0.3.9_settings-0.5_add_fetion_msn.path

 执行过程如下:
root@TS263 cacti]# patch -p1 < cacti_thold-039_settings-05_add_fetion_msn.pathThe next patch would create the file index.php,which already exists! Assume -R? [n] ypatching file index.phpHunk #1 FAILED at 1.File index.php is not empty after patch, as expected1 out of 1 hunk FAILED — saving rejects to file index.php.rejpatching file settings/fetion-test.phpcan’t find file to patch at input line 42Perhaps you used the wrong -p or –strip option?The text leading up to this was:————————–|diff -uNr plugins-old/settings/include/functions.php plugins/settings/include/functions.php|— plugins-old/settings/include/functions.php 2008-04-29 14:03:40.000000000 +0800|+++ plugins/settings/include/functions.php 2008-11-24 18:22:10.000000000 +0800————————–File to patch:Skip this patch? [y] ySkipping patch.1 out of 1 hunk ignoredpatching file settings/include/msnpauth.phppatching file settings/include/sendMsg.phppatching file settings/msn-test.phpcan’t find file to patch at input line 537Perhaps you used the wrong -p or –strip option?The text leading up to this was:————————–|diff -uNr plugins-old/settings/setup.php plugins/settings/setup.php|— plugins-old/settings/setup.php 2008-04-29 14:03:40.000000000 +0800|+++ plugins/settings/setup.php 2008-11-24 13:07:48.000000000 +0800————————–File to patch: plugins/settings/patch: **** File plugins/settings/ is not a regular file — can’t patch

 c) 测试   安装成功之后可以看到:
   可以在这里测试邮件和MSN,如图:

   测试邮件

   测试MSN   因为公司的邮件服务器需要SMTP认证,因此测试时邮件服务器使用图中的就可以了。
   建立thold模板时可用选择发送多个用户,如图:

 d) 修改文件   需要修改:../cacti/plugins/thold/ thold_templates.php 在352行处
foreach ($users as $user) {$send_notification_array[$user['id']] = $user['data'] . ' - ' . ucfirst($user['type']);}

   修改数据库:plugin_thold_contacts表   增加需要显示的用户信息,例如:

   其中user_id为1表示为管理员,是在user_auth表中的用户信息。
 e) 短信提醒可以使用139邮箱附带的短信通知实现。

使用cacti监控url的响应时间

 引用一个page_load_time.tar.gz的模板,该模板包含2个文件,一个是获取某个url响应时间的perl脚本page_load_time.pl, 一个是需要导入cacti的模板xml 文件 cacti_graph_template_page_load_time.xml。
 具体操作步骤如下: 将page_load_time.pl脚本放置于<cacti_home>/scripts/目录下;需要注意的是,脚本中引用的几条命令:perl、wget、time的具体路径,   要根据cacti安装的主机上的实际路径来修改; 在【import templates】模块,将cacti_graph_template_page_load_time.xml的模板文件导入; 在【devices】模块中添加url对应主机的设备; 在【Associated Graph Templates】位置,添加page load time 这个图形模板; 点击【Create Graphs for this Host】,添加page load time图形,并且选择page load time的data source 出现的data source定义页面上,指定需要监控的url。
 注意事项: 像陕西aaa这种在url上需要带端口进行监控的。http://10.0.3.20:5050/ aaa/portal/login.do?action=autoLogon&way=mine。 通过$host . $url的方式来拼出wget需要的url是有问题的。因此,修改page_load_time.pl,将其输入的参数设置为只有一个url的参数; 在【Data Input Methods】中,将page load time这个方法的命令中去掉对<host>参数的引用,修改为:
perl <path_cacti>/scripts/page_load_time.pl <url>

 在【Data Source】中,将需要check的url设置为绝对的url路径,例如:http://10.0.3.20:5050/aaa/portal/login.do?action=autoLogon&way=mine 在最后生成图片的时候,有一个ERROR:the RRD does not contain an RRA matching the chosen CF 这样的报错。需要修改graph templates, 将item1的CFType由原先的Last修改为Average,则图片可以显示正常了。

其他

 Cacti提供了非常灵活的模板定制和导入模板功能,包括了数据采集部分,图形部分等。同时可以对用户进行灵活的管理和权限分配, 例如可以指定该用户仅仅有查看图形的权限而不能做任何系统相关配置,更进一步可以做到指定该用户拥有哪幅图/主机/模板/节点(树)的查看权限。 有待我们去做进一步研究和挖掘。其更为详细使用说明,请参考随机带的文档或其网站Documents部分。

转载于:https://www.cnblogs.com/weaver1/archive/2012/02/15/2352223.html

cacti-0.8.7d安装相关推荐

  1. Centos 5.2安装Cacti并集成Nagios安装文档

    Centos 5.2安装Cacti并集成Nagios安装文档 本文档并非原创,而是参照网上很多文档,因为不能全部都把参照者列举出来,特在此感谢我参照文档的作者. 一.本文档所用软件说明: . 二.系统 ...

  2. cacti config.php,cacti监控系统的安装配置

    1.cacti简介 1).cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户. ...

  3. Centos Cacti 0.8.8g

    Centos Cacti 0.8.8g 一.Cacti简介 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的 ...

  4. cacti linux cpu datasource,Cacti 0.8.8b 硬盘、网络流量、cpu、内存告警配置

    类别:转载服务器 本文参考 http://kerry.blog.51cto.com/172631/235923/ 第一:说明 目的:本机前提是已安装好了cacti 0.8.8b 并正常工作,本文档主设 ...

  5. cacti mysql配置_Linux_MySQL_Cacti安装配置

    cacti是一套开源的网络监控工具,可以监控主机的状态和负载情况, 添加相应的模板后,可以用来监控apache服务器和mysql服务器的运行状态, 我安装这个主要是为了监控mysql服务器的运行状态的 ...

  6. linux mysql 5.0.45_RedHat糸列Mysql-5.0.45的安装

    RedHat糸列Mysql-5.0.45的安装 发布时间:2007-11-22 00:29:11来源:红联作者:itchinax # chmod 755 mysql-5.0.45.tar.gz # t ...

  7. CentOS-7.0的核心安装与配置的补全

    我们CentOS-7.0的核心安装后,很开心,但还没等兴奋劲过去就发现问题了,yum怎么用不了?ifconfig怎么也用不了?pvcreate呢?......之后大家可能就开始骂我坑爹了,怎么这么多的 ...

  8. redis3.0.0 集群安装详细步骤

    2019独角兽企业重金招聘Python工程师标准>>> redis3.0.0 集群安装详细步骤 博客分类: 缓存 Redis集群部署文档(centos6系统) (要让集群正常工作至少 ...

  9. redis3.0.2 编译安装 (启动服务方式启动)

    1.基础环境介绍: 操作系统:Centos 6.7 redis版本:3.0.2 2.开始安装: 1)基础安装 参考链接:http://309173854.blog.51cto.com/7370240/ ...

最新文章

  1. 必读!53个Python经典面试题详解
  2. MySQL之索引分类
  3. 值得mark的11个开源机器学习项目 .
  4. mini2440 裸机编程 -led
  5. 改善医疗营运效率 哈佛医学中心与 AWS 共同合作
  6. .NET 6 中的七个 System.Text.Json 特性
  7. mysql连接代替子查询_MySQL优化之使用连接(join)代替子查询
  8. python selenium 怎么查找modal悬浮窗的内容_python教程:五分钟从pubmed down几万篇文献...
  9. js 调用webservice接口
  10. 和DOM一起的日子:检测与预防DOM跨站脚本攻击
  11. opencv3.4.2调用训练好的Openpose模型
  12. 我的 Java/C# web 后端开发技术选择
  13. 椰树集团引爆互联网背后的“流量秘密”
  14. “免费代理IP” 又双叒叕来了,这次无限量、更稳定。(附带使用教程)
  15. c++ 字母降落小游戏
  16. html获取 条码枪,获取扫描枪条码
  17. Hibernate criterion 方法总结
  18. 跨境电商账号矩阵运营方法论
  19. 开源自助建站系统源码完整源码+搭建教程 傻瓜式一键建站系统源码
  20. 【2022/1/12】think-swoole使用教程

热门文章

  1. JVM 调优实战--VisualVM综合分析可视化工具的使用教程(含远程JMX连接)
  2. lisp 角平分线_最佳VisualLISP及VBAforAutoCAD2000程序123例 张光斌.pdf
  3. ajax jq 图片上传请求头_全面分析前端的网络请求方式:Ajax ,jQuery ,axios,fetch
  4. Qt线程之QRunnable的使用详解
  5. Qt Scene graph画线
  6. 在eclipse中查看Android源代码
  7. 使用循环链表解决约瑟夫环问题
  8. Linux部分系统IO函数
  9. Linux C : 进程管理实验:创建进程、上下文切换
  10. UDP(首部)和TCP(首部、三次握手、四次挥手、可靠传输、滑动窗口、流量控制、拥塞控制(慢开始、拥塞避免、快重传、快恢复))