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相关配置

  vi /usr/local/php/etc/php.ini  
##找到disable_functions行,删除所有关于exec与popen的值
##修改时区如下:
date.timezone = Asia/Shanghai

 启动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,

server { listen 80 default_server; server_name 192.168.1.6; index index.html index.htm index.php; root /Apps/www; error_page 500 502 503 504 /50x.html; #include enable-php56.conf; #include enable-php70.conf; include enable-php71.conf; #include enable-php72.conf; #include enable-php73.conf; #include enable-php74.conf; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } access_log /Apps/www/cacti/log/cacti_access.log; error_log /Apps/www/cacti/log/cacti_error.log; }

添加相关软链接

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配置文件添加:

[mysqld] log_bin_trust_function_creators=1

 

至此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>

安装完成后测试一下:

/usr/local/spine/bin/spine

安装完成后将后台轮询器改为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的过程中的一些参考资料,这边也顺便提一下:

github介绍文档: https://github.com/Cacti/documentation/blob/develop/README.md

九五配置说明文档:
https://docs.cacti.net/manual:100:6_reference.variables#variables
Rrdtool http://www.360doc.com/content/07/0302/20/15540_382048.shtml 插件说明 https://github.com/Cacti/documentation/blob/develop/Plugins.md

 

 

 

 

 

 


__EOF__

本文作者运维军火库
本文链接https://www.cnblogs.com/ad-note/p/12722825.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   运维军火库  阅读(2257)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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 让容器管理更轻松!
点击右上角即可分享
微信分享提示