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* [iyunv@desk32 cacti]# /etc/init.d/mysqld start [iyunv@desk32 cacti]# mysql_secure_installation [iyunv@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
[iyunv@desk32 cacti]# vim /etc/snmp/snmpd.conf [iyunv@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 dontLogTCPWrappersConnects yes
[iyunv@desk32 cacti]# /etc/init.d/snmpd restart [iyunv@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 [iyunv@desk32 ~]# ln -s /opt/rrdtool-1.4.4/bin/rrdtool /usr/local/bin/ [iyunv@desk32 ~]# tar zxf cacti-0.8.7h.tar.gz-C /var/www/html/ [iyunv@desk32 ~]# mv /var/www/html/cacti-0.8.7h/ /var/www/html/cacti [iyunv@desk32 ~]# cd /var/www/html/cacti/ [iyunv@desk32 cacti]# useradd cacti [iyunv@desk32 cacti]# chown cacti rra log -R [iyunv@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; [iyunv@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##### [iyunv@desk32 cacti]# crontab -u cacti -e */5 * * * *php /var/www/html/cacti/poller.php > /dev/null 2>&1 [iyunv@desk32 cacti]# /etc/init.d/crond status crond (pid1476) is running...
[iyunv@desk32 cacti]# /etc/init.d/httpd start
Point your web browser to: http://your-server/cacti/(user:admin passwd: admin)进入后强制修改密码 http://desk32/cacti
今天在做的时候发现一个问题:
无法显示字体: 经检查是系统上没有安装字体: 最快的解决办法就是从其他机子上复制: [iyunv@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 [iyunv@desk32 ~]# tar zxf cacti-spine-0.8.7h.tar.gz [iyunv@desk32 ~]# cd cacti-spine-0.8.7h [iyunv@desk32 cacti-spine-0.8.7h]# ./configure && make && make install [iyunv@desk32 cacti-spine-0.8.7h]# cd /usr/local/spine/etc/ [iyunv@desk32 etc]# cp spine.conf.dist spine.conf [iyunv@desk32 etc]# vim spine. conf DB_Hostlocalhost DB_Databasecacti DB_Usercacti DB_Passcacti DB_Port3306 DB_PreG1 启动spine: [iyunv@desk32 cacti-spine-0.8.7h]# cd /usr/local/spine/bin [iyunv@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 [iyunv@desk32 ~]# tar zxf cacti-plugin-0.8.7h-PA-v3.0.tar.gz [iyunv@desk32 ~]# cd cacti-plugin-arch/ [iyunv@desk32 cacti-plugin-arch]# mysql -ucacti -pcacti cacti < pa.sql [iyunv@desk32 cacti-plugin-arch]# vim /v ar/www/html/cacti/include/config.php 添加: $url_path = "/cacti/"; [iyunv@desk32 cacti-plugin-arch]# cp cacti-plugin-0.8.7h-PA-v3.0.diff /var/www/html/cacti/ [iyunv@desk32 cacti-plugin-arch]# cd /var/www/html/cacti/ [iyunv@desk32 cacti]# patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff
安装插件setting与monitor [iyunv@desk32 ~]# tar zxf settings-v0.71-1.tgz -C /var/www/html/cacti/plugins [iyunv@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上验证: [iyunv@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 [iyunv@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”按钮完成。如下图左下角
|