• Centos Cacti 0.8.8g


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

    Cacti简介-工作流程及原理

    Cacti简介-工作流程及原理


    二、Cacti工作原理
    Cacti操作可以分为以下三部分:

    Cacti简介-工作流程及原理
    1.Data Retrieval
    Cacti首先要做的工作就是收集数据,cacti使用Poller(轮询器)收集数据。Poller是操作系统scheduler的扩展,如在类Unix系统中的crontab。现在的IT设施中会有许多不同的设备,如服务器、网络设备等,cacti主要使用SNMP协议来从远端的设备上收集数据,所有可以使用SNMP协议的设备都可以被cacti监控。
    2.Data Storage
    存储收集到的数据有许多方法,可以使用数据库、平面文件等,cacti使用的是RDDTool。RRD是Round Robin Database(环形数据库)的缩写,RRD用来存储和显示时间序列数据,如网络带宽、机房温度、服务器负载等,RRD使用非常紧凑的方式存储数据,数据不会随着时间的推移而增大,RRD还可以生成美观的图形。这些特性使得cacti没有存储需求。RRD也做一席位其他的工作,如RRD会将原始数据与已整合的数据进行合并,以使得历史数据的存储节省空间,RRD支持的整合功能包括:AVERAGE, MAXIMUM, MINIMUM和LAST。
    3.Data Presentation
    Cacti最大的一个特点是内置了RRDTool画图功能,将其与通用的web服务器相结合,可以实现在任意平台上使用浏览器就可以查看监控画面。

    Homepage: http://www.cacti.net/
    plugins:http://docs.cacti.net/plugins
    templates:http://docs.cacti.net/templates

    三、安装cacti
    1.关闭防火墙和selinux
    [root@Cacti ~]#service iptables stop
    [root@Cacti ~]#chkconfig iptables off
    [root@Cacti ~]#vi /etc/sysconfig/selinux

    2.安装cacti依赖的软件
    [root@Cacti ~]#yum -y install mysql mysql-server mysql-devel httpd php gd php-gd php-pdo php-snmp php-xml php-mysql lm_sensors net-snmp net-snmp-utils net-snmp-libs net-snmp-devel rrdtool rrdtool-devel perl-PlRPC perl-DBI perl-rrdtool perl-DBD-MySQL

    3.snmpd配置
    [root@Cacti ~]#vim /etc/snmp/snmpd.confg
    第41行:将 com2sec notConfigUser default public 中的 "default" 改为 "127.0.0.1"
    第62行:将 access notConfigGroup "" any noauth exact systemview none none 中的 "systemview" 改为 "all"
    第85行:将 #view all include .1 80 这一行前面的#号去掉

    4.启动服务
    [root@Cacti ~]#service snmpd start
    [root@Cacti ~]#service httpd start
    [root@Cacti ~]#service mysqld start

    5.安装并配置cacti
    [root@Cacti ~]#wget http://www.cacti.net/downloads/cacti-0.8.8g.tar.gz
    [root@Cacti ~]#tar -zxvf cacti-0.8.8g.tar.gz
    [root@Cacti ~]#mv cacti-0.8.8g /var/www/html/cacti

    6.设置mysql数据库
    [root@Cacti ~]#mysql -uroot -p
    mysql>create database cacti;
    mysql>grant all privileges on cacti.* to cacti@localhost identified by 'cacti';
    mysql>use cacti;
    mysql>source /var/www/html/cacti/cacti.sql;
    mysql>exit

    7.配置cacti
    [root@Cacti ~]#vim /var/www/html/cacti/include/config.php
    $database_type = "mysql";
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "cacti";
    $database_password = "cacti";
    $database_port = "3306";

    8.修改rra目录权限
    [root@Cacti ~]#chown -R apache rra/ log/ #根据httpd服务启动用户修改

    9.添加任务计划
    具体多长时间让cacti生成一次监控图表自己决定,这里以cacti的默认时间5分钟生成一次为例,默认的采集方式是cmd.php
    [root@Cacti ~]#crontab -e
    */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1

    10.配置好之后重启输入 http://ip/cacti选 new install , next...
    此处如果没有红色字体"NOT FOUND"字样则算通过,finish即可,如果有则要手动指定路径,finish之后就出现cacti的登录界面,默认用户名和密码都是admin.login之后cacti强制要求更改密码,改完保存即可;到这里前期的安装工作就算全部结束了,之后就是配置监控。

    四、Cacti优化之spine轮询器
    由于效率的原因,在需要大量采集数据时,如果使用自带的cmd.php轮询器会比较慢,1分钟1次的采集频率可能无法完成轮询所有的被监控的机器。为了解决效率问题,Cacti官方也推出spine,采用多线程的方式高效的轮询。

    1.解决依赖关系
    [root@localhost ~]# yum -y install net-snmp-devel openssl-devel mysql-devel

    2.安装spine,下载的版本最好与cacti版本一致
    [root@localhost ~]# tar xf cacti-spine-0.8.8g.tar.gz
    [root@localhost ~]# cd cacti-spine-0.8.8b
    [root@localhost cacti-spine-0.8.8g]# ./configure
    [root@localhost cacti-spine-0.8.8g]# make && make install

    3.提供配置文件
    [root@localhost ~]# cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
    [root@localhost ~]# vi /etc/spine.conf
    DB_Host localhost
    DB_Database cacti
    DB_User cacti
    DB_Pass cacti
    DB_Port 3306
    如果忘记了数据库配置可以参考:cacti/include/config.php

    4.测试
    [root@localhost ~]# /usr/local/spine/bin/spine
    SPINE: Using spine config file [/etc/spine.conf]
    SPINE: Version 0.8.8b starting
    SPINE: Time: 0.1707 s, Threads: 5, Hosts: 2
    [iyunv@localhost ~]#

    5.在cacti的WEB页面进行设置spine的路径
    Console -> Configureation -> Settings -> Alternate Poller Path -> Spine Poller File Path
    输入spine的路径:默认安装在/usr/local/spine/bin/spine

    image

    6.修改Cacti默认的Poller Types

    Console -> Cacti Settings -> Poller -> Poller Type
    在下拉框中,选择spine, 然后记得“Save”

    image

    注意:Spine不必为其添加计划任务,Cacti well spawn Spine every 5 minutes instead of cmd.php
    而poller.php需要定义计划任务去执行,然后poller.php再去调度数据收集方法。

    tips1:修改采集方式为spine时间为1分钟

    1. Create 1-minute RRA settings.
    2. Adjust “Step” and “Heartbeat” on all 1-minute Data Source templates.
    3. Change the poller frequency in cron.
    4. Change the poller frequency in Cacti settings.
    5. Finally, rebuild the poller cache

    1.*/1 * * * * /usr/bin/php /data1/vhosts/cacti/poller.php > /dev/null 2>&1

    2.修改poller interval

    image

    3.修改date template监控项setp为60

    image

    tips2:链接

    http://datahunter.org/cacti
    http://blog.sina.com.cn/s/blog_6d3a704f01012yai.html
    http://www.iyunv.com/thread-23553-1-1.html

    有什么问题尽管说,反正我也不会帮你的~
  • 相关阅读:
    jquery validate常用方法及注意问题
    jQuery Validate
    $('div','li') 和 $('div , li') 和 $('div li') 区别
    HTML中Div、span、label标签的区别
    Java中访问修饰符public、private、protecte、default
    shiro过滤器过滤属性含义
    (转载)常用Git命令清单
    Git-简明指南
    菜鸟程序员怎么才能提高自己的技术--(献给自己共勉)
    Visiual Studio CLR20r3问题
  • 原文地址:https://www.cnblogs.com/zyd112/p/5289890.html
Copyright © 2020-2023  润新知