Linux-Cacti監控{Verson:1.2.8}
首先需要一個LAMP平臺 或LNMP平臺
yum -y install httpd mariadb php mariadb-server mariadb-devel zlib freetype libjpeg \
fontconfig gd libxml2 php-gd php-mysql cairo-devel libxml2-devel glib2 glib2-devel libpng \
libpng-devel freetype-devel libart_lgpl pango pango-devel perl-CPAN //所有環境
關閉防火牆和黑盒子 以免排錯問題
Systemctl stop firewalld && systemctl disable firewalld Service firewalld stop Setenforce 0
測試LAMP平臺:
Vim /var/www/html/index.php 新增 <?php Phpinfo(); ?> Systemctl start httpd && systemctl enable httpd Systemctl start mariadb && systemctl enable mariadb 訪問測試:
成功
下一步
cacti監控需要協議: snmp
Yum -y install net-snmp
Yum -y install net-snmp-utils ///需要在被監控的PC 與監控PC上下載
Systemctl start snmpd
- 下載 rddtool 連結:https://oss.oetiker.ch/rrdtool/pub/rrdtool-1.7.0.tar.gz
Cd /root/rrd-version
./configre --prefix=/usr/local --做這一步 可以直接跳過優化路徑
Make && make install
2.下載cacti:https://www.cacti.net/downloads/cacti-1.2.8.tar.gz //cacti 包 綠色免安裝
3.新增使用者cacti
Useradd cacti
- 將cacti包放在html目錄下 並基於屬組屬主
Tar zxf cacti-1.2.8.tar.gz -C /var/www/html/
Cd /var/www/html
Mv cacti-1.2.8 cacti
Chown -R cacti.cacti cacti/
- 建立cacti資料庫 並授權,並匯入資料
CREATE DATABASE cacti DEFAULT CHARACTER SET utf8;
GRANT all ON cacti.* TO 'cacti'@'localhost' IDENTIFIED BY '123.com';
------------進入資料庫,並且匯入資料------------
mysql>use cacti;
mysql> source /var/www/html/cacti/cacti.sql
Mysql>flush privileges; //重新整理資料庫
Mysqladmin -u root password 123.com //為root使用者設定一個密碼
- 修改cacti配置檔案
Vim /var/www/html/cacti/include/config.php
修改以下配置檔案為自己所需的
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = '123.com';
$database_port = '3306';
$database_retries = 5;
$database_ssl = false;
$database_ssl_key = '';
$database_ssl_cert = '';
$database_ssl_ca = '';
- 訪問cacti頁面 並進行排錯
http://192.168.9.6/cacti/index.php
訪問報錯:System log file is not available for writing, please enable write access Log: /var/www/html/log/cacti.log
Touch /var/www/html/log/cacti.log && chmod a+w /var/www/html/log/cacti.log
chown -R cacti.cacti /var/www/html/cacti/rra
若一直無法訪問 則
[root@swarm-node-work1192 html]# chmod -R a+r cacti
開始一個錯一個錯解決
PHP推薦配置;
version |
5.4.16 |
>= 5.4.0 |
通過 |
PHP 5.4.0 是最低版本要求 |
memory_limit |
128M |
>= 800M |
警告 |
至少 800M MB 記憶體 |
max_execution_time |
30 |
>= 60 |
警告 |
至少 60 m 執行時間 |
date.timezone |
|
>= |
錯誤 |
A valid timezone that matches MySQL and the system |
Vim /etc/php.ini
成功
MySQL - 時區支援
Shell>mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
輸入密碼 解決mysql 的時區問題
最後 MYSQL設定
首先vim /etc/my.cnf
再mysqld下新增一條
version |
5.5.64-MariaDB |
>= |
5.6 |
可忽略版本問題
collation_server |
latin1_swedish_ci |
= |
utf8mb4_unicode_ci |
解決:
Set global collation_server=utf8mb4_unicode_ci;
character_set_client |
latin1 |
= |
utf8mb4 |
解決:
Set global character_set_client=utf8mb4;
max_allowed_packet |
1048576 |
>= |
16777216 |
解決:
Set global max_allowed_packet=17700000;
join_buffer_size |
0M |
>= |
15M |
解決:
set global join_buffer_size=20971520;
innodb_file_per_table |
OFF |
= |
ON |
解決;
Set global innodb_file_per_table=ON
innodb_file_format |
Antelope |
= |
Barracuda |
解決;
Set global innodb_file_format=Barracuda
innodb_large_prefix |
OFF |
= |
1 |
解決;
Set global innodb_large_prefix=1
innodb_flush_log_at_trx_commit |
1 |
= |
2 |
解決;
Set global innodb_flush_log_at_trx_commit=2
然後點選下一頁,繼續安裝.
目錄許可權檢查
指令碼:
#!/bin/bash
chmod a+w /var/www/html/cacti/resource/snmp_queries/
chmod a+w /var/www/html/cacti/resource/script_server/
chmod a+w /var/www/html/cacti/resource/script_queries/
chmod a+w /var/www/html/cacti/scripts/
chmod a+w /var/www/html/cacti/log/
chmod a+w /var/www/html/cacti/cache/boost/
chmod a+w /var/www/html/cacti/cache/mibcache/
chmod a+w /var/www/html/cacti/cache/realtime/
chmod a+w /var/www/html/cacti/cache/spikekill/
設定監控週期時間 範圍填寫自己網段範圍[需要監控的] 點選附加選項值 下一步
一路下一頁 開始安裝
-------新增裝置--------
在被監控的客戶機上
Yum -y install net-snmp
Vim /etc/snmp/snmpd.conf 新增
//取消註釋
Vim /etc/hosts
新增新裝置;
成功
---------如不顯示影象------
如要快速收集 則在監控服務端輸入
/usr/bin/php /var/www/html/cacti/poller.php
完成資料採集
若要實現自動採集;
新增計劃週期表:
在監控服務牆上:
#: crontab -u cacti -e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null
意義: 每五分鐘輸入一次 php /var/www/html/cacti/poller.php 實現自動採集