共计 3108 个字符,预计需要花费 8 分钟才能阅读完成。
Cacti 是由 php 开发的网页,运行于 LA/NMP 平台,可利用 SNMP 获取数据,周期性的执行能够取得数据的命令,将取回的数据保存至 rrd 文件当中,利用 rrdtool 绘出图形。
LAMP 环境已经编译搭建
虚拟主机配置
<VirtualHost *:80>
DocumentRoot "/web/vhosts/cacti"
DirectoryIndex index.shtml index.html index.php
ErrorLog "logs/cacti_error.log"
CustomLog "logs/cacti_access.log" common
ProxyRequests Off ProxyPassMatch^/(.*\.php)$fcgi://127.0.0.1:9000/web/vhosts/cacti/$1
<Directory /web/vhosts/cacti >
Options FollowSymLinks Includes
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
安装 snmp 并配置
# yum -y install rrdtool net-snmp net-snmp-libs net-snmp-utils
修改配置文件 /etc/snmp/snmpd.conf 中的默认 community, 后启动服务
eg: com2sec notConfigUser 127.0.0.1 mypublic
# chkconfig snmpd on
# service snmpd start
安装 cacti,解压安装包到虚拟主机的根目录
# mkdir -p /web/vhosts/
# tar xvf cacti-0.8.8h.tar.gz -C /web/vhosts/
# ln -sv /web/vhosts/cacti-0.8.8h /web/vhosts/cacti
初始化数据,更新授权
# cd /web/vhosts/cacti
# mysqladmin create cactidb
# mysql cactidb < cacti.sql
# mysql -e "GRANT ALL ON cactidb.* to cactiuser@localhost IDENTIFIED BY'cactipasswd'"
# mysqladmin flush-privileges
创建系统用户 cactiuser,修改 cacti 安装目录下 rra 和 log 目录的属主属组
# useradd cactiuser
# id cactiuser
uid=501(cactiuser) gid=501(cactiuser) groups=501(cactiuser)
# chown -R cactiuser:cactiuser rra log
修改 Cacti 配置文件中的 mysql 连接参数
# cat include/config.php
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactipasswd";
$database_port = "3306";
$database_ssl = false;
$url_path = "/"; # 此处修改了 cacti 默认访问路径,不需要在访问地址后加 /cacti
以 cactiuser 用户身份添加 cacti 收集数据的任务计划
# echo '*/5 * * * * /usr/local/php/bin/php /web/vhosts/cacti/poller.php &>/dev/null' > /var/spool/cron/cactiuser
# echo "date.timezone = Asia/Shanghai" >> /etc/php.ini 修改 php 时区
# hwclock -w #同步硬件时间到系统
# hwclock
Mon 25 Jul 2016 06:57:17 PM CST -0.347178 seconds
# date
Mon Jul 25 18:57:20 CST 2016
# service httpd restart
# service snmpd restart
在浏览器中输入 http://ip 按照提示进行安装
编辑脚本获取 TCP 数据
# cd /web/vhosts/cacti/scripts/
# cat tcpcon.sh
#!/bin/bash
#$1: hostname/ip
#$2:snmp community
SNMPNETSTAT=/usr/bin/snmpnetstat
TF=`mktemp /tmp/$1_tcpcon.XXXXXXX`
$SNMPNETSTAT -v 2c -c $2 -Can -Cp tcp $1 > $TF
EST=`grep -i 'established' $TF |wc -l`
TWAIT=`grep -i 'timewait' $TF |wc -l`
SYNRECV=`grep -i 'synreceived' $TF |wc -l`
echo -n "established:$EST"
echo -n "timewait:$TWAIT"
echo -n "synreceived:$SYNRECV"
Console -> Data Input Methods -> (Edit)
定义 Data Input Methods,添加 SNMP-TCP connections,数据收集方法为脚本,脚本路径为 cacti 安装目录下的 tcpcon.sh,并传递两个参数
Console -> Data Templates -> (Edit)
定义数据模板,关联数据输入方法,添加 3 个数据源
Console -> Data Sources -> (Edit) 定义数据源
Console -> Graph Templates -> (Edit) 定义图像模板
————————————– 分割线 ————————————–
RHEL6.4 中使用 Cacti+Spine 监控主机实现发送邮件报警 http://www.linuxidc.com/Linux/2013-11/92795.htm
RHEL6.4 中使用 Cacti+Spine 监控远程主机 http://www.linuxidc.com/Linux/2013-11/92796.htm
CentOS 5.5 完整安装 Cacti+Spine http://www.linuxidc.com/Linux/2011-12/49701.htm
CentOS 6 下 Cacti 搭建文档 http://www.linuxidc.com/Linux/2013-06/86595.htm
RHEL5.9 下 Cacti 监控部署详解 http://www.linuxidc.com/Linux/2013-06/85427.htm
CentOS 6.3 下 Cacti 安装详解 http://www.linuxidc.com/Linux/2013-05/84279.htm
CentOS Linux 下快速安装配置 Cacti 中文版 http://www.linuxidc.com/Linux/2013-03/81627.htm
————————————– 分割线 ————————————–
Cacti 的详细介绍 :请点这里
Cacti 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-08/133869.htm