防偽碼:即使沒有輝煌的未來、如果能有無悔的往昔。
第九章 CentOS上配置Cacti監(jiān)控MySQL
前言:在企業(yè)網(wǎng)絡(luò)運維過程中,管理員必須隨時關(guān)注服務(wù)器和網(wǎng)絡(luò)的運行狀況、以便及時發(fā)現(xiàn)問題,盡可能減少故障的發(fā)生。當網(wǎng)絡(luò)中的設(shè)備、服務(wù)器等數(shù)量較多時,為了更加方便、快捷的獲得各種監(jiān)控信息,通常會借助于一些集中檢測軟件。本章將以著名的Cacti套件為例,介紹服務(wù)器集中監(jiān)控體系的構(gòu)建和使用。
一、Cacti官方簡介:
1、Cacti是通過 snmpget來獲取數(shù)據(jù),使用 RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool復(fù)雜的參數(shù)。它提供了非常強大的數(shù)據(jù)和用戶管理功能,可以指定每一個用戶能查看樹狀結(jié)構(gòu)、host以及任何一張圖,還可以與LDAP結(jié)合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。界面友好。軟件 Cacti 的發(fā)展是基于讓 RRDTool 使用者更方便使用該軟件,除了基本的Snmp流量跟系統(tǒng)資訊監(jiān)控外,Cacti 也可外掛 Scripts 及加上 Templates 來作出各式各樣的監(jiān)控圖。
2、Cacti是用php語言實現(xiàn)的一個軟件,它的主要功能是用snmp服務(wù)獲取數(shù)據(jù),然后用rrdtool儲存和更新數(shù)據(jù),當用戶需要查看數(shù)據(jù)的時候用rrdtool生成圖表呈現(xiàn)給用戶。因此,snmp和rrdtool是cacti的關(guān)鍵。Snmp關(guān)系著數(shù)據(jù)的收集,rrdtool關(guān)系著數(shù)據(jù)存儲和圖表的生成。
3、Mysql配合PHP程序存儲一些變量數(shù)據(jù)并對變量數(shù)據(jù)進行調(diào)用,如:主機名、主機ip、snmp團體名、端口號、模板信息等變量。
4、snmp抓到數(shù)據(jù)不是存儲在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下)。rrdtool對數(shù)據(jù)的更新和存儲就是對rrd文件的處理,rrd文件是大小固定的檔案文件(Round Robin Archive),它能夠存儲的數(shù)據(jù)筆數(shù)在創(chuàng)建時就已經(jīng)定義。
5、工作原理,如下圖所示:
二、服務(wù)器配置(主控端-Cacti)
1、安裝Net-SNMP、RRDtool等支持軟件
1)構(gòu)建數(shù)據(jù)庫及web平臺(不再詳細編譯安裝,直接yum安裝并配置LAMP平臺)
配置防火墻策略并修改mysql密碼:
2)測試LAMP平臺
編寫一個php測試頁,Vim /var/www/html/test.php,內(nèi)容如下:
在瀏覽器上訪問,如果出現(xiàn)下面的頁面,說明配置成功。
3) 安裝net-snmp-utils軟件包
Cacti平臺通過snmp協(xié)議采集檢測數(shù)據(jù),這些工具程序由net-snmp-utils軟件包提供,所需安裝的軟件及依賴包如下所示:
1) 安裝rrdtool軟件包(Rrdtool軟件包主要用于數(shù)據(jù)記錄和圖表繪制。)
首先安裝依賴包:
安裝rddtool源碼包:
2、部署cacti,設(shè)置數(shù)據(jù)庫連接
1)部署cacti源碼包(將下載的cacti源碼包釋放到web服務(wù)器的網(wǎng)頁目錄)
添加一個用來讀寫檢測數(shù)據(jù)的用戶賬戶,并調(diào)整目錄的屬主,以便正常讀取及寫入數(shù)據(jù)。
2) 建立數(shù)據(jù)庫,表結(jié)構(gòu)(創(chuàng)建用于cacti監(jiān)測平臺的數(shù)據(jù)庫,并授權(quán)一個數(shù)據(jù)庫用戶cacti,然后使用cacti源碼目錄下的cacti.sql腳本,導(dǎo)入預(yù)設(shè)的各種數(shù)據(jù)表)
驗證數(shù)據(jù)庫是否導(dǎo)入:
3) 調(diào)整cacti配置文件
3、 cacti的安裝
1) 調(diào)整httpd配置(設(shè)置好網(wǎng)站根目錄、自動索引頁、默認字符集等相關(guān)參數(shù),然后重載httpd服務(wù))
行號,注釋截圖如下:
1) 初始化cacti系統(tǒng)
在瀏覽器中輸入192.168.1.1,根據(jù)提示進行安裝
到此為止服務(wù)器配置完成了,下面開始配置一臺linux客戶端(mysql192.168.1.2),然后使用cacti監(jiān)控客戶端。
三、 配置客戶端(被控端snmpd)
實現(xiàn)思路如下:
A、無論是路由器、交換機、還是linux或windows服務(wù)器,只要正確支持SNMP協(xié)議,并允許Client服務(wù)器采集數(shù)據(jù),就能夠?qū)ζ溥M行監(jiān)測。
B、下面僅介紹在linux服務(wù)器中啟用SNMP支持并設(shè)置共同體名的簡單方法。
C、ps:共同體名,值的是一種驗證機制,所有的client都必須使用同一個共同體名,就像我們之前學(xué)習(xí)的hsrp的組一樣,只有組號相同才能是一個組的,這里也是如此,只有共同體名相同的時候,Cacti才能通過這個共同體名對client進行監(jiān)控。
D、需要安裝net-snmp、lm_sensors軟件包,然后通過修改其配置文件/etc/snmp/snmpd.conf,并啟動snmpd服務(wù),并建立規(guī)則,默認監(jiān)聽UDP的161號端口。
修改第41行:192.168.1.1指的是Cacti的服務(wù)器IP(默認是default),表示允許其查詢本機數(shù)據(jù),
public指的就是共同體名,用來識別及驗證
修改第62行 : all表示開放所有的SNMP查詢權(quán)限(默認是 SystemView)
修改第85行: 去掉注釋之后,以便支持各種查詢。
開啟服務(wù),配置防火墻策略
四、 使用cacti的web控制臺
實現(xiàn)步驟:
A、登錄Web控制臺
B、添加被控設(shè)備/主機,設(shè)置監(jiān)控項目
C、生成監(jiān)測圖像
D、定期采集監(jiān)測數(shù)據(jù)
E、查看監(jiān)測結(jié)果
1、 登錄web控制臺
在瀏覽器中輸入192.168.1.1
2、添加被控設(shè)備/主機,設(shè)置監(jiān)控項目
1)單擊導(dǎo)航欄中的“management(管理)”下的“devices(設(shè)備)”,可以管理被控設(shè)備或主機。點擊devices---Add
修改五個地方,如下圖
然后單擊右下角的“create”創(chuàng)建,將自動連接目標執(zhí)行snmp查詢
2) 設(shè)置要監(jiān)測的項目
成功連接被控端后會看到save successful提示,如下圖:
添加項的時候選擇頁面右側(cè)的add,完成之后點擊右下方的save按鈕保存
3、 生成檢測圖像
1) 創(chuàng)建圖像
單擊導(dǎo)航欄中create下的new graphs(圖表),選擇被控端,選中最需要的圖像條目,最后單擊下方的create按鈕完成創(chuàng)建。
2) 添加圖像至監(jiān)測樹
單擊導(dǎo)航欄中的management下的graph trees,在單擊default tree就可以對默認的圖像監(jiān)測樹進行管理。
單擊右側(cè)的add,可以向監(jiān)測樹種添加“樹項目”,完成之后點擊create,并點擊save保存。
4、 定期采集監(jiān)測數(shù)據(jù)
Cacti系統(tǒng)通過poller.php頁面采集監(jiān)測數(shù)據(jù),可以結(jié)合計劃任務(wù)定期采集(默認的刷新間隔是5分鐘)
/usr/bin/php /var/www/html/cacti/poller.php
注意:
1、如果有時候采集不到數(shù)據(jù),可以刷新緩存,并添加參數(shù)--force強制采集
2、執(zhí)行完成之后,會出現(xiàn)很多的提示信息,一般情況下是指時區(qū)不正確,
由于是php報錯,因此我們修改php的主配文件(946行)來解決。建議將時區(qū)改為Asia/Chongqing。
5、 查看監(jiān)測結(jié)果
單擊cacti管理控制臺左上方的graphs標簽,然后展開左側(cè)的default tree樹,選擇被控主機后即可看到各監(jiān)測圖像。
以上是我截取的一些圖表,可以參考。
五、 安裝percona-mysql-monitor插件
Cacti工具默認的模板只能監(jiān)控機器的cpu,內(nèi)存和磁盤等信息,如果想要監(jiān)控mysql,就需要安裝插件,操作如下。
1)解壓縮軟件到目標位置
2)在mysql數(shù)據(jù)庫授權(quán)用戶,并配置防火墻策略
3)為設(shè)備添加項目
在Cacti管理界面中進行添加,點擊Consose——Import Templates——選擇文件,將宿主機下的壓縮目錄解壓到一個文件夾內(nèi),
選擇解壓后的cacti\templat目錄下的cacti_host_template_percona_mysql_server_ht_0.8.6i-sver1.1.4.xml,
最后單擊import導(dǎo)入。
4) 根據(jù)需求添加模板
5) 創(chuàng)建圖像
6)重新采集,或者默認等5分鐘
7) 查看監(jiān)測結(jié)果
總結(jié):在實際工作中,我們可以根據(jù)需求,靈活運用Cacti,使自己的工作更方便快捷。
謝謝觀看,真心的希望能幫到您。我是“一盞燭光”!
本文出自 “一盞燭光” 博客,謝絕轉(zhuǎn)載!
更多建議: