简介:        
        Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。

        Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。 

cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
         snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。

 
工作原理:

 
 
 
运行原理:

 
 cacti需要的运行环境:
      MySQLPHPRRDToolnet-snmp, and a webserver that supports PHP such as Apache or 
 
     我这里安装的是cacti 1.0.0 版本,环境具体要求如下(有些已安装环境 验证一下)

- PHP 5.3+
        验证# php -v
               PHP 5.5.30 (cli) 
        还要安装 # yum install php-mysql
- MySQL 5.1+

       验证# mysql -V
              mysql  Ver 14.14 Distrib 5.7.10,  
- RRDTool 1.2+, 1.5+ recommended
       安装  #yum install rrdtool.x86_64      (1.3.8-7.el6 )
- NET-SNMP 5.5+
       安装  #yum install net-snmp.x86_64   (5.5-41.el6 )
- Web Server with PHP support      
         验证   # ./httpd -v
           Server version: Apache/2.2.31 (Unix)
 
 
配置数据库:
   建立数据库cacti,并增加对该数据库拥有所有权限的用户名cacti123,该用户密码为:cacti123

建库
         mysql> create database cacti;

Query OK, 1 row affected (0.00 sec)
         建用户
        mysql>create user 'cacti123'@'localhost' identified by 'cacti123';
         用户授权

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

Query OK, 0 rows affected (0.00 sec)

刷新权限

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 
 
安装cacti:
        linux上可以通过安装包   http://www.cacti.net/download_cacti.php  安装

        下载解压安装包  cacti-1.0.1.tar.gz
         #tar -zxvf cacti-1.0.1.tar.gz 
       把解压出的文件放置在apache的主目录中
        #mv cacti-1.0.1 /var/www/html

      将cacti数据库文件导入数据库
             cacti数据库文件在解压出的包中,名称为 cacti.sql
            # mysql -ucacti123 -pcacti123 cacti<cacti.sql    #将cacti数据库导入
 
       修改配置文件    include/config.php
       主要修改数据库连接信息部分
       /* make sure these values reflect your actual database/host/user/password */
$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti123';
$database_password = 'cacti123';
$database_port     = '3306';
$database_ssl      = false;
 
为对应以下配置信息
$url_path = '/cacti/';
 (请到/var/www/html 中 将文件夹cacti-1.0.1改名为 cacti)     
 
      
 
 
可以访问页面:  ip/cacti/index.php
 
 
访问出错,页面报500内部服务器错误
原因:php没有安装mysql插件
解决:# yum install php-mysql.x86_64

 
 
 
进入安装界面,系统再次检测系统环境

php环境:

插件环境:

数据库环境:
 
 
 
 
根据检查结果,补充设置系统环境:
  
1.数据库时区不对
将系统时区导入数据库中
# mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
红色处表示数据库名称,不是密码
 
ERROR: Your Cacti database login account does not have access to the MySQL TimeZone database. Please provide the Cacti database account "select" access to the "time_zone_name" table in the "mysql" database, and populate MySQL's TimeZone information before proceeding.
原因:要给cacti连接数据库用户增加 select权限
解决:mysql> grant select on mysql.time_zone_name to 'cacti123'@'localhost';
 
 
 

2.php:
      posix                      yum install php-process
     l
dap                      yum install php-ldap.x86_64
     
mbstring               yum install php-mbstring.x86_64
     
gd                         yum install php-gd
 
插件环境:
   snmp                     yum install php-snmp.x86_64
 
 
3.升级mysql版本
   关闭数据库
          #service mysqld stop
  下载安装最新的rpm文件
          #rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm  

安装MySQL,输入命令(过程中问询是否yes,一路y下去):

#yum install mysql-community-server
  完成后查看版本
        # mysql -V

         mysql  Ver 14.14 Distrib 5.6.35, for Linux (x86_64) using  EditLine wrapper
 
4.优化数据库参数配置
 
(这里最好按照顺序逐条添加并重启数据库验证,一次添加易启动失败)
collation_server:             在my.cnf中添加   collation_server=utf8mb4_unicode_ci
character_set_client:     在my.cnf中添加    character-set-server=utf8mb4  
max_heap_table_size      在my.cnf中添加    max_heap_table_size =  92M
max_allowed_packet        在my.cnf中添加     max_allowed_packet = 20M
tmp_table_size                  在my.cnf中添加     tmp_table_size = 64M
join_buffer_size                  在my.cnf中添加    join_buffer_size = 64M
innodb_doublewrite           在my.cnf中添加    innodb_doublewrite=OFF
以下类似……

innodb_additional_mem_pool_size=80M
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
collation_server=utf8mb4_unicode_ci
character-set-server=utf8mb4 
 max_heap_table_size =  92M
tmp_table_size = 64M
join_buffer_size = 64M
innodb_doublewrite=OFF
 
 
继续安装cacti

选择安装新服务器

 

还是缺少snmp 相关程序,这是由于使用yum 安装snmp时没有完全安装的原因,两个解决方法
1.源码完全安装
2.yum install net-snmp-utils.x86_64

 
 

这些文件没有写权限,增加即可

(为了保证网站安全,在完成安装程序后,最好将写权限去掉)

[root@bogon resource]# chmod o+w s*
……
 
接着选择使用模板
 
默认用户名admin 密码admin
重新设置密码

完成

安装 Cacti 监控的更多相关文章

  1. centos 安装cacti监控

    CentOS 6下Cacti搭建文档 安装依赖关系 yum -y install mysql-devel httpd php php-pdo php-snmp php-mysql lm_sensors ...

  2. centos7上安装cacti监控

     简介 在企业网络运维过程中,管理员必须时刻关注服务器的运行状态,如CPU.内存.磁盘空间使用情况等.为了能够及时的发现问题,尽量减少故障的发生.当网络中的设备,服务器等数量较多时,可以部署一套监控系 ...

  3. 安装cacti监控系统

    1 安装snmp [root@xxxx ~]# yum -y install net-snmp* 2 安装rddtool 3 创建数据库 cacti, 导入 cd xx/cacti/cacti.sql ...

  4. Windows下快速安装CACTI流量监控

    Windows下快速安装CACTI流量监控 原文  http://os.51cto.com/art/201111/300977.htm CACTI是一套PHP程序,它利用SNMPGET采集数据,使用R ...

  5. CentOS 6.7安装配置Cacti监控系统

    一.安装配置LAMP环境 yum -y install httpd php php-mysql php-snmp php-xml php-gd mysql mysql-server 启动http和my ...

  6. centos6.6 安装cacti监控服务器

    整理一份cacti的安装步骤.留作笔记和以后参考用. 环境: centos 6.6 -x64 cacti-0.8.8b-cn.tar.gz mysql yum安装即可 yum服务使用centos自带的 ...

  7. cacti监控juniper路由器

    之前也没有写过博客,但是最近一直在做监控.从网上查找很多资料都还是感觉差一点.所以自己添加一份我在cacti监控路由器的步骤. 环境,ubuntu14.04,apt-get install cacti ...

  8. cacti监控windows服务器

    参考文献: 通​过​C​a​c​t​i​监​控​w​i​n​d​o​w​s​资​源 前提条件 一.已安装好Cacti:ubuntu下cacti安装配置 二.准备好以下安装文件: Cacti_SNMP_ ...

  9. CentOS 6.6 安装Cacti

    1.最小化安装CentOS6.6,装好系统以后关闭防火墙和selinux[root@Cacti ~]#chkconfig iptables off[root@Cacti ~]#vi /etc/sysc ...

随机推荐

  1. Tarjan算法伪代码

    伪代码: 栈:当前dfs路径上的点low[x]:x能到达的点中最小的dfn dfs(x,t)    将x入栈     dfn[x]=t    low[x]=t    for(x,y)        i ...

  2. 【C_Language】---一份程序看懂C程序printf()的几种常用用法

    闲来继续巩固我的学习之路,今天略微整理了一下,C程序中Printf()的一些常用用法,虽然自己以前好像会,但是不够系统,今天大致整理了一些,先贴上来看看,以后在看到其他,继续补充,希望能帮到一些像我一 ...

  3. 各种小的 dp (精)

    Q~ 抛一枚硬币 n 次,每次可能是正面或者反面向上,求没有连续超过 k 次硬币向上的方案数 A : dp[ i ] 表示到 i 位置的方案数, 1 . 当 i < k 时, dp[i] = d ...

  4. PTA - 堆栈模拟队列

    设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q. 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数: int IsFull(Stack S):判断堆栈S是否已满,返回1或0: in ...

  5. SpringCloud组件和概念介绍(一)

    一:什么是微服务(Microservice) 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以独立地编译及 ...

  6. Redis系列(二):Redis的5种数据结构及其常用命令

    上一篇博客,我们讲解了什么是Redis以及在Windows和Linux环境下安装Redis的方法, 没看过的同学可以点击以下链接查看: Redis系列(一):Redis简介及环境安装. 本篇博客我们来 ...

  7. 国产CPU 申威1621 异数OS基础组件理论性能测试报告

    国产CPU 申威1621 异数OS基础组件理论性能测试报告 文章目录 国产CPU 申威1621 异数OS基础组件理论性能测试报告 前言 测试平台 测试项目 SW1621 异数OS 容器虚拟交换机模拟性 ...

  8. Java&Eclipse&Maven的折腾

    趁着寒假对于Java的余热,继续了对Java的征途.这次并没有太多琐碎的事情打断我的学习,于是借着这股热情去图书馆借了两本国外的书(中译版),对于程序的爱好一定要坚持下来,才开通了这个博客以坚持学习.

  9. PairProgramming 个人第三次作业

    Github地址:主仓库 https://github.com/Yanyixiao/PairProgramming.git Partner博客园地址: https://www.cnblogs.com/ ...

  10. mybatis generator cmd 终端命令 生成dao model mapper

    mybatis generator cmd 终端命令 生成dao model mapper 文件包下载 mybatis-generator-core-1.3.2.jar 下载地址:https://gi ...