作者田逸(vx:formyz,mail:sery@163.com)
有了Centreon WEB管理界面,我們再也不需要像原生Nagios那樣手動編輯各種文本檔案,這些操作,絕大部分可以在瀏覽器頁面進行,非常的直觀,而且也能減少手工輸入字符的錯誤,接下來,假定一個場景:一個空白干凈的Centreon 監控某個遠端主機是否存活,
這里,我不按照規矩出牌(即不事先安裝基本插件、對管理員賬號做修改等),而是在操作中故意遇到障礙,以排除故障作為操作路徑,加深大家對Centreon的認識和理解,也許這樣,可能對初學者更有幫助,
我們約定,如果沒有特殊說明,默認操作是在瀏覽器里進行;同時確定,centreon所有相關的服務處于啟動狀態,比如centengine、cbd等,
添加主機
滑鼠選擇左側選單按鈕”配置”(齒輪圖示?),子選單“hosts”,孫選單“hosts”,

出現添加主機配置操作界面,點按鈕“Add”,

有兩個“Add”按鈕,兩個按鈕對應的操作都是一樣的,可以隨便選一個,下一個界面,帶星號的項必須填寫或者選定,

Name欄位,如果字符之間有空格,如stor109 server,系統會自動在第一個單詞的結尾處用下劃線把兩個單詞連接在一起,形如stor199_server,為了方便維護,也可以直接輸入中文字符,滾動條往下拉,“Host check options”主機檢查選項,Check Command是一個單選下拉串列框,用來指定主機存活所使用的命令,

滑鼠點開下拉串列框,什么也沒有,到這步,就卡住了,要繼續往下,得先解決這個問題,點擊串列框右側的中間有字母“i”的圖示,彈出新的頁面視窗,提示如下圖所示:

從上邊這個提示大致可以判斷,可能是缺少插件的問題,關閉貼士頁面,回傳到主管理界面,點開配置選單的子選單”Plugin Packs”,確保系統可以訪問互聯網,

等待片刻,會出現很多可用的插件包,看起來很豐富,實際場景中,用得上的沒幾個,更多的時候,可能需要手工寫插件,來滿足特定的需求,

第一個圖示,名字為“Base Pack”,滑鼠放在上邊,有一個加號“+”向左展現(其它圖示也一樣),點這個加號“+”就是安裝此插件,整個圖示是個超鏈接,點開它可以看到此插件更詳細的資訊,

安裝好插件以后,圖示的形狀變了,又上角多了個勾,

如果不再需要這個插件,可以點擊圖示的按鈕叉號,

插件就緒,回傳到添加主機那個界面,看命令選項的下拉串列框是否有內容,

確實有內容了,說明解決思路和方法是對的,這里我們選“base_host_alive”,再把其它編輯框填上或者選取上,

調度選項這幾個值,在這里簡單做一個說明:
?
- Check Period(檢查周期),重要業務,全天候24小時監控了,告訴大家一個秘密,某國家單位,對外提供服務的服務器,人下班服務器也下班,哈哈!
?
- Max Check Attempts(最大重試次數),此機制可有效避免因網路抖動等原因造成系統誤報,或者頻繁報警的問題,此處設定為“3”,表示探測3次監控物件都處于出裝狀態,就發出警示告警(監控頁面圖示的顏色、發送告警郵件等),
?
- Normal Check Interval(正常檢查時間間隔),兩次監控探測執行的時間間隔,單位為分鐘,
?
- Retry Check Interval(重試檢查間隔時間),定義被監控的主機故障被探測到后,監控服務器再次去探測該主機狀態的時間間隔,
以上幾個設定,監控系統探測到主機發生故障,到正式認為主機真宕機并發出告警,所經歷的時間大概是9分鐘,
先不急于保存上述設定,等下一個“Notification”設定完以后,再點“Save”按鈕一次保存,

保存完畢以后,登錄系統,查看資料庫是否有寫入,抽取資料庫centreon的表單host,瀏覽其欄位定義,然后再進行記錄查詢,使用的指令為:
MariaDB [(none)]> use centreon
MariaDB [centreon]> show tables;
MariaDB [centreon]> desc host;
MariaDB [centreon]> select host_id,host_name,host_address from host;
查詢的輸出如下圖所示:

從輸出記錄可知,Web頁面進行的操作,確實把相關設定寫入了資料庫,
添加依附于主機的服務
主Web管理界面,選單進入“Configuration”?”Services”?“Service by host”,需要注意的是,必須先添加主機,才能在其上添加服務,

描述這個編輯框,盡量用可以看得懂的文字進行描述,方便日常管理,好的命名有事半功倍的作用,即便部署監控的人不在,其他得到授權的同事,也能明白其意義所在,

“Service Scheduling Options”服務調度選項與添加主機的調度選項基本一致,不做贅述,其具體設定如下圖所示:

同樣,添加服務也得把通知相關聯,

在點擊按鈕“Save”之前,可以登錄系統,查看資料庫centreon的表單service,使用陳述句“select service_id,display_name from service;”進行查詢,觀察其輸出,點擊保存之后,再查詢資料庫表單service,與保存之前做一個對比,看是否寫入了資料庫,
select service_id,display_name from service;

通過前邊的添加主機和添加服務操作,雖然資料都寫入了資料庫,但監控引擎其實是沒有作業的,通過查看Web管理頁面的上部圖示,即可做出判斷,

從這里我們可以了解到Centreon與Zabbix的差異:不從資料庫直接讀取資料,有原生Nagios運維經驗的伙伴們應該熟悉,監控引擎讀取的是文本組態檔,Centreon的cbd,其主要功能就是從資料庫讀取資料,然后插入到相關的文本組態檔,前邊的步驟,我們添加了主機與服務,那么我們就把關注點轉移到目錄/etc/centreon-engine下的檔案hosts.cfg與services.cfg,一番操作以后,看是否有內容填充?
匯出資料并啟動Centreon引擎
滑鼠點擊頁面左上角圖示Poller,再點子選單“configure pollers”,

在頁面中,可以看到“Conf Changed”的欄位值有顯眼的“Yes”,其顏色為紅色,

而資料庫未有新資料寫入的情況下,此處的值為“No”,顏色為綠色,

勾選需要操作的Poller,然后點頁面按鈕“Export configuration”,

頁面“Configuration Files Export”,勾選如下幾項,多載引擎的方法有“Reload”與“Restart”兩項可選,隨便選取即可,

勾選的四項Actions,其作用如下:
?
- Generate Configuration Files(生成組態檔),從資料庫匯出記錄,存盤在臨時的快取檔案中,具體的存放路徑為“/var/cache/centreon/config/engine/1”,執行“Export”操作以后,在其下生成的檔案如下圖所示:

- Run monitoring engine debug (-v)監控引擎對組態檔進行語法檢測,相當于原生Nagios執行nagios –v nagios.cfg,這里應該是centengine.cfg檔案,
- Move Export Files(移動輸出檔案),從快取目錄/var/cache/centreon/config/engine/1復制檔案到組態檔正式目錄/etc/centreon-engine,輸出操作完成以后,抽取檔案hosts.cfg,查看其內容,

?
?
確實與我們在web頁面輸出及設定的內容相一致,熟悉的nagios配方,熟悉的味道,
?
- Restart Monitoring Engine(重啟監控引擎),
執行輸出(Export)操作,頁面會有控制臺資訊輸出,一部分為執行進度,一部分為語法檢查程序,

不妙,報錯了!根據控制臺提示,初步判斷是聯系人沒有與通知型別相關聯,即出現告警用什么方式通知聯系人,進入選單“Configure”?“Users”?“Contact / Users”,對用戶進行編輯,

因為當前系統只有唯一的一個可用賬號admin,因此僅對admin賬號進行編輯修改,滑鼠點超鏈接“admin”,即可進行編輯,
編輯界面的上半部分,由系統自動填充,不用理會,
?
-
Linked to Contact Groups,鏈接組當前有管理員組及訪客組,僅選管理員組即可,
-
Host Notification Options,主機通知選項勾選“Down”、“Unreachable”、“Recovery”,表示監控引擎探測被監控的主機發生宕機、不可達、或者故障恢復,都會發送告警資訊,
?
- Host Notification
Commands,主機通知命令默認有好幾種,因為在安裝系統時,我們只填寫了一個管理員郵箱,因此只有選郵件通知才會起作用,在生產環境中,通常會使用短信通道或者釘釘機器人來發送告警資訊,
?
- Service Notification
Options,服務通知選項勾選“Warning”(比如磁盤到達設定的閾值下限)、“Unknown”、“Critical”(設定閾值的上限)、“Recovery”,
?
- Service Notification Commands,服務通知命令也選郵件方式,

保存設定,然后再回傳配置輸出操作界面,再觀察頁面控制臺輸出資訊,

語法檢查通過,一切ok,在頁面的上部,將看到主機一個,服務也是一個,

如果不是這樣,很可能是cbd與centengine服務沒有啟動,用系統命令“systemctl status centengine cbd”檢查并用” systemctl start centengine cbd”啟動它們,
systemctl status centengine cbd
systemctl start centengine cbd
操作步驟匯總
為確保少走彎路,可按如下順序進行,
- 安裝基礎插件包,
- 編輯用戶資訊,
- 添加主機,
- 為主機添加服務,
- 選定Poller輸出配置并重啟Centreon引擎,
- 檢查監控是否生效,
驗證監控有效性
部署好Centreon監控以后,還需要模擬故障發生和恢復,以驗證監控是否有效作業,很久以前,某知名地產公司的兄弟找我幫忙,說他們的監控系統就是服務器死機了,也不會報警,讓我幫忙看看是什么情況,他們用的是原生nagios,監控大概40幾個物理主機,仔細檢查,發現部署監控的乙方,僅僅把監控項加上就完事,沒有做故障模擬測驗,這還不算,連監控引擎都沒啟動,
模擬測驗的基本方法是:把被監控的主機關機,觀察Centreon的行為;再把被監控主機啟動恢復正常,觀察Centreon的行為,如果是生產環境,不能停機的話,建議找一個不重要的系統進行測驗,比如負載均衡器后的某個節點,關閉以后,有其它節點繼續提供服務,并不會對業務造成影響,
?
- 被監控主機關機,可關閉系統或者拔掉網線,確保其不能通過網路訪問,可通過ping一類的系統指令遠程探測被監控主機,再切換到Centreon Web管理后臺,觀察頁面顯示的狀態變化,

監控引擎探測到主機發生嚴重錯誤,當重試三次還是處于錯誤狀態的時候,通過郵件發送告警資訊,郵件發送是通過postfix完成的,因此postfix服務也是必須開機啟動的,告警郵件發送,由于大部分電子郵件系統啟用了反垃圾郵件機制,沒有特定決議的主機可能不能正常發送郵件,但我們可以通過查看日志檔案/var/log/maillog查看郵件發送與接收,

?
- 恢復被監控主機,觀察Centreon Web管理后臺頁面狀態,恢復以后,圖示應該為綠色;接收告警郵件的郵箱,也能收到故障恢復的郵件,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/233994.html
標籤:其他
