}
查看: 3|回覆: 0

cacti centos installation

[複製鏈接]

0

主題

0

回帖

2

積分

管理員

積分
2
發表於 2021-2-18 00:36:08 | 顯示全部樓層 |閲讀模式
Cacti安裝和配置
本章基於rpm一鍵包來部署,所用的包組,來自於whsir一鍵包
環境要求
  • CentOS 7.8.2003 (Core)
  • PHP 7.1
  • MariaDB或者Mysql5.7版本以上
1、卸載自帶的mariadb相關服務
yum remove mariadb-libs




2、添加epel源
yum install epel-release




3、添加whsir一鍵包源
rpm -ivh //mirrors.whsir.com/centos/whsir-release-centos.noarch.rpm




4、安裝nginx、php、mysql
yum install wnginx wphp71 wmysql57




5、安裝php擴展及其他所需依賴
yum install wphp71-ldap wphp71-snmp wrrdtool wnet-snmp wspine-1.2.2 sendmail




6、設置環境變數
echo 'export PATH=$PATH:/usr/local/nginx/sbin/:/usr/local/php/bin/:/usr/local/mysql/bin/' >> /etc/profilesource /etc/profile




7、設置兩個軟鏈接
ln -sv /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20ln -sv /usr/local/mysql/lib/libmysqlclient.so /usr/lib64/libmysqlclient.so




8、取消被禁用的php函數
vi /usr/local/php/etc/php.ini




找到disable_functions行,刪除shell_exec,exec,popen,保存退出,重啟php服務
/etc/init.d/php-fpm71 restart




9、啟動相關服務
/etc/init.d/nginx start/etc/init.d/mysql start/etc/init.d/snmpd start




10、修改MySQL密碼(默認為空)*
修改默認MySQL密碼,創建cacti資料庫,並添加相應許可權
mysql -uroot -pmysql> set password = password('whsir');mysql> CREATE DATABASE cacti DEFAULT CHARACTER SET utf8;mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'blog.whsir.com';mysql> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost IDENTIFIED BY 'blog.whsir.com';mysql> ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;mysql> flush privileges;mysql> quit



11、載入時區到mysql資料庫
/usr/local/mysql/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -uroot -pwhsir mysql
12、下載cacti
網路不佳的情況下,強烈建議先下載到本地,再上傳到伺服器
mkdir /data/wwwcd /data/wwwwget //www.cacti.net/downloads/cacti-1.2.14.tar.gztar xf cacti-1.2.14.tar.gzmv cacti-1.2.14 cacti




13、修改cacti資料庫配置文件

cd /data/www/cacti/includevi config.php


$database_type = 'mysql';$database_default = 'cacti';$database_hostname = 'localhost';$database_username = 'cacti';$database_password = 'blog.whsir.com';$database_port = '3306';$database_retries = 5;$database_ssl = false;$database_ssl_key = '';$database_ssl_cert = '';$database_ssl_ca = '';




14、導入cacti.sql
mysql -ucacti -pblog.whsir.com cacti < /data/www/cacti/cacti.sql




touch日誌文件,後續安裝時用的到
touch /data/www/cacti/log/cacti.logtouch /data/www/cacti/log/cacti_stderr.log




15、做一些軟鏈,後續安裝用的到
ln -sv /usr/local/rrdtool/bin/rrdtool /usr/local/bin/rrdtoolln -sv /usr/local/php/bin/php /usr/bin/phpln -sv /usr/local/snmp/bin/snmpwalk /usr/local/bin/snmpwalkln -sv /usr/local/snmp/bin/snmpget /usr/local/bin/snmpgetln -sv /usr/local/snmp/bin/snmpbulkwalk /usr/local/bin/snmpbulkwalkln -sv /usr/local/snmp/bin/snmpgetnext /usr/local/bin/snmpgetnextln -sv /usr/local/snmp/bin/snmptrap /usr/local/bin/snmptrap




16、修改cacti目錄許可權
chown -R www:www /data/www/cacti/




17、修改nginx配置
vi /usr/local/nginx/conf/vhost/demo.conf




修改root路徑為root /data/www;,取消php注釋include enable-php71.conf;,修改下server_name為本機IP,或者自己填個域名,自行hosts,不做過多說明!
18、重啟nginx服務
nginx -t/etc/init.d/nginx restart




19、spine配置
spine是一個基於C語言的,非常快速的輪詢引擎,它是默認的cmd.php的可選替代,如果要使用spine需要單獨的設置
cd /usr/local/spine/etccp spine.conf.dist spine.confvi spine.conf



DB_Host localhostDB_Database cactiDB_User cactiDB_Pass blog.whsir.comDB_Port 3306




驗證一下
/usr/local/spine/bin/spine




返回以下內容表示成功
SPINE: Using spine config file [spine.conf]

SPINE: Version 1.2.2 starting

SPINE: Time: 1.0244 s, Threads: 1, Devices: 1



20、進入web安裝
注意:如果訪問有問題,修改後建議清空下瀏覽器快取,或直接開瀏覽器隱身模式,以防有快取
//IP/cacti




默認帳號admin 密碼admin
第一次登陸後會提示更改密碼,新版本密碼要求有大小寫特殊字元
設置語言、勾選許可協議,開始安裝
安裝嚮導檢查,根據檢查結果,自行更改php.ini和my.cnf文件,更改後記得重啟,如相關參數在配置中不存在,手動添加即可

這裡需要在my.cnf添加以下參數(注意最後兩個參數如果不添加,後續可能會產生warning),然後重啟MySQL
vi /etc/my.cnf




[client]port = 3306socket = /tmp/mysql.sock [mysqld]port = 3306socket = /tmp/mysql.sockpid_file = /data/mysql/mysql.piddatadir = /data/mysql  slow_query_log=offlong_query_time=2slow_query_log_file=/data/mysql/mysql_slow_query.loglog-error = /data/mysql/error.log skip-external-lockingkey_buffer_size = 32Mmax_allowed_packet = 100Mmax_heap_table_size = 100Mtable_open_cache = 1024sort_buffer_size = 1mnet_buffer_length = 8Kread_buffer_size = 1mread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 8Mthread_cache_size = 16query_cache_size = 32Mtmp_table_size = 200Mperformance_schema_max_table_instances = 500join_buffer_size = 120M explicit_defaults_for_timestamp = true#skip-networking#bind-address = 127.0.0.1max_connections = 500max_connect_errors = 2000open_files_limit = 65535 # binloglog-bin=mysql-binbinlog_format=mixedserver-id = 100expire_logs_days = 10 # innodbdefault_storage_engine = InnoDBinnodb_file_per_table = 1innodb_data_home_dir = /data/mysqlinnodb_data_file_path = ibdata1:64M:autoextendinnodb_log_group_home_dir = /data/mysql/innodb_buffer_pool_size = 1280Minnodb_log_file_size = 32Minnodb_log_buffer_size = 8Minnodb_flush_log_at_trx_commit = 1innodb_lock_wait_timeout = 50collation-server=utf8mb4_unicode_ciinnodb_flush_log_at_timeout = 3innodb_read_io_threads = 32innodb_write_io_threads = 16innodb_buffer_pool_instances = 17innodb_io_capacity = 5000innodb_io_capacity_max = 10000 [mysqldump]quickmax_allowed_packet = 100M [myisamchk]key_buffer_size = 128Msort_buffer_size = 128Mread_buffer = 2Mwrite_buffer = 2M [mysqlhotcopy]interactive-timeout




重啟資料庫
/etc/init.d/mysql restart




Poller輪詢器配置
spine是一個高速的輪詢器,是cmd.php的替代品,在cmd.php的基礎上,擁有更好的靈活性、速度和並發性。
cacti默認使用的cmd.php進行輪詢,由於我們之前已經安裝好了spine,所以我這裡就更改成spine。
在cacti監控系統中,選擇系統配置→設置→Poller→採集類型選擇spine→保存
將cmd.php改為spine
到此Cacti就安裝完成
測試檢驗
驗證snmp
使用以下命令驗證snmp能否獲取到本機的數據
[root@192 ~]# snmpwalk -v 2c -c public localhost



如果正常,會返回以下內容
配置crontab
如果不配置此功能,圖形介面全部會顯示The Cacti Poller has not run yet。
Centos7安裝crontab服務(系統默認一般都自帶此服務)
yum install crontabs -y



配置crontab前,請使用以下命令測試是否可以獲取數據
/usr/bin/php /data/www/cacti/poller.php

//注意後面的poller.php地址,一定找確認地址正確。



檢查圖形是否已出圖


您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關注公眾號

相關侵權、舉報、投訴及建議等,請發 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版發帖
關注公眾號
返回頂部