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
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
今天在做的时候发现一个问题:
无法显示字体:
经检查是系统上没有安装字体:
最快的解决办法就是从其他机子上复制:
[root@desk82 mnt]# scp -r /usr/share/fonts/* desk32:/usr/share/fonts/
刷新后问题即解决
1).进入 cacti 后需确认更改以下位置:
Console>Settings>General
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”填入文本框,然后点击“保存”按钮。
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:
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”进入设备面板,
Hostname上写的主机名一定要有解析,保险期间填写ip下的Monitor Host选中要不然在Monitor的页面上没有监控的主机图标;
为desk3创建图片:
同样的方法创建主机二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”文本框中填写要监控的主机的
完成后就会多一个监控图像:
7)利用 CDEFs 创建函数
利用 CDEFs 创建一个名为“Total Traffic”的函数。用以将一个图片上的所有数据源由 bytes 转换成 bits。
(1 )点击 console Graph ManagementCDEFsAdd ,在 name栏中填入你要创建的函数的名字“Total Traffic”,然后点击 create。
(2)点击“ Add”,依次添加三个 Item(如下图),它们的意思是:将当前图片上的所有数据源乘 8。
8) 创建流量汇总图
要求:假设有两台交换机已经在 cacti 里做了流量监控,现在要求做一个流量
汇总图,能统计上联端口的入口流量。
(1)在 console 控制台下点击“Graph Management”,然后点击 Add 链接。
( 2 )在 “ Select Graph Template” 下拉框中选择 None ,在 “ Host” 下拉框中选择None,然后点击 create 按钮。
(3)在“Title”文本框中输入 Graph 的名字“CN01_HZCNC Total Traffic In”,然后点击[create]按钮
4)点击 Add 链接,添加 Graph Items。 “Host”下拉菜单中选择第一台交换机,
在在“Data Source”下拉菜单中选择需要统计的上联 In 端口,在“color”下拉菜单中选择你要的图形颜色,在 “ Graph Item Type” 下拉菜单中选择绘图类型,这里选择用区域绘图(AREA),在“CDEF Function”的下拉菜单中选择该数据
源套用的函数,这里选择 “ Total Traffic”(这个函数就是上面在 CDEFs 里自定义的函数),在“Text Format”文本框中填入端口的描述信息,以便区别。然
后点击“create”。
同样创建desk82
5)点击“Add ”,添加一个标签“Traffic In”。在“color”下拉菜单中选择你要的
标签颜色,在 “ Graph Item Type” 下拉菜单中选择 “ STACK” ,在 “ CDEF
Function” 的下拉菜单中选择 “ Make Stack Negative” ,在 “ Text Format” 文本框中填入标签名“Traffic In”,点击“create”按钮完成。如下图左下角