1、安装cacti,snmp,rrdtool等环境
yum -y install cacti
snmp net-snmp net-snmp-devel net-snmp-libs net-snmp-utils
php-mysql php-snmp php-intl
rrdtool
2、配置snmpd.conf,定义团体名
vim /etc/snmp/snmpd.conf
41行 1将default 改为监控服务器ip;2 将public 改成复杂些的识别的字符串
com2sec notConfigUser 127.0.0.1 public
62行 1将systemview 改为all,供所有snmp 访问权限
access notConfigGroup "" any noauth exact all none none
85行 将#注释符号去掉 view all included .1 80
3、启动snmpd,云服务开放TCP、UDP161端口
systemctl enable snmpd
systemctl start snmpd
snmpd 使用 tcp/udp 161 端口,验证snmpd 服务,同时使用snmpwalk 命令验证
snmpwalk -v 2c -c public 127.0.0.1
-v是指版本,-c 是指密钥,获取到系统信息则正常!
如果cacti搭建好后很久还是没出图,用这个命令试试看能否获取到数据。
正常情况下,执行完这个命令后会有很多数据出现!
4、配置数据库和cacti数据库导入
mysql -u root
mysql> create database cacti;
use cacti;
mysql -u cacti -p cacti < /usr/share/doc/cacti-1.2.27/cacti.sql----导入数据表
5、cacti配置
vi /etc/cron.d/cacti
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1-----每五分钟收集一次
配置include/config.php
vi /var/www/html/cacti/include/config.php

打开注释掉的:
$url_path = "/cacti/";
配置include/global.php
vi /var/www/html/cacti/include/global.php

vim /etc/httpd/conf.d/cacti.conf--更改路径和权限

systemctl restart httpd
6、增加权限
useradd cacti
chown -R cacti:cacti /var/www/html/cacti
chmod 777 /var/www/html/cacti
chown -R apache:apache /var/www/html/cacti/log
chmod 777 /var/www/html/cacti/log
7、浏览器访问
默认用户名:admin 密码:admin



8、mysql调优和php.ini修改
①MySQL - 时区支持
ERROR: 您的MySQL TimeZone 数据库未被填充. 请在继续之前填入此数据库.
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
②vi /etc/my.cnf 添加如下参数
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
max_allowed_packet=18M
max_heap_table_size=128M
tmp_table_size=256M
join_buffer_size=15M
sort_buffer_size = 15M
innodb_buffer_pool_size=2048M
innodb_doublewrite=ON
innodb_buffer_pool_instances=18
innodb_io_capacity=5000
innodb_io_capacity_max=10000
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
log-queries-not-using-indexes = 1
slow-query-log = 1
slow-query-log-file = /var/log/mysql/mysql-slow.log

vi /etc/php.ini
date.timezone = Asia/Shanghai
systemctl restart mysqld
systemctl restart httpd
9、继续下一步







按上面提示修改数据库排序规则


10、增加设备


状态UP表示正常
报错:
CACTI 不画图 ,报错 Poller[0] ERROR: SQL Assoc Failed,解决办法!
解决办法:登录Cacti,点击"系统配置"菜单中的"设置-poller",然后点击"重建资源缓存"。几分钟之后再查看是否正常,该办法能解决大多数问题。
