简介

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

cacti系列(一)之cacti的安装及配置监控mysql服务的更多相关文章

  1. WinXP下如何安装及御载MySQL服务

    一.安装及御载MySQL服务点击开始->运行,输入services.msc启动服务功能,如果发现以前安装过mysql,但是突然发现MySQL服务不见了,此时可以手动安装MySQL服务. 进入my ...

  2. [转帖]安装prometheus+grafana监控mysql redis kubernetes等

    安装prometheus+grafana监控mysql redis kubernetes等 https://www.cnblogs.com/sfnz/p/6566951.html plug 的模式进行 ...

  3. Cacti学习笔记一:基本安装和配置

    1.安装依赖包 yum -y install net-snmp-devel mysql mysql-devel openssl-devel libtool 2.安装RRDTool yum -y ins ...

  4. cacti系列(三)之cacti添加对mysql服务器主从的监控

    1.配置主从同步 主服务器: 建立从服务器的复制权限账号 GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'192.16 ...

  5. RabbitMQ学习系列(二): RabbitMQ安装与配置

    上一篇,简单介绍了RabbitMQ的情况还有一些相关的概念,这一篇,会讲讲 RabbitMQ安装与配置. 1.安装 Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装RabbitM ...

  6. solr与.net系列课程(一)solr的安装与配置

    不久之前开发了一个项目,需要用到solr,因为所以在开始再网上查找资料,但是发现大部分的资料都是很片面的,要么就是只讲解solr如何安装的,要么就是只讲解solr的某一个部分的,而且很多都是资料都是一 ...

  7. Sharepoint 2013 安装部署系列篇 第三篇 -- 安装和配置网络负载均衡在前端web服务器

    第一部分 系统集群安装 第二部分 SQL集群安装 第四部分 安装和配置sharepoint 场(三层拓扑部署) 接下来一步一步开始配置NLB吧, 以下开始讲解如何配置NLB集群作为sharepoint ...

  8. LXD 2.0 系列(二):安装与配置

    导读 简单来说,LXD是一个守护进程,为LXC容器的管理提供一组REST API.主要目标是提供一种类虚拟机的用户体验,是一种第三方的容器管理工具.下面呢,我们来介绍LXD 2.0 的安装与配置 安装 ...

  9. Apache系列:Centos7.2下安装与配置apache

    Centos7.2下安装与配置apache(一) 配置机:腾讯云服务器,centos7.2 一.安装Apache服务(Apache软件安装包叫httpd) yum install httpd -y 二 ...

随机推荐

  1. HDU 1176 免费馅饼 (动态规划)

    HDU 1176 免费馅饼 (动态规划) Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼 ...

  2. 辗转相除法求最大公约数(gcd)的斐波那契数列(fib)最坏时间复杂度的证明

    下载地址:http://pan.baidu.com/s/1jIt6UlK

  3. Visio画UML类图、序列图 for Java

    参考文档: 1.百度搜索: 怎样用Visio 2007画C++类图 连接 https://jingyan.baidu.com/article/9f7e7ec07286e16f281554f7.html ...

  4. 一个小时学会Oracle数据库

    一.数据库概要 二.Oracle简介 三.安装运行Oracle数据库 四.使用GUI操作MySQL 五.使用SQL访问Oracle数据库 六.下载程序.帮助.视频 Oracle视频下载(111班):h ...

  5. Solr7.1---Getting Start

    目前最新版的Solr是7.1.0 有个我还不清楚的地方是,为何5.5.X或者6.6.X版本还在更新,给我的感觉好像每一个大版本都有自己的维护团队.不管了. 首先-系统要求 JDK1.8+ 解压Solr ...

  6. redis 一主二从三哨兵

    总体部署 一主二从三哨兵 ip地址分配分别为 主 127.0.0.1:6379 从 127.0.0.1:6389 从 127.0.0.1:6399 哨兵 127.0.0.1:26379 哨兵 127. ...

  7. maven中修改可用的版本

    一般情况下,我们都是建项目,写代码,然后再部署运行的.到最后因为版本问题无法部署的情况下怎么办?重新建项目,然后导代码,这太麻烦了. 一般的处理情况:在项目的硬盘目录中,找到.setting文件夹下的 ...

  8. Python 爬虫的工具列表 附Github代码下载链接

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...

  9. UVALive - 7639 G - Extreme XOR Sum(思维)

    题目链接 题意 给出一个序列,相邻两两异或,生成一个新序列,再相邻两两异或,直到只剩下一个元素,问最后结果为多少.m个查询,每次都有一个待查询区间. 分析 既然有多组查询,n只是1e4,那么可以考虑预 ...

  10. matplotlib笔记——legend用法

    rates = [0.01, 0.001, 0.0001] models = {} costs = np.array([[0.7, 0.9, 0.4, 0.6, 0.4, 0.3, 0.2, 0.1] ...