cacti监控详解(从原理 部署 到 基本操作 以及 常见错误分析 )

Cacti监控平台搭建

作用:一般都用于监控流量,磁盘流量,网卡流量,还有cpu,登陆的用户

Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。

Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下,一般以rra为后缀名称)。简单原理图如下:(自己画的第一张图,看起来好差劲)

cacti监控详解(从原理 部署 到 基本操作 以及 常见错误分析 )_第1张图片

  1. Cacti服务器端安装

官网下载cacti相关软件,一共需要三个软件,下载地址分别如下:

http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz 

http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz 

  1. 安装LAMP系统环境

这里采用yum安装方式,安装命令:

yum install httpd mysql mysql-server php php-mysql -y 

  1. 安装rrdtool采集工具

安装rrdtool之前需要安装相应的lib库,如下安装:

yum install cairo-devel libxml2-devel pango pango-devel -y

tar xzf rrdtool-1.4.5.tar.gz   ;cd rrdtool-1.4.5  ; ./configure --prefix=/usr/local/rrdtool/ 

make &&make install 

ln -s /usr/local/rrdtool/bin/* /usr/local/bin

如果make报perl错误,请执行yum install perl-devel

  1. 安装SNMP服务

yum install net-snmp  net-snmp-utils  -y  

  1. 安装cacti主程序

tar xzf cacti-0.8.8a.tar.gz && mv  cacti-0.8.8a   /var/www/html/cacti/

  1. 创建cacti数据库

mysql -uroot –p  输入你的密码进入数据库,然后创建数据库:

create database cacti;创建数据库

grant all on cacti.* to cacti@'localhost' identified by "123456";创建用户并授权

flush privileges; 刷新权限

访问http://ip/cacti/  如果报错如下信息:

将 /var/www/html/cati/include/config.php 中的内容

$database_username = "cacti";

$database_password = "123456";

 

PHP Fatal error:  Allowed memory size

把其中的 memory_limit =20M修改大一些,改成 memory_limit =200M

mysql配置完毕后,把cacti数据导入cacti数据库

mysql  -ucacti  -p123456  cacti </var/www/html/cacti/cacti.sql 

配置完mysql后,我们需要设置cacti  rra、log 目录的权限,这里设置为777:

chmod -R  777  /var/www/html/cacti/rra/

chmod -R  777  /var/www/html/cacti/log/

  1. 修改cacti全局配置文件

vi /var/www/html/cacti/include/config.php为如下配置:

cacti监控详解(从原理 部署 到 基本操作 以及 常见错误分析 )_第2张图片

    8.  添加Rrdtool抓图任务计划

# yum install crontab*
# crontab -e
添加下面这句命令:

*/5  * * * *  /usr/bin/php /var/www/html/cacti/poller.php >>/tmp/cacti_rrdtool.log 

    9.  Cacti安装完毕,测试访问
开启 snmpd服务  # service snmpd restart

通过http://ip/cacti/ 访问出现如下界面,点击NEXT下一步。

(登陆后,设置用户名和密码都是admin,然后可以修改密码)

cacti监控详解(从原理 部署 到 基本操作 以及 常见错误分析 )_第3张图片

以上步骤只是创建了一个cacti的监控对象,一下就是给监控对象进行画图(一路可以根据需求或全选)

cacti监控详解(从原理 部署 到 基本操作 以及 常见错误分析 )_第4张图片

到了这里  对象就创建完毕了(最后的这个create不用点):

cacti监控详解(从原理 部署 到 基本操作 以及 常见错误分析 )_第5张图片

创建图像:

cacti监控详解(从原理 部署 到 基本操作 以及 常见错误分析 )_第6张图片

cacti监控详解(从原理 部署 到 基本操作 以及 常见错误分析 )_第7张图片

OK,出图像了:

cacti监控详解(从原理 部署 到 基本操作 以及 常见错误分析 )_第8张图片

 

客户端只需要安装snmp即可被监控:

# yum install -y net-snmp  

客户端开启snmp服务:

# service snmpd start

 

 

测试snmp返回数据的方法:

snmpwalk -v2c -c public localhost

在客户端上编辑:

vi  /etc/snmp/snmpd.conf,我们只需要更改:62行把他改为: 

access   notConfigGroup   ""    any   noauth    exact  all  none  none

第二:我们需要更改42行为: 

com2sec notConfigUser   192.168.1.13    public

(其中11.168.130.74 ip 表示你允许那台服务器可以监控你。public 表示团体名)

第三:我们还要更改:86行:把#号去掉:变成如下即可

view   all    included  .1   80

最后重启snmpd服务ok :

service snmpd restart

可能还有其他的方法,我用的是这种方法  请指教 呵呵(如果snmp配置错误的话,在做cacti监控添加设备时会出现snmp error 的信息!)

可以执行snmpwalk -v2c -c public 192.168.1.12 测试一下

3.1. 1 Cacti优化的配置Spine

在企业中,一般使用spine比较多,spine是一个基于C语言的,非常快速的轮询引擎。它是默认的cmd.php轮询的可选替代。当cacti监控的主机达到几十个的时候,这种采集数据延时情况就越发地显现出来。

wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8a.tar.gz

然后解压安装即可:

./configure --prefix=/usr/local/spine ;make -j8 ;make -j8 install

然后修改配置:

vim /usr/local/spine/etc/spine.conf

DB_Host         localhost

DB_Database     cacti

DB_User         cacti

DB_Pass         123456

DB_Port         3306

Spine验证:

/usr/local/spine/bin/spine 会出现相应版本及引用的配置文件。

如上配置完毕,然后设置cacti,选择spine轮询机制即可,需要在cacti监控页面后台设置settings。

思科交换机配置snmp方法:

snmp-server community public ro   //团体名为public,只读

snmp-server enable traps    //启用捕获

snmp-server host 192.168.1.100 version 2c public

H3C交换机配置snmp方法:

H3C S5000/5120

<H3C>system-view

#进入用户视图界面

[H3C]snmp-agent community read public

#设置共同体名(community)为public

如是H3C的其他系列交换机,还需要下面两个步骤:

[H3C]snmp-agent sys-info version all

#设置交换机支持的SNMP版本,有v1 v2 v2c和v3,all为全部支持

[H3C]snmp-agent target-host trap address 192.168.1.13 securityname public

 

 

cacti错误解决方法:

1.安装报错403拒绝,检查apache发布目录是否有cacti目录

2.cacti 报错it is not safe timexxxxxx,在/etc/php.ini里面天剑  date.time.timezone=PRC

3.cacti 安装错误not connect mysql sock, 检查mysql连接设置,检查cacti下 include/config.php配置文件内容.

4.cacti图片乱码,安装yum -y groupinstall chinese-support中文字体即可.

5.cacti报错 snmperror, 请启动服务器或者客户端的snmpd服务,同时需要配置运行cacti主机来抓取数据.
可以在cacti主机运行命令:snmpwalk -v2c -c public localhost或者ip 去测试snmp采集是否正常
同时需要检查cactiweb界面,setting-path 里面的snmp配置路径是否都OK
6.有图片,但没有数据,需要检查rrdtool 数据目录/var/ www/html/cacti/rra,log 权限是否为777; 同时登陆cactiweb界面,查看setting-path 的路径是否
都正确,如果not found ,需要重新设置正确的路径.
7. 如果cacti 数据图片有中断现象,确认当前系统时间是否同步, 同时确保cacti监控服务器是不是一直运行,没有重启或者关机过.

你可能感兴趣的:(cacti监控详解(从原理 部署 到 基本操作 以及 常见错误分析 ))