DAY 23-
我們今天來介紹一下cacti(監控套件)安裝,
這邊準備的是CentOS 7的環境
安裝cacti 過程當中四項最主要的套件分別是,
apache (web介面)、mariadb(資料庫)、snmp (蒐集資料)、php(cacti是透過PHP撰寫而成)
以前mysql還沒被oracle收購的時候其實都是用mysql,
後來mysql的創辦者又跑出來弄了一個mariadb,所以現在許多以前用mysql的都轉成mariadb
rrdtool這個套件也非常重要,他是用來進行繪圖的,若你的cacti建置好卻發現沒有辦法繪圖,
他也會是一個確認重點之一。
那我們先來安裝下列的套件
#yum install httpd mariadb-server php php-mysql php-pear php-gd php-mbstring net-snmp net-snmp-utils rrdtool -y
然後因為cacti並沒被包在原生的yum.repo當中,所以要下載epel-release進行更新。
#yum install epel-release -y
再來就可以來安裝cacti了,以前的話要去cacti的官網抓tar.gz包安裝,
後面還有有許多相依套件的問題,蠻麻煩的。
現在包含進去要安裝就方便多了。
可以看到下面
#yum install cacti -y
我們這邊只是安裝cacti而已,但他會有相依性套見得先安裝,
所以可以看到Installing for dependencies就是有相依性直接被帶上來安裝的。
安裝完之後,最重要的就是設定資料庫了。
其他都可以用導引的安裝完成,資料庫就是要自己動手了。
先啟動資料庫。
#systemctl start mariadb
設定開機啟動。
#systemctl enable mariadb
這邊都是CentOS7之後的啟用方法,他將他們整合在一塊了。
以前是要用
#service mariadb start //啟動服務
#chkconfig mariadb on //開機啟動服務
服務啟動後就可以連線到資料庫去了
#mysql -u root -p
雖然現在已經是mariadb了,但是要登入資料庫來是一樣用mysql這個指令
(-u參數後面帶的是帳號,一開始沒有其他帳號,所以都是先用root,
-p參數後面可以帶密碼,但不建議,因為在linux下指令是會被記錄在history下的)
一開始先修改maria的root密碼
選用 mysql DB
use mysql;
更新root的密碼
update user set password=PASSWORD("cacti") where User='root';
//這邊的cacti是設定為自己的密碼,盡量複雜點,這邊主要是因為這次主題是cacti
所以才這樣輸入。
刷新權限(也是套用新的權限設定)
flush privileges;
接著離開,在登入看看是否成功。
quit
再來才是我們的重點,我們要創建cacti資料庫,還有cacti這個帳號以及設定他的密碼。
創建資料庫。
create database cacti;
賦予cacti帳號可以連現到localhost資料庫(本機資料庫)當中cacti 這個DB的所有權限(cacti.),然後identified by 後面的就是密碼了(這邊一樣是設cacti )
grant all privileges on cacti. to 'cacti'@localhost identified by 'cacti';
後面一樣刷新權限部分後就可以離開了。
再來因為cacti已經有自己定義好的資料庫以及資料表內容,
我們在下載並安裝cacti時就一起抓下來了,
檔案在 /usr/share/doc/cacti-0.8.8h/cacti.sql
這時候我們就要將sql檔案塞回cacti(剛剛建出來)的空殼資料庫當中了。
#mysql -u root -p -A cacti < /usr/share/doc/cacti-0.8.8h/cacti.sql
-A cacti 表示指定這個資料庫。
< 表示是匯入
可以登入mysql裡面,看一下cacti DB是不是有東西了,可以看到蠻多資料表的。
資料庫到這邊告一段落了。
再來我們去修改一下cacti的部分
#vim /etc/cacti/db.php (要注意一下要修改的地方是username&pasword的地方)
database type一樣用mysql是通用的。
再來就可以啟動apache (httpd) & snmp (snmpd)
透過WEB來安裝cacti了。
#systemctl enable httpd
#systemctl enable snmpd
#systemctl start httpd
#systemctl start snmpd
要連接WEB端
http:// {cacti伺服器IP} / cacti時會發現,你沒有權限存取目錄。
原來透過yum安裝的服務跟以前用tar安裝起來的不一樣,
他已經註冊進httpd服務內了,要去調整它的存取權限。
到內部可以看到,他有兩個頁面,一個是/cacti ,另一個是/cacti/install
現在我們要連的應該是安裝頁面/cacti/install,但網頁是階層式,
只要你的上層被阻擋,再往下也不用看了。
所以我們要在上層/cacti那邊增加我們的IP可以去存取,
因為我們的apache版本在2.4以上,所以要設定Require那邊。
這邊加上都可以去存取的 all granted
另外忘了提到PHP的問題,如果只有這樣啟動服務會有時區問題,
我們要去修改/etc/php.ini ,要去設定台灣的時區
可以看到時區這邊是被註解調的,我們去編輯他,將#拿掉
設定為Asia /Taipei
設定完重啟httpd後,在重新設看看。
#systemctl restart httpd
這次我們連接到/cact/install頁面看看。
這樣就可以成功的看到WEB版安裝畫面了
接著他會問你,你是舊版升級呢,還是新安裝,我們這編選New install
下一頁就比較重要了,他會跟你,經由檢測你還缺哪些東西才能安裝。
圖中顯示缺乏寫入log的地方。
回系統查一下這個路徑跟檔案存不存在
可以發現這個路徑是一個捷徑的型態,主要的位置在/var/log/cacti
去查詢了一下/var/log,發現沒有cacti這個資料夾路徑
所以就創建一個資料夾吧
#mkdir /var/log/cacti
接著在回去查看剛剛的捷徑,顏色恢復正常了
然後我我們再建立一個存放log的地方
#touch /usr/share/cacti/cacti.log
WEB安裝界面那邊在重整一次,就發現正常可以繼續往下了。
往下就完成安裝,可以看到登入畫面,首次登入的帳密是admin/admin。
第一次登入時會要求你修改
成功登入
安裝到這邊暫時告一個段落,明天我們來繼續看怎麼操作,
以及設定排程讓他定時RUN資料。