• 安装 Cacti 监控


    简介:        
            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 监控 - 朝鲜程序员 - 朝鲜程序员的博客
     
     
     
    运行原理:
    Cacti 监控 - 朝鲜程序员 - 朝鲜程序员的博客
     
     

     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
     
     
     
    进入安装界面,系统再次检测系统环境
    安装 Cacti 监控 - 朝鲜程序员 - 朝鲜程序员的博客
     
    php环境:
    安装 Cacti 监控 - 朝鲜程序员 - 朝鲜程序员的博客
     
    插件环境:
    安装 Cacti 监控 - 朝鲜程序员 - 朝鲜程序员的博客
     
    数据库环境:
    安装 Cacti 监控 - 朝鲜程序员 - 朝鲜程序员的博客
    安装 Cacti 监控 - 朝鲜程序员 - 朝鲜程序员的博客
     
     
     
     
    根据检查结果,补充设置系统环境:
      
    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
    安装 Cacti 监控 - 朝鲜程序员 - 朝鲜程序员的博客
     选择安装新服务器
     
    安装 Cacti 监控 - 朝鲜程序员 - 朝鲜程序员的博客
     还是缺少snmp 相关程序,这是由于使用yum 安装snmp时没有完全安装的原因,两个解决方法
    1.源码完全安装
    2.yum install net-snmp-utils.x86_64
     
     
    安装 Cacti 监控 - 朝鲜程序员 - 朝鲜程序员的博客
     这些文件没有写权限,增加即可
    (为了保证网站安全,在完成安装程序后,最好将写权限去掉)
    [root@bogon resource]# chmod o+w s*
    ……
     
    接着选择使用模板
     
    默认用户名admin 密码admin
    重新设置密码 

    完成
  • 相关阅读:
    yum---Linux软件安装与管理
    Python Cheetah01
    Python 改变字体颜色
    DenyHosts安装及配置
    Python 文件I/O
    Python 列表(List)
    Python 字符串
    Python 循环语句
    Python 条件语句
    Python 系统性能信息模块psutil
  • 原文地址:https://www.cnblogs.com/centos2017/p/7896744.html
Copyright © 2020-2023  润新知