由于cacti 1.1.x系列发布后,变化比较大,集成了很多插件,自带自动发现功能,所以记录下来,比较适合复制粘贴。
环境:CentOS 7.4
安装前提
a、安装系统补丁
1
|
yum update -y |
b、开启ntp,保证时间正确
1
2
3
|
yum install chrony -y
systemctl enable chronyd
systemctl start chronyd |
c、禁用selinux,重启生效
1
2
|
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
reboot |
1、安装mariadb 10.1
cacti 1.1.0 需要mysql >= 5.6 ,所以这里选择mariadb 10.1
1
2
|
yum install centos-release-openstack-ocata -y
yum install mariadb-server -y
|
2、mariadb参数调整(最低要求)
1
2
3
4
5
6
7
|
max_heap_table_size = 128M max_allowed_packet = 32M tmp_table_size = 64M join_buffer_size = 64M innodb_buffer_pool_size = 512M innodb_doublewrite = off innodb_flush_log_at_timeout = 3 |
重启mariadb让配置生效
1
2
|
systemctl enable mariadb
systemctl start mariadb |
导入时区信息
1
|
mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root mysql
|
3、安装lamp
1
2
3
4
5
6
7
8
|
yum install httpd php php-mysqlnd php-mbstring php-ldap php-process php-gd php-snmp php-pecl-zendopcache php-xml wget net-snmp-utils rrdtool -y
echo "ServerTokens Prod" >> /etc/httpd/conf/httpd .conf
echo "ServerSignature Off" >> /etc/httpd/conf/httpd .conf
sed -i 's/;date.timezone.*/date.timezone = PRC/g' /etc/php .ini
mkdir -p /var/lib/php/session
chown -R apache:apache /var/lib/php/session
systemctl enable httpd
systemctl start httpd |
4、下载cacti
1
2
3
4
5
6
|
cd /var/wwww/html
wget http: //www .cacti.net /downloads/cacti-1 .1.0. tar .gz
tar zxvf cacti-1.1.0. tar .gz
mv cacti-1.1.0 cacti
cd cacti
chown -R apache:apache resource scripts log cache
|
5、给cacti建库
1
2
3
4
5
6
7
|
mysql -u root -e "drop database if exists cacti"
mysql -u root -e "delete from mysql.user where Host = 'localhost' and User = 'cactiuser'"
mysql -u root -e "create database cacti default charset utf8mb4"
mysql -u root -e "grant all on cacti.* to 'cactiuser'@'localhost' identified by 'cactiuser'"
mysql -u root -e "grant select on mysql.time_zone_name to 'cactiuser'@'localhost'"
mysql -u root -e "flush privileges"
mysql -u root cacti < /var/www/html/cacti/cacti .sql
|
6、安装向导
访问http://ip/cacti 进入安装向导
7、修改密码
默认用户密码admin/admin,首次登陆要求改密码,密码长度和复杂度都比较严格,点赞。
8、定时任务
设置定时任务,在/etc/crontab 文件中添加一行
1
|
*/5 * * * * root /usr/bin/php -q /var/www/html/cacti/poller.php >/dev/null |
9、配置自动发现(可选)
功能有点类似zabbix
1
2
3
|
a、定义snmp选项,比如snmp v2,community 为abc b、定义扫描网段,比如192.168.0.0/24,定时扫描,发现snmp端口存活的机器自动添加到cacti, c、定义规则,将扫描到的机器,按照操作系统分类,放入不同的tree,划不同的图 |
10、安装spine(可选)
spine是一个c写的程序,性能比默认的poller.php要高很多。
1
2
3
4
5
6
7
8
9
|
yum install gcc libtool make autoconf mysql-devel net-snmp-devel help2man wget -y
wget tar zxvf cacti-spine-1.1.0. tar .gz
cd cacti-spine-1.1.0
. /bootstrap
. /configure --with-mysql
make cp spine /usr/local/bin/
cp spine.conf.dist /etc/spine .conf
|
/etc/spine.conf文件里记得根据需要修改。
重装
如果需要重装,简单的删除数据库,重新初始化即可(第5-7步)
汉化
cacti 1.1.x 支持中文,但是汉化不彻底,手痒的同学可以按照下面的办法汉化:
1、安装
1
|
yum install gettext -y
|
2、反编译mo文件为po文件
1
2
|
cd /var/www/html/cacti/locales/LC_MESSAGES
/usr/bin/msgunfmt chinese_china_simplified.mo -o chinese_china_simplified.po
|
3、用文本编辑器修改文件
4、编译po文件为mo文件
1
|
/usr/bin/msgfmt chinese_china_simplified.po -o chinese_china_simplified.mo
|
本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/1910243,如需转载请自行联系原作者