故障癥狀
有一個Centreon 單節點監控系統(不含分布式),隔三差五的掛掉,幸好我們安排人手,時不時訪問web管理后臺,才沒出現大的紕漏,其主要癥狀是Poller失效,但系統其它行程比如Apache、PHP、Centreon-engine等運行正常,

在Centreon Web管理界面多載(reload)或者重啟(restart)cbd服務,無效;登錄系統,執行指令systemctl start cbd ,也無效,只能重啟系統,才能正常,因為這個Centreon 是部署在PVE(Proxmox VE)平臺,以虛擬機形式承載的,相關人員不勝其煩,認為是PVE的問題,打算將其備份,然后恢復到PVE的其它物理節點,我想了一下,PVE上那么多虛擬機,雖然是其它應用,但都沒出現問題,而且出問題是Centreon的一個應用cbd而已,與虛擬機本身的關系不大,應該另有原因,
分析思路
既然其它服務正常,那么我們就從有故障的cbd服務入手,找到cbd日志所在的目錄,其完整路徑為/var/log/centreon-broker,查看其下的檔案,其大致情況如下:

雖然日志檔案很多,但能查到有用資訊的檔案是centreon-master.log這個,在個案里邊,解決故障的日期是11月25日,因此我就查看檔案central-broker-master.log-20201125,如果時間再久遠一些,系統會自動把舊檔案壓縮打包,以.gz的形式結尾,Centreon 自帶工具zcat,可以直接查看.gz結尾的檔案,這里,我隨機打開一個,看是否有識訓,

果然有報錯資訊,原來是資料庫連接不上,再查看一下11月25日那個日志檔案,因為這個檔案比其他檔案都大,資訊應該更詳細,

根據報錯資訊,我的解讀就是:Mysql連接不上,導致cbd服務不能正常運行,那么好辦,mysql就在本機,順藤摸瓜查看mysql是什么狀況,
先看mysql行程是否運行,哦豁!沒運行呢,前邊只顧查看centreon開頭的行程是否運行,給mysql忘記了,原來肯定是運行著的,不然監控一直就應該處于不正常狀態,看了一眼系統日志及磁盤空間使用情況(怕磁盤塞滿),未發現有用資訊,那么剩下的地方就是Mysql錯誤日志可以作為選擇目標,其所在路徑為/var/lib/mysql,檔案名以主機名加.err后綴結尾.

打開它,看看到底什么原因所致,

初步判斷是字符集的問題,為什么會出現這個問題,可能的原因是我經常對系統執行yum update 升級系統,其它的軟體包升級都正常,而Mariadb卻沒有一次升級成功的,于是就計劃嘗試對Mariadb進行升級,看問題是否還存在,
故障處理
大致分以下幾個步驟進行:
- 先對資料庫做完整備份,以備不時之需,步驟不再贅述,
- 用yum remove指令洗掉資料庫,
- 用yum install MariaDB-server MariaDB-client指令重新安裝資料庫,由于洗掉資料庫軟體并不會洗掉資料庫檔案,如果運氣好的話,直接就可以啟動資料庫,并用指令mysql_upgrade進行升級,升級完畢,登錄Mysql,查看庫或者表是否被識別,
- 執行指令 systemctl start cbd 啟動服務,查看行程是否運行,
驗證
登錄Centreon Web管理后臺,查看Poller運行狀態,圖示變成綠色,則表示運行正常,故障處理成功,

繼續觀察數日,看故障是否還會重現,通過10多天的觀察,再也沒發生同樣的故障,如果有其它監控,可以把這個Centreon也給監控上,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/230408.html
標籤:其他
上一篇:想升職加薪?你搞懂SSM框架+Dubbo+K8s+MySQL+Redis+Zookeeper+Netty了嗎?還不快來?
