Centos7搭建新版本cacti1.2.10
新版本cacti刚刚放出来,正好遇上旧版本的cacti用着不给力,就重新搭建了一个新版本。
环境:
系统:Centos7.6
cacti版本:v1.2.10
需要安装的组件:
php 7.3
mysql 5.7
rrdtool 1.7
spine1.2.10
nginx
一、yum源添加
添加epel源
1 2 3 4 5 6 7 8 9 | <code-pre class= "code-pre" id = "pre-BrQW2w" ><code-line class= "line-numbers-rows" >< /code-line > cd /etc/yum .repos.d/ <code-line class= "line-numbers-rows" >< /code-line > mkdir repo_bak <code-line class= "line-numbers-rows" >< /code-line > mv *.repo repo_bak/ <code-line class= "line-numbers-rows" >< /code-line >yum install wget <code-line class= "line-numbers-rows" >< /code-line >wget -O /etc/yum .repos.d /CentOS-Base .repo http: //mirrors .aliyun.com /repo/Centos-7 .repo <code-line class= "line-numbers-rows" >< /code-line >yum celan all <code-line class= "line-numbers-rows" >< /code-line >yum makecache <code-line class= "line-numbers-rows" >< /code-line >yum install epel-release < /code-pre > |
添加wlnmp一键包源,如果无法直接安装,可以尝试不同网络下载,然后再传到服务器上
1 2 3 | <code-pre class= "code-pre" id = "pre-NGnmZm" ><code-line class= "line-numbers-rows" >< /code-line >rpm -ivh http: //mirrors .whsir.com /centos/whsir-release-centos .noarch.rpm <code-line class= "line-numbers-rows" >< /code-line >rpm -ivh http: //mirrors .wlnmp.com /centos/wlnmp-release-centos .noarch.rpm < /code-pre > |
二、安装nginx、php、mysql
1 2 3 | <code-pre class= "code-pre" id = "pre-CfMDXX" ><code-line class= "line-numbers-rows" >< /code-line >yum install wnginx wphp71 wmysql57 <code-line class= "line-numbers-rows" >< /code-line >yum install wphp71-ldap wphp71-snmp wrrdtool wnet-snmp sendmail < /code-pre > |
设置库文件的两个软链接
1 2 3 | <code-pre class= "code-pre" id = "pre-DYypp7" ><code-line class= "line-numbers-rows" >< /code-line > ln -sv /usr/local/mysql/lib/libmysqlclient .so.20 /usr/lib64/libmysqlclient .so.20 <code-line class= "line-numbers-rows" >< /code-line > ln -sv /usr/local/mysql/lib/libmysqlclient .so /usr/lib64/libmysqlclient .so < /code-pre > |
1、php相关配置
启动php
1 2 | <code-pre class= "code-pre" id = "pre-r7DF2b" ><code-line class= "line-numbers-rows" >< /code-line > /etc/init .d /php-fpm71 start < /code-pre > |
2、mysql相关配置
修改默认MySQL密码,创建cacti数据库,并添加相应权限
1 2 3 4 5 6 7 8 9 | <code-pre class= "code-pre" id = "pre-y3wKB5" ><code-line class= "line-numbers-rows" >< /code-line >mysql -uroot -p <code-line class= "line-numbers-rows" >< /code-line > set password = password( 'yourpassword' ); ##设置mysql的root密码 <code-line class= "line-numbers-rows" >< /code-line >CREATE DATABASE cacti DEFAULT CHARACTER SET utf8; ##字符集utf-8 <code-line class= "line-numbers-rows" >< /code-line >GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'yourpassword' ; ##新建cacti用户,授权管理数据库cacti <code-line class= "line-numbers-rows" >< /code-line >GRANT SELECT ON mysql.time_zone_name TO cacti@localhost IDENTIFIED BY 'yourpassword' ; <code-line class= "line-numbers-rows" >< /code-line >ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; <code-line class= "line-numbers-rows" >< /code-line >flush privileges; <code-line class= "line-numbers-rows" >< /code-line >quit < /code-pre > |
解决MySQL TimeZone database is not populated问题,如果导入失败,跳过即可
1 | <code-pre class= "code-pre" id = "pre-QbbSXZ" ><code-line class= "line-numbers-rows" >< /code-line > /usr/local/mysql/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -uroot -pmeiyoumima@ mysql< /code-pre > |
启动mysql
1 2 | <code-pre class= "code-pre" id = "pre-HXGsSG" ><code-line class= "line-numbers-rows" >< /code-line > /etc/init .d /mysql start < /code-pre > |
3、ngixn相关配置
新建站点文件
1 2 | <code-pre class= "code-pre" id = "pre-4tAPJj" ><code-line class= "line-numbers-rows" >< /code-line > mv /usr/local/nginx/conf/vhost/demo .conf /usr/local/nginx/conf/vhost/cacti .conf < /code-pre > |
修改root路径为你的web文件存储的位置,我这里是 /Apps/www;,取消php注释include enable-php71.conf;,修改下server_name为本机IP,或者自己填个域名,自行hosts,
添加相关软链接
1 2 3 4 5 6 7 | <code-pre class= "code-pre" id = "pre-fMdwPw" ><code-line class= "line-numbers-rows" >< /code-line > ln -sv /usr/local/rrdtool/bin/rrdtool /usr/local/bin/rrdtool <code-line class= "line-numbers-rows" >< /code-line > ln -sv /usr/local/php/bin/php /usr/bin/php <code-line class= "line-numbers-rows" >< /code-line > ln -sv /usr/local/snmp/bin/snmpwalk /usr/local/bin/snmpwalk <code-line class= "line-numbers-rows" >< /code-line > ln -sv /usr/local/snmp/bin/snmpget /usr/local/bin/snmpget <code-line class= "line-numbers-rows" >< /code-line > ln -sv /usr/local/snmp/bin/snmpbulkwalk /usr/local/bin/snmpbulkwalk <code-line class= "line-numbers-rows" >< /code-line > ln -sv /usr/local/snmp/bin/snmpgetnext /usr/local/bin/snmpgetnext <code-line class= "line-numbers-rows" >< /code-line > ln -sv /usr/local/snmp/bin/snmptrap /usr/local/bin/snmptrap < /code-pre > |
启动nginx
1 2 | <code-pre class= "code-pre" id = "pre-jBh23e" ><code-line class= "line-numbers-rows" >< /code-line > /etc/init .d /nginx start < /code-pre > |
三、安装cacti、spine
1、cacti安装
1 2 3 4 5 | <code-pre class= "code-pre" id = "pre-RCAGM3" ><code-line class= "line-numbers-rows" >< /code-line >wget https: //www .cacti.net /downloads/cacti-1 .2.10. tar .gz <code-line class= "line-numbers-rows" >< /code-line > tar xf cacti-1.2.10. tar .gz <code-line class= "line-numbers-rows" >< /code-line > mkdir -p /Apps/www/ <code-line class= "line-numbers-rows" >< /code-line > mv cacti-1.2.10 /Apps/www/cacti <code-line class= "line-numbers-rows" >< /code-line > chown -R www:www /Apps/www/cacti < /code-pre > |
修改配置
1 2 3 4 5 6 7 8 9 10 11 | <code-pre class= "code-pre" id = "pre-i3Anpn" ><code-line class= "line-numbers-rows" >< /code-line > cd /Apps/www/cacti/include <code-line class= "line-numbers-rows" >< /code-line > vi config.php <code-line class= "line-numbers-rows" >< /code-line > <code-line class= "line-numbers-rows" >< /code-line >$database_type = 'mysql' ; <code-line class= "line-numbers-rows" >< /code-line >$database_default = 'cacti' ; <code-line class= "line-numbers-rows" >< /code-line >$database_hostname = 'localhost' ; <code-line class= "line-numbers-rows" >< /code-line >$database_username = 'cacti' ; <code-line class= "line-numbers-rows" >< /code-line >$database_password = 'yourpassword' ; <code-line class= "line-numbers-rows" >< /code-line >$database_port = '3306' ; <code-line class= "line-numbers-rows" >< /code-line >$database_ssl = false ; < /code-pre > |
导入初始数据文件
1 2 | <code-pre class= "code-pre" id = "pre-N3bFpz" ><code-line class= "line-numbers-rows" >< /code-line >mysql -uroot -pmeiyoumima@ cacti < /Apps/www/cacti/cacti .sql < /code-pre > |
解决中文乱码问题:
1 2 | <code-pre class= "code-pre" id = "pre-yXRF8N" ><code-line class= "line-numbers-rows" >< /code-line >yum -y install wqy-microhei-fonts <code-line class= "line-numbers-rows" >< /code-line > cp /usr/share/fonts/wqy-microhei/wqy-microhei .ttc /usr/share/fonts/dejavu/DejaVuSans .ttf< /code-pre > |
mysql的 /etc/my.cnf配置文件添加:
至此cacti已经安装完毕,访问http://your-ip/cacti 即可访问站点
安装到这一步的时候,有个bug,记得去掉最下面的打钩,否则安装会卡住
页面安装的同时,我们来安装spine
2、 spine安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <code-pre class= "code-pre" id = "pre-ieiARB" ><code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server ~] # wget https://www.cacti.net/downloads/spine/cacti-spine-1.2.10.tar.gz <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server ~] # yum -y install dos2unix autoconf automake binutils libtool gcc cpp glibc-headers glibc-devel help2man openssl-devel <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server ~] # tar -xf cacti-spine-1.2.10.tar.gz <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server ~] # cp -R cacti-spine-1.2.10 /usr/local/spine <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server ~] # cd /usr/local/spine <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server spine] # ln -s /usr/lib64/libmysqlclient.so.18.0.0 /usr/lib64/libmysqlclient.so <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server spine] # sh bootstrap <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server spine] # ./configure <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server spine] # make &&make install <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server spine] # chown root:root /usr/local/spine/bin/spine <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server spine] # chmod +s /usr/local/spine/bin/spine <code-line class= "line-numbers-rows" >< /code-line > <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server spine] # cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf <code-line class= "line-numbers-rows" >< /code-line > #修改/etc/spine.conf如下部分 <code-line class= "line-numbers-rows" >< /code-line >[root@cacti-server spine] # vim /etc/spine.conf <code-line class= "line-numbers-rows" >< /code-line >...... <code-line class= "line-numbers-rows" >< /code-line >DB_Host localhost <code-line class= "line-numbers-rows" >< /code-line >DB_Database cacti <code-line class= "line-numbers-rows" >< /code-line >DB_User cactiuser <code-line class= "line-numbers-rows" >< /code-line >DB_Pass cactiuser <code-line class= "line-numbers-rows" >< /code-line >DB_Port 3306< /code-pre > |
安装完成后测试一下:
安装完成后将后台轮询器改为spine即可(Thold忽略即可,这个是阙值报警插件,有兴趣的可以参考我另外一篇关于cacti邮件报警的文章)
poller采集周期按需求设定即可,我这边是每分钟轮询一次
1 2 | <code-pre class= "code-pre" id = "pre-WAz4cy" ><code-line class= "line-numbers-rows" >< /code-line >[root@localhost ~] # crontab -l <code-line class= "line-numbers-rows" >< /code-line >* * * * * /usr/bin/php /Apps/www/cacti/poller .php > /dev/null 2>&1< /code-pre > |
写在结尾:
在安装学习cacti的过程中的一些参考资料,这边也顺便提一下:
__EOF__

本文链接:https://www.cnblogs.com/ad-note/p/12722825.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!