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

而且你不需要理解rrdtool的复杂参数,它提供非常强大的数据、用户管理功能,它可以指定用户查看host、树状结构、以及任何一张图,还可以与ldap结合提供身份认证。

Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下,一般以rra为后缀名称)。简单原理图如下:

1、Cacti服务器端安装

官网下载cacti相关软件,一共需要三个软件,下载地址分别如下:

  1. http://www.cacti.net/downloads/cacti-0.8.8h.tar.gz
  2. http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz   或者 使用yum安装
  3. http://www.cacti.net/downloads/spine/cacti-spine-0.8.8h.tar.gz

2、安装LAMP系统环境

这里采用yum安装方式,安装命令:

yum install  httpd  mysql   mysql-server mysql-delve   php   php-mysql php-json php-pdo   -y

或者

yum install httpd*

yum install mysql*

yum install php*

其中,mysql数据库安装后,需要启动初始化,并使用mysqladmin配置一下登录密码,具体教程参见http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html

3、安装rrdtool采集工具

安装rrdtool之前需要安装相应的lib库,如下安装:

yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel
libart_lgpl-devel intltool

源码安装rrdtool
#tar xzf rrdtool-1.4.5.tar.gz ;cd rrdtool-1.4.5 ; ./configure --prefix=/usr/local/rrdtool/ #make &&make install;ln -s /usr/local/rrdtool/bin/* /usr/local/bin/ 或者采用yum安装(我的rrd版本为1.3.8) yum search rrdtool
yum install rrdtool*

4、安装SNMP服务

yum install net-snmp  net-snmp-utils  –y

(注意 不要只安装net-snmp 这样在配置如下界面时,会找不到相关的工具 比如snmpget)

安装后 修改可以访问snmp的网段和community,因为我是yum安装的,配置文件默认在/etc/snmp/中的snmpd.conf

添加:

com2sec  mynetwork  192.168.122.0/24  public

并且:

chkconfig snmpd on

5、安装cacti主程序

tar xzf cacti-0.8.8h.tar.gz && mv cacti-0.8.8h   /var/www/html/cacti/  将tar包所有文件解压到/var/www/html/cacti/下

6、配置文件夹权限

#useradd cacti

#chown -R cacti:cacti  /var/www/html/cacti

7、创建cacti数据库

    mysql -uroot –p  输入你的密码进入数据库,然后创建数据库:
create database cacti default charset=utf8;创建数据库
grant all on cacti.* to cacti@'localhost' identified by "cacti";创建用户并授权
flush privileges; 刷新权限
  
  导入cacti数据库
  #cd /var/www/html/cacti 
  #mysql -uroot -p123456 cacti < cacti.sql
  
  • 配置完mysql后,我们需要设置cacti  rra、log 目录的权限,这里设置为777:
  • chmod -R  777 /var/www/html/cacti/rra/
  • chmod -R  777 /var/www/html/cacti/log/

  配置完毕后,有可能出现在浏览器上显示空白的页面,这和cacti文件及文件夹的权限有很大关系

  

  

8、修改cacti全局配置文件

vim /var/www/html/cacti/include/config.php为如下配置:

database_default = cacti

database_username = cacti

database_password = cacti (用户名和密码和你创建cacti数据库时指定的用户和密码要对应)

9、添加Rrdtool抓图任务计划

*/5  * * * */usr/bin/php /var/www/html/cacti/poller.php >>/tmp/cacti_rrdtool.log 2>&1

10、Cacti安装完毕,测试访问

通过http://ip/cacti/访问出现如下界面,点击NEXT下一步。

默认一直点击下一步:

进入登录界面,第一次需要修改密码:

11、进入Cacti配置管理界面

12、点击device,可以添加设备,默认可以看到127.0.0.1这台服务器。右上角Add可以增加设备。

设备添加方法可见 http://wenku.baidu.com/link?url=VPoNPmHQzcbJGEzcjv3UmcNvQbQbsrwG-WO3wESrsvn0pQK8It67dk30vm7bdJhzN4S9kiUUvVOIEUK6MRCSxMYvwQaMLd8j6u_b57n5Whi

点击localhost可以看到具体的设置,包括采用的snmp协议版本,监控的名称等:

如果出现snmp error,检查snmp服务是否已启动,或者是否有权限。出现如上信息则表示正常。

出现snmp error解决方法:http://www.shangxueba.com/jingyan/125453.html

Cacti 学习笔记的更多相关文章

  1. Cacti学习笔记一:基本安装和配置

    1.安装依赖包 yum -y install net-snmp-devel mysql mysql-devel openssl-devel libtool 2.安装RRDTool yum -y ins ...

  2. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  3. MongoDB学习笔记:快速入门

    MongoDB学习笔记:快速入门   一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  6. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  7. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  8. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  9. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

随机推荐

  1. File I/O 小结

    1 .I/0: input/output 2.java.io.File 3 .表示:文件或者文件夹(目录) 4. File f = new File("文件路径"); 5 .注意: ...

  2. eclipse的应用和整理

    1如何在eclipse中获取动态项目的绝对路径 1.鼠标选中项目,右击菜单,选择properties2.出来弹出框,选择resource,location的值就是你想要的项目绝对路径 JSP中获得当前 ...

  3. 《ArcGIS Runtime SDK for Android开发笔记》——(15)、要素绘制Drawtools3.0工具DEMO

    1.前言 移动GIS项目开发中点线面的要素绘制及编辑是最常用的操作,在ArcGIS Runtime SDK for iOS 自带AGSSketchLayer类可以帮助用户快速实现要素的绘制,图形编辑. ...

  4. Windows怎样共享文件夹给Virtualbox 里面的Ubuntu

    主要命令 1.  sudo mount -t vboxsf Share /media/sf_Share 2.   sudo adduser userid vboxsf

  5. linux下查看磁盘分区的文件系统格式

    df -T 只可以查看已经挂载的分区和文件系统类型. Filesystem Type 1K-blocks Used Available Use% Mounted on/dev/sda1 ext4 20 ...

  6. PHP 数字转汉字函数

    /** * 数字转汉字描述 */ function numToStr($num) { // 判断正确数字 if (!preg_match('/^(\d*)(\.\d+)?$/', $num)) ret ...

  7. 删除排序数组中的重复数字 - C++

    class Solution { public: /** * @param A: a list of integers * @return : return an integer */ int rem ...

  8. linux下使用第三方商店安装应用

    安装 snap store 进行下载,相当与第三方应用商店,但是往往比某一个官方软件源里面的应用要丰富或更实用 到 snap docs 中选择你的 linux 版本进入安装文档,根据指示一步一步安装即 ...

  9. ring0 恢复SSDTHook

    原理: 用ZwQuerySystemInformation 功能号为11(SystemModuleInformation)  得到所有系统模块的地址 遍历搜索得到ntos模块的基地址 读Ntos模块到 ...

  10. euclidean loss

    个人感觉相当于L2范式开平方,也相当于针对两个向量的欧氏距离开平方 说的更直白点就是两个向量对应位置相减得到每个位置的差,然后把每个位置的差开平方再相加 前向传播cpp代码: template < ...