前段时间在PINER的BLOG上看到监控DB的图形画的很漂亮,询问后得知是使用CACTI画的,于是拿来学习。因为linux下的所有技术都很差,因此最后实现了一个运行在linux下,使用java来采集数据进行画图的咚咚。

网上有很多安装文档,这里记录的仅仅是安装过程中碰到的问题和cacti自定义绘图的基本原理和方法。

[@more@]

CACTI安装使用总结
linux:REDHAT AS4U4X86
cacti:0.86j 此版本的cacti需要的相关软件版本:
1、RRDTool 1.0.49 或者 1.2.x 或者更高
2、MySQL 3.23 或者更高, 推荐使用4.0.20d 或者更高版本(可以使用更多的功能)
3、PHP 4.1 或者更高, 推荐使用4.3.6或者更高版本(可以使用更多功能)
4、需要安装的软件包括:httpd、php、php-mysql、php-snmp、mysql、mysql-server、net-snmp

官方安装文档:
Extract the distribution tarball.

shell> tar xzvf cacti-version.tar.gz
Create the MySQL database:

shell> mysqladmin --user=root create cacti
Import the default cacti database:

shell> mysql cacti < cacti.sql
Optional: Create a MySQL username and password for Cacti.

shell> mysql --user=root mysql
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassword';
mysql> flush privileges;
Edit include/config.php and specify the MySQL user, password and database for your Cacti configuration.

$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";
Set the appropriate permissions on cacti's directories for graph/log generation. You should execute these commands from inside cacti's directory to change the permissions.

shell> chown -R cactiuser rra/ log/
(Enter a valid username for cactiuser, this user will also be used in the next step for data gathering.)

Add a line to your /etc/crontab file similar to:

*/5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1
Replace cactiuser with the valid user specified in the previous step.

Replace /var/www/html/cacti/ with your full Cacti path.

Point your web browser to:

http://your-server/cacti/

Log in the with a username/password of admin. You will be required to change this password immediately. Make sure to fill in all of the path variables carefully and correctly on the following screen.

安装依赖关系需要的包(可以在REDHAT的发布版中找到):
1、安装HTTP服务器:apr-0.9.4-24.5.i386.rpm|apr-util-0.9.4-21.i386.rpm|httpd-suexec-2.0.52-25.ent.i386.rpm|httpd-2.0.52-25.ent.i386.rpm四个包(在DISK2中)
2、安装PHP服务器:php-4.3.9-3.15.i386.rpm|php-pear-4.3.9-3.15.i386.rpm|php-mysql-4.3.9-3.15.i386.rpm|php-snmp-4.3.9-3.15.i386.rpm
3、安装PERL:perl-DBD-MySQL-2.9004-3.1.i386.rpm|perl-DBI-1.40-8.i386.rpm
4、安装MYSQL:mysql-4.1.20-1.RHEL4.1.i386.rpm|mysql-server-4.1.20-1.RHEL4.1.i386.rpm
5、安装NET-SNMP:net-snmp-5.1.2-11.EL4.7.i386.rpm|net-snmp-utils-5.1.2-11.EL4.7.i386.rpm|lm_sensors-2.8.7-2.40.3.i386.rpm
6、安装RRDTOOL:freetype-2.1.10.tar.tar(tar -jxvf)|libart_lgpl-2.3.17.tar.gz|libpng-1.2.10.tar.gz|rrdtool-1.2.19.tar.gz,把编译通不过提示路径不存在的地方的/usr/include改为/usr/local/include(直接修改configure文件),对应的每个LIB都有两个地方要改,然后把/usr/local/rrdtool-1.2.19/bin目录下的可执行文件全部拷贝到/usr/bin和/usr/local/bin目录下,同时把/usr/local/lib/libpng12.so.0拷贝到/usr/lib/libpng12.so.0,覆盖原文件。
7、安装cacti:参照上面的文档
8、更换CACTID需要包mysql-devel-4.1.20-1.RHEL4.1.i386.rpm|net-snmp-devel-5.1.2-11.EL4.7.i386.rpm|beecrypt-devel-3.1.0-6.i386.rpm|elfutils-devel-0.97.1-3.i386.rpm|elfutils-libelf-devel-0.97.1-3.i386.rpm(需要注意的是有时候在命令行测试执行没问题,但是添加到CRONTAB执行却有问题,有可能是bug。目前的解决方法是,自己定义一个可执行脚本,然后把这个脚本添加到crontab中去。范例:
. /home/cactiuser/.bash_profile
/usr/bin/php /var/www/html/cacti/poller.php
/home/cactiuser/j2sdk1.4.2_13/bin/java OracleUpdateCactiTable)

在bash_profile中记录了java执行的classpath:

export CLASSPATH=/var/www/html/cacti/scripts/:/var/www/html/cacti/scripts/classes12.jar
9、更换完后需要配置/ETC/CACTID.CONF,并且好像要把这个配置文件拷贝到/VAR/SNMP/CACTID.CONF,并且修改/VAR/SNMP和CACTID.CONF的文件权限为最大。
10、修改POLLER配置中选择CACTID来执行POLLER.PHP,然后在PATH中设置CACTID的路径,并把DATA INPUT METHOD中的关于路径的都更改为绝对路径。
11、检查RRA下的文件的生成以及采集后的文件时间是否更新,另外RRA的权限和RRA下文件的属主、权限是否正确。
11、最后执行PHP POLLER.PHP来测试(可以打开最大的DEBUG日志,也可以直接在最后绘图那里进行TRUN ON DEBUG进行调试)

使用:
1、cacti的流程是从Data Input Methods开始,创建一个信息采集的方法先,里面定义了采集的方法和采集需要的脚本(注意:如果使用CACTID最好使用可执行文件的全路径),可以定义一个输入和输出。输入可以为你执行这个脚本带入参数,比如连接数据库的参数,这样只要设置这个参数就可以连上不同的数据库了。输出是信息采集的输入结果,以列名+冒号+采集结果的形式返回。
2、然后是数据模版,里面需要选择Data Input Methods,如果数据输入方法中有参数的,这里可以设置参数,也可以选择忽略这个设置,然后到最后配置图形的时候再输入特定的参数。
3、创建图形模版,里面需要定义图形的ITEM,可以使用AREA方式先画一个框,然后把其他值以STACK的方式往前面的AREA上面累加。也可以使用GPRINT方式在最下面的备注那里输出些信息(一般是输入最后采集时候的值)。这里可以定义CDEF function,这个函数可以把你显示的ITEM进行转换,比如把8k转换成8192字节等,这个函数可以自定义的(可以参考Graph Management中的CDEFs中的定义来进行自定义)。
4、创建DATASOURCE,然后创建GRAPH。
最后可以把他们放到一个TREE上

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25016/viewspace-911764/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25016/viewspace-911764/

写了一遍垃圾的CACTI安装使用参考相关推荐

  1. 性能监控工具——Cacti安装文档

    一.Cacti安装说明 1.安装说明 一般性的安装说明,详细的操作系统具体的安装说明可用于Linux. 2.服务器安装要求 RRDTool 1.2.x或更高版本 MySQL 4.1.x或5.x更高版本 ...

  2. 旁门左道也谈cacti安装

    cacti作为一个优秀的流量监控软件,很多人都在用它,很多人也很想使用它.但是后面的这很多人,确没有能用上它.为啥呢?有句话说:"今天很难过,明天很难熬,后天很美好,但是很多人在明天晚上就G ...

  3. 如何看待导师直接说你写的论文就是垃圾?

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 编辑:Amusi(CVer公众号)  |  来源:知乎 https: ...

  4. 如何看待研究生导师直接说你写的论文就是垃圾?

    来自 | 知乎 https://www.zhihu.com/question/398692495 编辑 | AI有道 本文仅作学术分享,若侵权,请联系后台删文处理 才写第一篇论文,纯当练手,但被导师说 ...

  5. cacti 安装过程笔记

    一.搭建lamp架构 1.yum方式如下: yum groupinstall "Web Server" yum groupinstall "Mysql Database& ...

  6. Cacti文档下载(linux/windows Cacti安装、cacti模板、cacti插件)

    本系列文档的其他部分链接如下: 一. 概述及Cacti的工作流程 二. Cacti安装 (Linux) 三. Cacti的使用 四. Cacti脚本及模板 五. Cacti插件 六. Cacti高级应 ...

  7. 用Python写一个营销号垃圾视频生成器

    用Python写一个营销号垃圾视频生成器 可能是闲着太无聊,然而复习是不可能复习的,就做了一个这个玩意儿,改天进军UC和百家号(不会真有人用吧) 先看看效果:(1:20以后) 用Python做的营销号 ...

  8. python广告营销平台_荐用Python写一个营销号垃圾视频生成器

    用Python写一个营销号垃圾视频生成器 可能是闲着太无聊,然而复习是不可能复习的,就做了一个这个玩意儿,改天进军UC和百家号(不会真有人用吧) 先看看效果:(1:20以后) 用Python做的营销号 ...

  9. cacti 配置mysql_Linux Mysql cacti安装配置

    Linux Mysql cacti安装配置 时间:2019-01-18 17:44作者:网友投稿 cacti是一套开源的网络监控工具,可以监控主机的状态和负载情况,添加相应的模板后, 可以用来监控ap ...

最新文章

  1. MySoft.Data入门篇:实体生成
  2. socket未读消息 如何设计_如何设计IM系统的消息架构?
  3. 45度炸队Alpha冲刺博客集
  4. Day 06 元组,字典,集合
  5. 单进程程序怎样在linux运行,linux下C程序:运行单个实例
  6. Java基础--多态
  7. 算法不会,尚能饭否之双向循环链表
  8. 开源地图编辑器 MarbleMap,支持Cocos2d-x坐标系
  9. 初学Golang:Go 的数据类型及常见特性
  10. jadc连接oracle,用jdbc连接oracle的第一次经历
  11. [转载] XStream的分析
  12. OpenCV(图像处理)—访问像素的三种方法
  13. springboot事务管理
  14. Spring常用注解(绝对经典)
  15. 教你识别思科交换机型号
  16. 测试Java测试Java测试Java
  17. 思科设备密码破解方法
  18. 了解信息学竞赛流程,快速入门!
  19. uniapp导航切换(一个页面可以切换3个子页面)
  20. 网络语言进课堂:上海禁止北京面对

热门文章

  1. BlueHost和SiteGround美国主机商对比评测
  2. 如何让虚拟机可以联网
  3. qpython3手机版turtle_Python的画图模块turtle使用详解
  4. Endnote20加载入wps——当COM加载项找不到插件时
  5. 都23年了你还记得渐进式框架是什么意思吗
  6. 基于关系型代数的 SQL 等价改写
  7. 程序基石系列之C++多态的前提条件
  8. Docker的安装与基本使用(一)---使用Docker的前提条件和三要素
  9. Jsoup 解析Html源码实例
  10. 高内聚低耦合是什么含义,怎么实现?