简介:        
        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需要的运行环境:
      MySQL, PHP, RRDTool, net-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
重新设置密码
完成

转载于:https://www.cnblogs.com/centos2017/p/7896744.html

安装 Cacti 监控相关推荐

  1. centos 安装cacti监控

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

  2. Centos安装Cacti监控

    本次试验的所有包都可以去 http://blog.lubingit.com/Downing/cactipackname目录里下载 安装cacti 的步骤就不写了,去网上搜索有教程,本次试验软件版本为: ...

  3. linux运维最小化安装cacti,Linux监控和安全运维--cacti安装部署

    cacti安装 [root@client~]# rpm -ivh http://www.aminglinux.com/bbs/data/p_w_upload/forum/month_1211/epel ...

  4. 安装、配置文件-配置 CACTI 监控 MySQL 数据库状态-by小雨

    发一下牢骚和主题无关: MySQL 自身在性能监测方面很不给力.这是令很多 MySQL DBA 夜夜转辗难眠.    荣幸的是.通过 Cacti 监测(意注是监测而非监控)MySQL 据数库状态   ...

  5. 1、Cacti配置安装、监控Cisco交换机

    1.实验拓扑 2.安装Cacti 2.1.安装相关软件 [root@CentOS6 ~]# yum install -y httpd php php-mysql php-snmp mysql-serv ...

  6. 使用Cacti监控你的网络Cacti的安装

    声明:本系列文档出自石头记,如若转载请注明出处,本人保留文档的所有权,并欢迎转载. 本系列文档的其他部分链接如下: 一.概述及Cacti的工作流程 二.Cacti的安装 三.Cacti的使用 四.Ca ...

  7. 利用yum 安装 lamp环境搭载 cacti监控和memcached数据库

    今天测试了一下yum安装lamp和cacti监/控已经memcached数据库 首先介绍下我的系统环境 centos6.7 x86-64 1安装cacti yum install cacti 安装ca ...

  8. cacti监控linux和windows磁盘IO

    cacti监控linux和windows磁盘IO 标签:cacti linux磁盘IO windows磁盘IO 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则 ...

  9. Centos5.5完整安装Cacti+Spine

    Nginx平台搭建请参考:Nginx+mysql+php-fpm搭建高性能Nginx平台 实验环境如下: 监控主机:192.168.1.210(www+rrdtool+net-snmpd+cacti+ ...

最新文章

  1. linux md5sum 的用法(转)
  2. matlab与acess连接问题
  3. 网络推广外包专员浅析为什么说早在建站初期就要做好网络推广外包
  4. poj 1236 Network of Schools
  5. Qt学习笔记之QTranslator
  6. [渝粤教育] 西南科技大学 工程测量 在线考试复习资料
  7. Skywalking-11:Skywalking查询协议——案例分析
  8. 学习yield《转》
  9. mysql null 查询条件_MySql当查询条件为空时不作为条件查询
  10. python能做什么-学会Python后都能做什么?网友们的回答简直不要太厉害
  11. python爬虫之图片下载APP1.0
  12. 编译OpenJDK8:NMAKE : fatal error U1077
  13. 使用 matlab 深度学习工具训练模型
  14. html5改变窗口大小,js怎么改变窗口大小?js改变窗口大小方法
  15. WPF另类实现摄像头录像并预览
  16. 计算机毕业设计ssm网上花店系统0716c系统+程序+源码+lw+远程部署
  17. Go语言泛型工具go2go
  18. php导出word样式控制,php导出word文档样式以及word文档分页
  19. “卖惨”的悲情牌打多了,营销终将变“悲剧”
  20. 区分C语言中的*(p++), *p++, (*p)++, *(++p), *++p

热门文章

  1. python编程语言零基础入门-程序员大佬,给Python零基础入门书籍教程的一些建议!...
  2. python是不是特别垃圾-11道Python最基本的面试题,不会好好反思吧!
  3. python 调用linux命令-Python调用shell命令常用方法
  4. python用什么编译器较好-python用什么编译器
  5. python怎么导入文件-Python文件如何引入?详解引入Python文件步骤
  6. windows怎么下载安装python-windows下numpy下载与安装图文教程
  7. python怎么画条形图-如何按python中的值分组绘制条形图?
  8. 在开课吧学python的经历-做客李晨nic淘宝直播 胡海泉胡彦斌带货开课吧Python
  9. python运行程序-Python中四种运行其他程序的方式
  10. python百度云资源-python学习资源--百度云