|
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地址,一定找確認地址正確。
檢查圖形是否已出圖
|