現場(環境):CentOS 7.4 套件:cacti 1.1.37
原因:
如果有在使用cacti的朋友應該知道,以前大家熟悉的都是0.8X版本。
而且也多數人在安裝完之後就不會再另外重新安裝一套cacti。
這次是因為剛好cacti 0.8X版本設備有一些狀況。
所以乾脆就直接做版本升級。
處理方式:
現在安裝比以前簡單很多,以前還要一個一個套件自己編譯。
Step 1. 安裝epel-release
因為相關的cacti套件都在這裏面。
# yum install -y epel-release
Step2. 相關cacti套件安裝
# yum install -y cacti mariadb-server php-process php-gd php-gmp php
Step 3. 資料庫參數設定
這邊使用的是MariaDB
在/usr/share/mysql/ 路徑當中就有許多先設置好的my.cnf範本。
可以直接複製過來使用比較快。
#cp -rf /usr/share/mysql/my-innodb-heavy-4G.cnf /etc/my.cnf
添加資料庫字元相關
#vim /etc/my.cnf
[mysqld]添加下述兩行
character-set-server=utf8
collation-server=utf8_general_ci
Step 4. 啟動資料庫&設定
# systemctl start mariadb && systemctl enable mariadb
使用mariadb提供的方便設定套件
# mysql_secure_installation
Step 5. 設定資料庫時區
*這是比較沒看過的設定法。可以參考相關網址
# mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
mysql_tzinfo_to_sql /usr/share/zoneinfo 這會跳出許多資料庫參數設定。
Step 6. 登入資料庫後賦與權限
登入
#mysql -u root -p
設定字元
> CREATE DATABASE cacti default character set utf8 default collate utf8_general_ci;
賦予cactiuser連結cacti的全部權限
> GRANT all on cacti.* to cactiuser@localhost identified by '密碼' with grant option;
賦予cactiuser連結mysql.time_zone_name 的全部權限
> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost IDENTIFIED BY '密碼';
Step 7. 匯入cacti的資料庫Schema
# mysql -u cactiuser -p cacti < /usr/share/doc/cacti-1.1.37/cacti.sql
cacti-1.1.37 >>這個依你當下載的版決定。
Step 8. 設定http,讓cacti可以遠端登入
# vim /etc/httpd/conf.d/cacti.conf
把Require host localhost 註解掉
另外添加一筆 Require all granted
Step 9. 設定cacti的資料庫連線
# vim /etc/cacti/db.php
依照先前再資料庫設定時的設定調整。
Step 10. 重啟Apache服務,設定排程。並透過WEB介面看還缺什麼。
# systemctl start httpd && systemctl enable httpd
設定排程
#crontab -e
*/5 * * * * /bin/php /usr/share/cacti/poller.php
透過瀏覽器連結。
http://[Cacti IP位址]/cacti
這邊可以看到一個PHP Timezone沒有設定的嚴重問題。
Step 11. 設定php.ini
回到terminal介面
#vim /etc/php.ini
在date.timezone後面加上時區
Step 12. 回到WEB介面繼續確認
介面部份,點選前一頁,然後重新點選「Begin」就可以看到測試狀況。
下方有些建議設定,就看有沒有要依他的建議做修改。
再下一步時會檢查系統特定套件有沒有安裝好。
圖中可以看到缺了spine Binary套件。
Step 13. 安裝spine Binary
安裝編譯spine時所需套件
# yum install -y gcc mysql-devel net-snmp-devel autoconf automake libtool dos2unix help2man
連結到cacti網站,將cacti-spine抓回來。
網址:http://www.cacti.net/downloads/spine/
這邊的spine建議依照cacti的版本去下載,所以這邊配合下載1.1.37版。
解壓縮
# tar zxf cacti-spine-1.1.37.tar.gz
進行編譯並安裝
# cd cacti-spine-1.1.37
# ./configure
# make && make install
複製相關設定檔範本
#cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
在spine內設定資料庫連線資訊
# vim /usr/local/spine/etc/spine.conf
到這邊就完成spine安裝
Step 14. 繼續透過WEB檢查。
確認Spine已經正確安裝完成。
確認相關檔案的寫入權限是否正確。在0.8.X版本時,會有些檔案需要再額外調整權限。
詢問是否要將template安裝設定到cacti Server上。
要的話就將後方的勾選欄位勾起來。
這個步驟完成後就完成了Web端的設定。也完成了Cacti的安裝步驟。
Step 15.登入Cacti
首次登入時。帳密是admin / admin
之後會轉跳到設定密碼的頁面,這邊的密碼設定比0.8X版的時候嚴謹。
需要有大小寫&特殊字元。
Step 16. 增加監控主機
增加監控的方式都跟以前相同,只是位置可能要找一下。
在Managemen / Devices 可以開始新增主機
先輸入Device的相關資料。接著就點選Create。
連結成功會像下方一樣抓到資料。
抓到資料後就可以設定「新增Device」最下方的「Associated Data Queries」
這邊選 「SNMP-Interface Statistics」。然後按下「Add」
如果有資料會像下圖寫xxxitems , XXXRows。
最後按下「Save」。
抓到資料後就可以點右上方的 「Create Graphs for this Device」
把有顯示可以勾選的選項選起來 (下方是示意圖)。
之後就會依照排程每5分鐘去運作 poller.php這隻程式。
而這個程式就是我們顯示圖片的關鍵。
正確有收到資訊並顯示圖片的樣子會如下方顯示。
上面介紹的都是安裝&最基本的用法。
Cacti 還有許多外掛套件,未來有機會再跟大家分享。
<本篇完>
參考網址:
https://kenwu0310.wordpress.com/2017/04/11/centos-7-%E5%AE%89%E8%A3%9D-cacti-server/
https://kenwu0310.wordpress.com/2017/05/10/cacti-server-poller-%E4%BD%BF%E7%94%A8-spine/
留言列表