zoukankan      html  css  js  c++  java
  • cacti系列(一)之cacti的安装及配置监控mysql服务

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


    CACTI 软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。
     
    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),它能够存储的数据笔数在创建时就已经定义。关于RRDTool的知识请参阅RRDTool教学。
    Cacti的官方网站:http://www.cacti.net 


    1.关闭防火墙和selinux
    #service iptables stop     //关闭防火墙服务
    #chkconfig iptables off    //永久性关闭
    #vi /etc/sysconfig/selinux   //把SELINUX=enforcing改为SELINUX=disabled

    2.yum设置及时间同步

    3.安装cacti依赖的软件
    yum -y install mysql mysql-server mysql-devel httpd php php-pdo php-snmp php-mysql lm_sensors net-snmp net-snmp-utils net-snmp-libs rrdtool rrdtool-devel perl-PlRPC perl-DBI perl-rrdtool perl-DBD-MySQL

    4:装好依赖软件之后,snmp有3个地方需要配置一下(对服务器本身进行监控)

    vim /etc/snmp/snmpd.conf
    第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 这一行前面的 # 号去掉

    5:配置好snmp以后我们来启动3个重要的服务

    service snmpd start    //启动snmp服务
    chkconfig snmpd on     //设置开机启动
    service httpd start
    chkconfig httpd on
    service mysqld start
    chkconfig mysqld on


    6:安装并配置cacti
    获取cacti主文件
    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    //将cacti-0.8.8b文件夹移到/var/www/html目录下,并将cacti-0.8.8b重命名为cacti


    7:设置mysql数据库


    [iyunv@Cacti ~]#mysql -uroot -p     //新装的mysql没有密码,直接回车进入mysql数据库
    mysql>create database cacti;   //首先创建cacti数据库,注意别丢了分号
    mysql>grant all privileges on cacti.* to cacti@localhost identified by 'cacti' with grant option;    //创建cacti用户并授权
    mysql>use cacti;
    mysql>source /var/www/html/cacti/cacti.sql;    //导入cacti数据库文件
    mysql>exit


    8:配置cacti

    [iyunv@Cacti ~]#vim /var/www/html/cacti/include/config.php
    $database_type = "mysql";
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "cactiuser";    //因为我们先前在数据库建的是 "cacti" 用户,所以这里默认的 "cactiuser" 要改为 "cacti"
    $database_password = "cactiuser";    //这里默认的密码我们也要改为 "cacti"
    $database_port = "3306";

    9:增加 cacti 用户以用来写入rrd和log目录的数据,否则就会生成不了图片

    useradd cacti
    cd /var/www/html/cacti
    chown -R cacti.cacti rra/ log/

    10:添加任务计划

    具体多长时间让cacti生成一次监控图表自己决定,这里以cacti的默认时间5分钟生成一次为例
    [iyunv@Cacti ~]#crontab -e
    加入这一行保存即可
    */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1

    # 如果暂时未看到图表,可以手工执行,生成图表
    php /var/www/html/cacti/poller.php > /dev/null 2>&1

    11:配置好之后重启输入 http://ip/cacti,如下图所示,next...


    此处如果没有红色字体"NOT FOUND"字样则算通过,finish即可,如果有则要手动指定路径

    finish之后就出现cacti的登录界面,默认用户名和密码都是admin



    如果图片出现无法显示的情况,直接重启httpd服务即可

    配置被监控端centos

    # yum -y install net-snmp
    # vim /etc/snmp/snmpd.conf
    # vim /etc/snmp/snmpd.conf
    1) 查找以下代码:
    # sec.name        source                                        community
    com2sec                notConfigUser                default        public
    将"comunity"字段改为你要设置的密码.比如"public"
    将“default”改为你想哪台机器可以看到你的snmp信息,如192.168.0.8
    修改后:com2sec notConfigUser  192.168.0.8       public


    2) 查找以下代码:

    access  notConfigGroup ""  any  noauth  exact  systemview none none
    将"systemview "字段改为all.
    修改后:access  notConfigGroup ""  any   noauth  exact  all none none


    cacti常用插件安装
    要安装别的插件前,先要安装cacti的一个patch--Plugin Architecture,才能支持插件
    下载地址:http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7h-PA-v3.0.tar.gz

    tar xvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz
    cp -R cacti-plugin-arch/* /var/www/html/cacti/
    cd /var/www/html/cacti/
    patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff

    vi include/config.php
    启用配置,将注释//去掉
    $url_path = “/cacti/”;
    登陆,启用PA。启用方法见后图


    tar zxvf monitor-v1.3-1.tgz 
    mv monitor/ /var/www/html/cacti/plugins/monitor
    cd /var/www/html/cacti/plugins/monitor/
    登陆安装启用对应的插件即可。

    启用PA以及监控插件的方法:




    使用脚本监控相关软件——使用脚本监控MySQL
    (1)脚本下载以及设置
    wget http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz
    tar zxvf better-cacti-templates-1.1.8.tar.gz
    cd better-cacti-templates-1.1.8
    cp scripts/ss_get_mysql_stats.php /var/www/html/cacti/scripts/
    我们这只测试mysql,mysql相关的有2个文件:
    模板文件:./templates/cacti_host_template_x_mysql_server_ht_0.8.6i-sver1.1.8.xml
    插件:./scriptsss_get_mysql_stats.php
    修改ss_get_mysql_stats.php 文件

     vim /var/www/html/cacti/scripts/ss_get_mysql_stats.php

    (2)创建监控Mysql需要的账户以及权限
    配置MySQL服务器,让cacti所在机器能够访问MySQL服务器的状态信息,必须拥有”process”权限。如果要监控InnoDB状态,还必须有”SUPER”权限。
    mysql> grant process,super on *.* to 'cacti'@'192.168.%.%' identified by 'cacti';
    mysql> grant all privileges on cacti.* to cacti@'192.168.%.%' identified by 'cacti';


    (3)模板导入
    我们将模板从Linux中载下来/root/better-cacti-templates-1.1.8/templates/,进入浏览器,手动导入文件

    在cacti管理界面(Import Templates)导入cacti_host_template_x_mysql_server_ht_0.8.6i-sver1.1.8.xml



  • 相关阅读:
    [C++] 习题 2.18 倒序查找字串
    [C++] 二叉树计算文件单词数
    [C++] 例题 2.7.1 用栈实现简易计算器
    [C++] 非递归实现前中后序遍历二叉树
    [C++] 习题 2.15 实现简单环形队列
    数据结构、算法及应用
    [C++] 习题 2.14 用队列实现桶排序
    svn add 所有文件的命令
    解决Error opening terminal: xterm.的错误
    linux下删除项目中所有.svn的命令
  • 原文地址:https://www.cnblogs.com/reblue520/p/6239764.html
Copyright © 2011-2022 走看看