rhel6.cacti的安装与配置

1.实验环境:

cacti主机:192.168.122.32desk32 desk32.example.com

被监控主机:192.168.122.32、

192.168.122.82desk82

192.168.122.3Desk3

软件下载地址:http://yunpan.cn/QbFvm626bWrVQ

这里有关于cacti配置所需要的所有各种版本的软件资源;


Required Packages

httpd

php

php-mysql

php-snmp

mysql

mysql-server

net-snmp

2.httpd的安装

yum-yinstall httpd


3.Install and Configure mysql

yum -y install mysql mysql-server php php-mysql net-snmp*

[root@desk32 cacti]# /etc/init.d/mysqld start

[root@desk32 cacti]# mysql_secure_installation

[root@desk32 cacti]# mysql -uroot -pwestos

mysql> create database cacti;

mysql> grant all on cacti.* to cacti@localhost identified by 'cacti';

#用于认证登录与查找cacti库的用户

mysql> flush privileges; #刷新数据库

4.snmp的安装与配置

yum -y install net-snmp*

具体的配置方法参见以下地址:

http://www.cyberciti.biz/nixcraft/linux/docs/uniqlinuxfeatures/mrtg/mrtg_config_step_3.php


[root@desk32 cacti]# vim /etc/snmp/snmpd.conf

[root@desk32 cacti]# grep ^# /etc/snmp/snmpd.conf -v | grep " "

com2sec locallocalhostpublic

com2sec mynetwork192.168.122.0/24public

groupMyRWGroup v1local

groupMyRWGroup v2clocal

groupMyRWGroup usmlocal

groupMyROGroup v1mynetwork

groupMyROGroup v50pxynetwork

groupMyROGroup usmmynetwork

viewsystemviewincluded.1.3.6.1.2.1.1

viewsystemviewincluded.1.3.6.1.2.1.25.1.1

accessMyROGroup ""anynoauthexactall none none

accessMyRWGroup ""anynoauthexactall all none

syslocation desk32.example.com

syscontact desk32.example.com <root@desk32.example.com> (configure /etc/snmp/snmp.local.conf)

dontLogTCPWrappersConnects yes


[root@desk32 cacti]# /etc/init.d/snmpd restart

[root@desk32 cacti]# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex

IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1

IP-MIB::ipAdEntIfIndex.192.168.122.32 = INTEGER: 2


5.cacti的安装:

依赖性包:

yum -y install make gcc libxml2-devel pango-devel perl-ExtUtils-MakeMaker

tar zxf rrdtool-1.4.4.tar.gz

cd rrdtool-1.4.4

./configure&& make && make install

[root@desk32 ~]# ln -s /opt/rrdtool-1.4.4/bin/rrdtool /usr/local/bin/

[root@desk32 ~]# tar zxf cacti-0.8.7h.tar.gz-C /var/www/html/

[root@desk32 ~]# mv /var/www/html/cacti-0.8.7h/ /var/www/html/cacti

[root@desk32 ~]# cd /var/www/html/cacti/

[root@desk32 cacti]# useradd cacti

[root@desk32 cacti]# chown cacti rra log -R

[root@desk32 cacti]# vim include/config.php

/* make sure these values refect your actual database/host/user/password */

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cacti";

$database_password = "cacti";

$database_port = "3306";

$database_ssl = false;

[root@desk32 cacti]# mysql -pwestos cacti < cacti.sql


Add a line to your /etc/crontab file similar to:

###the crontab must run by user of cacti#####

[root@desk32 cacti]# crontab -u cacti -e

*/5 * * * *php /var/www/html/cacti/poller.php > /dev/null 2>&1

[root@desk32 cacti]# /etc/init.d/crond status

crond (pid1476) is running...


[root@desk32 cacti]# /etc/init.d/httpd start


Point your web browser to:

http://your-server/cacti/(user:admin passwd: admin)进入后强制修改密码

http://desk32/cacti


160533597.jpg

160535461.jpg

今天在做的时候发现一个问题:

160537763.jpg

无法显示字体:

经检查是系统上没有安装字体:

最快的解决办法就是从其他机子上复制:

[root@desk82 mnt]# scp -r /usr/share/fonts/* desk32:/usr/share/fonts/

刷新后问题即解决

1).进入 cacti 后需确认更改以下位置:

Console>Settings>General

160657901.jpg

SNMP Community 后填的密钥必须与/etc/snmp/snmpd.cond下的

com2sec locallocalhostpublic

com2sec mynetwork192.168.122.0/24public

后的public处的字段相同,否则信息将会采集不到

2)安装cacti的加速插件:spine

选择 spine 是为了加快速度, cmd.php 是一个 php 写的调度程序,而 spine

是 用 C 写 的 , spine 的 性 能 远 远 优 于 cmd.php , 当 监 控 的 设 备 有 很 多 时 ,cmd.php 的性能就跟不上了,只能用 spine 来调度,因此选择 spine。

需要一些包:

1.net-snmp-devel

2.mysql-devel

3.openssl-devel

and the toolchain

1.dos2unix

2.autoconf

3.automake

4.binutils

5.libtool

6.gcc

7.cpp

8.glibc-headers

9.kernel-headers

10.glibc-devel

patch

[root@desk32 ~]# tar zxf cacti-spine-0.8.7h.tar.gz

[root@desk32 ~]# cd cacti-spine-0.8.7h

[root@desk32 cacti-spine-0.8.7h]# ./configure && make && make install

[root@desk32 cacti-spine-0.8.7h]# cd /usr/local/spine/etc/

[root@desk32 etc]# cp spine.conf.dist spine.conf

[root@desk32 etc]# vim spine.

conf

DB_Hostlocalhost

DB_Databasecacti

DB_Usercacti

DB_Passcacti

DB_Port3306

DB_PreG1

启动spine:

[root@desk32 cacti-spine-0.8.7h]# cd /usr/local/spine/bin

[root@desk32 bin]# ./spine

SPINE: Using spine config file [../etc/spine.conf]

SPINE: Version 0.8.7h starting

SPINE: Time: 0.1049 s, Threads: 5, Hosts:

2

设置:

Console > Settings > Paths > Alternate Poller Path > Spine Poller File Path ,将“/usr/local/spine/bin/spine”填入文本框,然后点击“保存”按钮。


160700466.jpg

3)cact的监控插件setting与monitor的安装:

先安装:cacti-plugin

[root@desk32 ~]# tar zxf cacti-plugin-0.8.7h-PA-v3.0.tar.gz

[root@desk32 ~]# cd cacti-plugin-arch/

[root@desk32 cacti-plugin-arch]# mysql -ucacti -pcacti cacti < pa.sql

[root@desk32 cacti-plugin-arch]# vim /v

ar/www/html/cacti/include/config.php

添加:

$url_path = "/cacti/";

[root@desk32 cacti-plugin-arch]# cp cacti-plugin-0.8.7h-PA-v3.0.diff /var/www/html/cacti/

[root@desk32 cacti-plugin-arch]# cd /var/www/html/cacti/

[root@desk32 cacti]# patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff


安装插件setting与monitor

[root@desk32 ~]# tar zxf settings-v0.71-1.tgz -C /var/www/html/cacti/plugins

[root@desk32 ~]# tar zxf monitor-v1.3-1.tgz -C /var/www/html/cacti/plugins

设置:

Consloe ->User Management -->admin -->Realm Permissions 选中Plugin Management 并保存,这样在Utilities下就会多出一个Plugin Management选项:

选择Plugin Management:

160702960.jpg

4)创建监控点:

目前cacti只监控localhost不会监控其他主机:

现在添加主机desk3.example.com 192.168.122.3与desk82.example.com 192.168.122.82

注意:

添加的两个的主机上安装snmpd服务/etc/snmp/snmpd.conf的配置与cacti主机的配置一样:并启动服务

在desk32上验证:

[root@desk32 cacti-plugin-arch]# snmpwalk -v 1 -c public 192.168.122.3 IP-MIB::ipAdEntIfIndex

IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1

IP-MIB::ipAdEntIfIndex.192.168.122.3 = INTEGER: 2

[root@desk32 cacti-plugin-arch]# snmpwalk -v 1 -c public 192.168.122.82 IP-MIB::ipAdEntIfIndex

IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1

IP-MIB::ipAdEntIfIndex.192.168.122.82 = INTEGER: 2

进入 Cacti 的 console 面板,点击“Devices”进入设备面板,

160704559.jpg

Hostname上写的主机名一定要有解析,保险期间填写ip下的Monitor Host选中要不然在Monitor的页面上没有监控的主机图标;


为desk3创建图片:

160706212.jpg

同样的方法创建主机二desk82.example.com

5)将添加的主机添加到默认的Graph Trees中:

console— > Graph Trees add


同样添加desk82.example.com

6)为已有 host 添加新的监控图

( 1 )在 console 控制台下点击 “ New Graphs”,选择要添加监控图的主机。在

GraphTemplates 中 选 择 一 个 Graph 模 板 , 本 例 选 择 SNMPCeneric OID Template,点击 create 按钮


(2)填写信息,在“ Title”文本框中填写 Graph 的名字,在“Vertical Lable”文框中填写描述信息或是所绘图片使用的单位等,显示在所绘图片的左侧,在“ name”文本框中填写此数据源的名字,在“ LegendColor”中选择画图使用的颜色,在“Legend Text”填写图例的名字,在“OID”文本框中填写要监控的主机的

160710198.jpg

完成后就会多一个监控图像:

161618679.jpg

7)利用 CDEFs 创建函数

利用 CDEFs 创建一个名为“Total Traffic”的函数。用以将一个图片上的所有数据源由 bytes 转换成 bits。

1 )点击 console Graph ManagementCDEFsAdd ,在 name栏中填入你要创建的函数的名字“Total Traffic”,然后点击 create。

(2)点击“ Add”,依次添加三个 Item(如下图),它们的意思是:将当前图片上的所有数据源乘 8。


161714839.jpg

161717416.jpg

8) 创建流量汇总图

要求:假设有两台交换机已经在 cacti 里做了流量监控,现在要求做一个流量

汇总图,能统计上联端口的入口流量。

(1)在 console 控制台下点击“Graph Management”,然后点击 Add 链接。

( 2 )在 “ Select Graph Template” 下拉框中选择 None ,在 “ Host” 下拉框中选择None,然后点击 create 按钮。

161802242.jpg

(3)在“Title”文本框中输入 Graph 的名字“CN01_HZCNC Total Traffic In”,然后点击[create]按钮

161828882.jpg

4)点击 Add 链接,添加 Graph Items。 “Host”下拉菜单中选择第一台交换机,

在在“Data Source”下拉菜单中选择需要统计的上联 In 端口,在“color”下拉菜单中选择你要的图形颜色,在 “ Graph Item Type” 下拉菜单中选择绘图类型,这里选择用区域绘图(AREA),在“CDEF Function”的下拉菜单中选择该数据

源套用的函数,这里选择 “ Total Traffic”(这个函数就是上面在 CDEFs 里自定义的函数),在“Text Format”文本框中填入端口的描述信息,以便区别。然

后点击“create”。

161855242.jpg

同样创建desk82

161857351.jpg

5)点击“Add ”,添加一个标签“Traffic In”。在“color”下拉菜单中选择你要的

标签颜色,在 “ Graph Item Type” 下拉菜单中选择 “ STACK” ,在 “ CDEF

Function” 的下拉菜单中选择 “ Make Stack Negative” ,在 “ Text Format” 文本框中填入标签名“Traffic In”,点击“create”按钮完成。如下图左下角

161934395.jpg

161936487.jpg

161938971.jpg

161940694.jpg