zoukankan      html  css  js  c++  java
  • CentOS下安装配置Cacti

    cacti简介

    随着公司规模扩大,服务器也日渐增多,对服务器集群的网络流量和服务器性能实时监测显得愈发重要。开源阵营中常用有MRTG(MultiRouter Traffic Grapher)--基于SNMP的网络流量统计分析工具。它通过SNMP协议从设备得到并记录网卡信息,并将流量负载以图形的方式显示出来,系统负载小,使用方便。不过,由于MRTG存在诸多缺点,其作者Tobias Oetiker在1999年就已经开始开发另一套开源软件RRDTool来代替MRTG。,但是RRDTool的主要作用是数据的存储和将数据绘画成图像。要实现数据的采集和管理,需要通过cacti辅助RRDTool。

    cacti是用PHP语言开发的一套完全面向RRDTool的B/S系统,它用SNMP服务获取数据,然后用RRDTool储存和更新数据并生成详细图表呈现给用户。cacti通过Mysql存储了所有RRDTool创建图像需要用到的信息以及管理信息,如:主机名、主机ip、snmp团体名、端口号、模板信息等。注意:SNMP抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。

    服务器实时监控系统架构及工作流程

    整个监控系统主要由四部分组成:

    1、Cacti系统——用户控制的平台,用户在此进行所有的设置与查看图表。当然Cacti也需要WEB服务器如Apache和PHP环境的支持;

    2、SNMP采集工具--Unix下使用 Net-SNMP软件包自带的"snmpget"和"snmpwalk"等程序,windows下使用php的snmp功能;

    3、RRDTool绘图引擎--性能数据的存储和绘画图像;

    4、MySQL数据库--储存RRDTool绘图所需的信息。

    工作流程图:

    CentOS/安装/Cacti

     准备安装环境

    一. LAMP (如果你的LAMP正常工作,那么可跳过这一步)
    1. 安装LAMP
    # yum install httpd mysql mysql-server php php-mysql

    2. 配置Apache
    # vim /etc/hosts // 检查主机名
    127.0.0.1 localhost.localdomain localhost

    # vim /etc/httpd/conf/httpd.conf // 修改配置文件
    ServerName localhost:80

    3. 启动WWW,测试PHP
    # /etc/init.d/httpd start // 立即启动
    # /etc/init.d/httpd configtest // 测试设定档语法
    # chkconfig httpd on // 设置开机启动
    # netstat -tulnp | grep httpd // 查看启动端口
    # tail /var/log/httpd/error_log // 查看httpd日志

    在浏览器输入: http://你的主机IP 查看Apache页面
    # vim /var/www/html/phpinfo.php // 在WWW目录建立PHP文件,添加下面内容,测试PHP
    <?php phpinfo (); ?>
    在浏览器输入: http://你的主机IP/phpinfo.php 查看PHP信息

    4. 配置MYSQL
    # /etc/init.d/mysqld start // 启动 mysql
    # chkconfig mysqld on // 设置开机启动
    # netstat -tulnp | grep mysql // 查看端口情况
    # mysqladmin -uroot password '123456' // 给root 设置密码
    # mysqladmin --user=root --password reload

    # mysql -uroot -p123456 // 进入 mysql
    mysql> quit

    5. 如果你的PHP无法解析文档,那就重装LAMP吧
    卸载软件包: httpd
    # rpm -qa | grep httpd //查看httpd相关软件包
    httpd-2.2.3-63.el5.centos

    # rpm -e httpd-2.2.3-63.el5.centos --nodeps //卸载软件包,--nodeps 如果有连带关系,也强制卸载
    # cd /etc/httpd/
    # rm -rf * // 删除原有httpd文件
    php , mysql 卸载方法同上, 然后新安装LAMP
    ------------------------------------------ END LAMP ---------------------------------------

    二、安装cacti所需环境
    1. 安装rrdtool
    # yum install rrdtool -y

    2. 安装net-snmp
    # yum install net-snmp net-snmp-libs net-snmp-utils
    # vi /etc/snmp/snmpd.conf // 配置 snmpd.conf
    view systemview included .1.3.6.1.2.1.1
    改为:
    view systemview included .1.3.6.1.2.1

    # service snmpd start // 启动 snmpd 服务
    # snmpwalk -v 1 -c public localhost .1.3.6.1.2.1.1.1.0 // 测试net-snmp
    SNMPv2-MIB::sysDescr.0 = STRING: Linux cronos 2.4.28 #2 SMP ven jan 14 14:12:01 CET 2005 i686

    三.安装配置Cacti
    1. 获取并解压缩Cacti文件

    # cd /tmp
    # wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
    # tar -zxvf cacti-0.8.8b.tar.gz
    # mv cacti-0.8.8b /var/www/html/cacti //将它放到WWW目录并改名
    2. 创建Cacti数据库并建立访问帐号
    # mysql -uroot -p123456
    mysql> create database cacti;
    mysql> grant all on cacti.* to root;
    mysql> grant all on cacti.* to root@localhost;
    mysql> grant all on cacti.* to cactiuser;
    mysql> grant all on cacti.* to cactiuser@localhost;
    mysql> set password for cactiuser@localhost=password('cactiuser');
    mysql> quit

    3. 导入Cacti数据库 , 创建用户并赋予权限
    # cd /var/www/html/cacti
    # mysql -uroot -p123456 cacti < cacti.sql
    # useradd cactiuser -d /var/www/html/cacti -s /bin/false
    # chown –R cactiuser /var/www/html/cacti/rra /var/www/html/cacti/log

    4. 配置cacti数据库连接
    # vim /var/www/html/cacti/include/config.php
    $database_type = "mysql";
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "cactiuser";
    $database_password = "cactiuser";
    $database_port = "3306";

    # vim /var/www/html/cacti/include/global.php
    $database_type = "mysql";
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "cactiuser";
    $database_password = "cactiuser";
    $database_port = "3306";

    5. 修改文件目录属性
    chown -R root.root *

    6. 建立调度任务
    crontab –e
    */5 * * * * php /var/www/html/cacti/poller.php >/dev/null 2>&1

    四.初始化
    1. 登陆 http://localhost/cacti 访问cacti管理页面

    由于开启了SeLinux导致权限问题
    You don't have permission to access /cacti on this server.
    因此,我们需要关闭 Selinux
    1).查看SELinux状态:
    # /usr/sbin/sestatus -v // 如果SELinux status参数为enabled即为开启状态
    SELinux status: enabled
    # getenforce //也可以用这个命令检查
    2).关闭SELinux:
    a、临时关闭(不用重启机器):
    # setenforce 0 // 设置SELinux 成为permissive模式 (关闭SELinux)
    # setenforce 1 // 设置SELinux 成为enforcing模式 (开启SELinux)
    b、修改配置文件需要重启机器:
    # vi /etc/selinux/config
    将SELINUX=enforcing 改为SELINUX=disabled
    重启机器即可reboot
    3). 如果上面方法不行,我们还可以编辑cacti.conf
    # vi /etc/httpd/conf.d/cacti.conf // 如果不存在,我们就手工创建一个,并加入下面代码
    Alias /cacti "/var/www/html/cacti"
    <Location "/cacti">
    Order Deny,Allow
    # Deny from all
    Allow from 127.0.0.1
    Allow from ::1
    Options Indexes Includes FollowSymLinks
    </Location>
    # These directories do not require access over HTTP
    #
    <Directory "/var/www/html/cacti">
    AllowOverride Limit
    Options FollowSymLinks
    </Directory>

    2.选择全新安装
    3.指定路径
    4.默认登陆:用户 admin 密码:admin,强制更该密码
    5. 检查相关软件路径
    1)Settings—Paths路径
    2)Settings—General—Required Tool Versions 选择 rrdtool 1.3.x
    然后保存,此时便可以在Graphs 中看到localhost的图标。
    到此,cacti安装完毕。

    PS: 安装完后,使用的时候又有一堆问题, 直到后来百度了一下,发现了这个东西
    CactiEZ:http://www.cngr.cn/dir/216/339/2013012092768.html

    转载来源于:http://os.51cto.com/art/201104/252883.htm

    转载来源于:http://fmcpu.blog.163.com/blog/static/17603638820137154212424/

  • 相关阅读:
    多种支付实现(只需要添加, 修改类方法)
    事务的隔离级别 另一种事务开启方式
    序列化类补充 source关键字参数 SerializerMethodField方法
    分类的数据处理 第一种递归处理,第二种树型结构 无极限分类
    数据库补充 navicate导入与导出
    微信小程序开发5 后端解析wx.getUserInfor中的用户信息, 微信小程序支付
    微信小程序开发4 登录与授权
    微信小程序开发3 自定义组件(传参), 页面跳转(传参), 小程序本地存储, 小程序向django请求接口
    前八后十六节奏
    [编织消息框架][JAVA核心技术]动态代理应用11-水平扩展实现
  • 原文地址:https://www.cnblogs.com/guoyongrong/p/3341003.html
Copyright © 2011-2022 走看看