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源

cd /etc/yum.repos.d/
mkdir repo_bak
mv *.repo repo_bak/
yum install wget
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum celan all
yum makecache
yum install epel-release

  

添加wlnmp一鍵包源,如果無法直接安裝,可以嘗試不同網絡下載,然后再傳到服務器上

rpm -ivh http://mirrors.whsir.com/centos/whsir-release-centos.noarch.rpm
rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm

  

二、安裝nginx、php、mysql

yum install wnginx wphp71 wmysql57
yum install wphp71-ldap wphp71-snmp wrrdtool wnet-snmp sendmail

設置庫文件的兩個軟鏈接

ln -sv /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20 
ln -sv /usr/local/mysql/lib/libmysqlclient.so /usr/lib64/libmysqlclient.so

  

1、php相關配置

  vi /usr/local/php/etc/php.ini  
##找到disable_functions行,刪除所有關於exec與popen的值
##修改時區如下:
date.timezone = Asia/Shanghai

 啟動php

/etc/init.d/php-fpm71 start

  

2、mysql相關配置

修改默認MySQL密碼,創建cacti數據庫,並添加相應權限

mysql -uroot -p
set password = password('yourpassword'); ##設置mysql的root密碼
CREATE DATABASE cacti DEFAULT CHARACTER SET utf8;  ##字符集utf-8
GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'yourpassword';  ##新建cacti用戶,授權管理數據庫cacti
GRANT SELECT ON mysql.time_zone_name TO cacti@localhost IDENTIFIED BY 'yourpassword'; 
ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
flush privileges;
quit

解決MySQL TimeZone database is not populated問題,如果導入失敗,跳過即可

/usr/local/mysql/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -uroot -pmeiyoumima@ mysql

啟動mysql

/etc/init.d/mysql start 

  

3、ngixn相關配置

新建站點文件

mv /usr/local/nginx/conf/vhost/demo.conf  /usr/local/nginx/conf/vhost/cacti.conf

  


修改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;
    }

添加相關軟鏈接

ln -sv /usr/local/rrdtool/bin/rrdtool /usr/local/bin/rrdtool
ln -sv /usr/local/php/bin/php /usr/bin/php
ln -sv /usr/local/snmp/bin/snmpwalk /usr/local/bin/snmpwalk
ln -sv /usr/local/snmp/bin/snmpget /usr/local/bin/snmpget
ln -sv /usr/local/snmp/bin/snmpbulkwalk /usr/local/bin/snmpbulkwalk
ln -sv /usr/local/snmp/bin/snmpgetnext /usr/local/bin/snmpgetnext
ln -sv /usr/local/snmp/bin/snmptrap /usr/local/bin/snmptrap 

啟動nginx

/etc/init.d/nginx start 

  

三、安裝cacti、spine

1、cacti安裝

wget https://www.cacti.net/downloads/cacti-1.2.10.tar.gz
tar xf cacti-1.2.10.tar.gz
mkdir -p /Apps/www/
mv cacti-1.2.10 /Apps/www/cacti
chown -R www:www /Apps/www/cacti

修改配置

cd /Apps/www/cacti/include
vi config.php

$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'yourpassword';
$database_port = '3306';
$database_ssl = false;

  

導入初始數據文件

mysql -uroot -pmeiyoumima@ cacti < /Apps/www/cacti/cacti.sql

  

解決中文亂碼問題:

yum -y install wqy-microhei-fonts
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

mysql的 /etc/my.cnf配置文件添加:

[mysqld]
log_bin_trust_function_creators=1

 

至此cacti已經安裝完畢,訪問http://your-ip/cacti 即可訪問站點

安裝到這一步的時候,有個bug,記得去掉最下面的打鈎,否則安裝會卡住

頁面安裝的同時,我們來安裝spine

2、 spine安裝

[root@cacti-server ~]# wget https://www.cacti.net/downloads/spine/cacti-spine-1.2.10.tar.gz
[root@cacti-server ~]# yum -y install  dos2unix autoconf automake binutils libtool gcc cpp glibc-headers glibc-devel help2man openssl-devel
[root@cacti-server ~]# tar -xf cacti-spine-1.2.10.tar.gz
[root@cacti-server ~]# cp -R cacti-spine-1.2.10 /usr/local/spine
[root@cacti-server ~]# cd /usr/local/spine
[root@cacti-server spine]# ln -s /usr/lib64/libmysqlclient.so.18.0.0 /usr/lib64/libmysqlclient.so
[root@cacti-server spine]# sh bootstrap
[root@cacti-server spine]# ./configure
[root@cacti-server spine]# make &&make install
[root@cacti-server spine]# chown root:root /usr/local/spine/bin/spine
[root@cacti-server spine]# chmod +s /usr/local/spine/bin/spine

[root@cacti-server spine]# cp  /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
#修改/etc/spine.conf如下部分
[root@cacti-server spine]# vim /etc/spine.conf
......
DB_Host                 localhost
DB_Database             cacti
DB_User                 cactiuser
DB_Pass                 cactiuser
DB_Port                 3306

安裝完成后測試一下:

/usr/local/spine/bin/spine

安裝完成后將后台輪詢器改為spine即可(Thold忽略即可,這個是闕值報警插件,有興趣的可以參考我另外一篇關於cacti郵件報警的文章)

 

 

 

poller采集周期按需求設定即可,我這邊是每分鍾輪詢一次

[root@localhost ~]# crontab -l
* * * * * /usr/bin/php /Apps/www/cacti/poller.php > /dev/null 2>&1

寫在結尾:

在安裝學習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

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM