Linux CentOS上配置Cacti監(jiān)控MySQL

2018-07-31 14:43 更新

防偽碼:即使沒有輝煌的未來、如果能有無悔的往昔。

                          第九章 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)載!

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號