Cacti 是個網路設備監測系統,可協助 IT 管理人員即時監看線上設備的資源與運作狀態。
雖然是套自由軟體,但基本內建再加上 Plugins 已讓管理者方便很多,所以讓企業都非常喜愛這套軟體。
可安裝於 Windows 或 Linux 下,大部份都是安裝於免費的 Linux 底下,
當然小弟也是以 CentOS 為底層去實作。
20140524更新:
前幾天的步驟基本上是沒有問題,但後來感覺有較好的方式重新再貼上來。
但在操作上遇到 SNMP 抓不到設備資訊,會顯示 -nan 的訊息,上網找過許多辦都無解,
最後重新安裝 OS 就解決問題,詳細原因不明,分享經驗給各位參考看看。
需要準備的東西如下:
1. Cacti.tar.gz:http://www.cacti.net/download_cacti.php
2. WinSCP:http://winscp.net/eng/download.php
3. Putty:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
4. 已安裝完成的 CentOS:http://coolking1206.pixnet.net/blog/post/57466476
第 1 步驟
本文是自我練習 Cacti,為了減少問題因素先關閉 OS 的防火牆功能,
若是未來需正式上線,不需要關閉防火牆功能,將需要的 Port 打開即可。
並且將 SELinux( Security Enhanced Linux) 關閉。
[root@localhost ~]# service iptables stop '關閉防火牆功能
[root@localhost ~]# chkconfig iptables off '防火牆開機時不啟用
[root@localhost ~]# vi /etc/selinux/config
修正如下:
SELINUX=disable
修正後進行重新開機。
第 2 步驟
安裝所有可能會用到的套件。
[root@localhost ~]# yum install mysql* net-snmp* php* freetype-devel libpng-devel libart_lgpl-devel rrdtool* httpd* -y
第 3 步驟
切換至 snmp 資料夾並修改 snmp.conf ,
[root@Cacti ~]# cd /etc/snmp
[root@Cacti snmp]# vim snmpd.conf
將以下三行前面加上 # 變註解:
#com2sec notConfigUser default public
#group notConfigGroup v1 notConfigUser
#group notConfigGroup v2c notConfigUser
再新增以下指令:
com2sec local localhost public
com2sec mynetwork 192.168.200.0/24 public
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
view all included .1 80
view systemview included .1.3.6.1.2.1.2
access MyROGroup "" any noauth prefix all none none
access MyRWGroup "" any noauth prefix all all all
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
修正完 snmp.conf 後,將 SNMP Service 開啟並設定開機時自動啟用。
[root@Cacti snmp]# service snmpd start '開啟 SNMP 服務
[root@Cacti snmp]# chkconfig snmpd on '開機時自動啟用 SNMP 服務
第 4 步驟
把 cacti-0.8.8b.tar.gz 利用 WinSCP 丟到 /tmp 底下。
切換至 tmp 資料夾,用指令 ls 確認有 cacti-0.8.8b.tar.gz 檔案,
確認有此檔案解壓縮並複製到 /var/www/html/ 底下。
[root@Cacti snmp]# cd /tmp
[root@Cacti tmp]# ls
[root@Cacti tmp]# tar -zxvf cacti-0.8.8b.tar.gz '解壓縮cacti-0.8.8b.tar.gz
[root@Cacti tmp]# cp -R cacti-0.8.8b /var/www/html/cacti '複製到 html 資料夾下
[root@Cacti tmp]# cd /var/www/html
[root@Cacti html]# ls
第 5 步驟
進入編輯 crondtab 模式,新增排程:
[root@Cacti cacti]# crontab -e '進入排程編輯模式
*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
[root@Cacti cacti]# crontab -l '查看排程
第 6 步驟
啟動 MySQL 服務,設定開機時自動啟動並修正 root 密碼。
[root@Cacti cacti]# service mysqld start '開啟 MySQL 服務
[root@Cacti cacti]# chkconfig mysqld on '開機時自動啟用 MysQL 服務
[root@Cacti cacti]# chkconfig mysqld --list '查看是否設定成功
[root@Cacti cacti]# mysqladmin -u root password 'root' '更改 MyQL root 密碼
[root@Cacti cacti]# mysql -u root -p '用 root 帳號登入 MySQL
Enter password : root
mysql > quit
第 7 步驟
新增一個 cacti 的資料庫,並將 .sql 匯入此資料庫。
再指定 cactiuser 的帳號給予資料庫權限。
[root@Cacti cacti]# mysqladmin -u root -p create cacti '建立 Cacti 資料庫
Enter password : root
[root@Cacti cacti]# mysql -u root -p -A cacti < /var/www/html/cacti/cacti.sql '匯入 Cacti 所需 data
Enter password : root
[root@Cacti cacti]# mysql -u root -p '用 root 帳號登入 MySQL
Enter password : root
mysql > show databases; '查看目前的資料庫清單
mysql > use cacti '進入 cacti 資料庫
mysql > show tables; '查看 cacti 資料庫下的 table
mysql> grant all privileges on cacti.* to cactiuser@localh identified by 'cactiuser' ;
mysql> '賦予 cactiuser 存取 cacti 資料庫的權限
mysql> flush privileges; '更新權限
mysql> quit
第 8 步驟
[root@Cacti cacti]# cd /var/www/html/cacti/include/
[root@Cacti include]# vim config.php
修正設定如下:
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser"; '若不是 cactiuser 做存取需修正此欄
$database_password = "cactiuser"; '若不是 cactiuser 做存取需修正此欄
$database_port = "3306";
$database_ssl = false;
第 9 步驟
編輯 httpd.conf,切換至 /etc/httpd/conf 底下,並將以下程式碼新增至檔案的最下面。
[root@Cacti include]# cd /etc/httpd/conf
[root@Cacti conf]# vim httpd.conf
Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti/>
AllowOverride all
order deny,allow
deny from all
allow from all
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc on
php_flag track_vars on
</Directory>
ServerName Cacti
第 10 步驟
啟動 httpd 服務,設定開機時自動啟動。
[root@Cacti conf]# service httpd start '開啟網頁服務
[root@Cacti conf]# chkconfig httpd on '開機時自動啟用網頁服務
[root@Cacti conf]# chkconfig httpd --list '查看是否有設定成功
第 11 步驟
開啟瀏覽器輸入 http://IP/cacti,預設帳號、密碼為 admin
基本上維持預設設定即可,第一次登入會強制更改密碼。
第 12 步驟
建議啟用 NTP Service 去同步時間,在 Cacti 的時間才不會有問題。
[root@Cacti ~]# yum install ntp '安裝 NTP 功能
[root@Cacti ~]# chkconfig ntpd on '開機時自動啟用 NTP 功能
[root@Cacti ~]# ntpdate time.stdtime.gov.tw '去向 time.std.time.gov.tw 同步時間
[root@Cacti ~]# service ntpd start '啟動 NTP 服務
[root@Cacti ~]# date '查看時間
參考書籍:
參考網站:
HKITBlog - (第三章) Cacti 免費、統一網絡監測軟件 – 伺服器安裝及設定
xiangyang17 - [IT][NetworkManagment] Cacti 安裝與中文化
iTHome - 軟體開箱文~~系統效能監控軟體Cacti 安裝
留言列表