用monit監控mongodb和rabbitmq

NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

什麼是monit

Monit是一個跨平臺的用來監控Unix/linux系統(比如Linux、BSD、OSX、Solaris)的工具。Monit特別易於安裝,而且非常輕量級(只有500KB大小),並且不依賴任何第三方程式、外掛或者庫。

Monit可以監控伺服器程序狀態、埠狀態,HTTP/TCP狀態碼、伺服器資源變化、檔案系統變動等等,根據這些變化,可以設定郵件報警、重啟程序或服務。易於安裝、輕量級的實現以及強大的功能,讓Monit成為一個理想的後備監控工具。
monit不像zabbix功能那麼強大,但是勝在輕量級,且具備基本所有的監控需求,比較適合中小型創業公司的使用。
官網:https://mmonit.com/monit

安裝

yum install monit

如何配置

使用yum安裝預設配置檔案在:
/etc/monitrc # 全域性引數配置檔案
/etc/monit.d/ # 在這個目錄下新增每個待監控服務的配置

先說說全域性引數配置檔案/etc/monitrc,我的配置如下:

#設定週期,每60秒自動檢測一次
set daemon 60
#設定報警郵件傳送格式
set mailserver smtp.exmail.qq.com port 25 USERNAME "[email protected]" PASSWORD "test"
set mail-format {
from: [email protected]
subject: monit alert --  $EVENT $SERVICE
message: $EVENT Service $SERVICE
Date:        $DATE
Action:      $ACTION
Host:        $HOST
Description: $DESCRIPTION
}
#設定報警郵件發給誰,預設只會傳送一次報警。
#with reminder on 3 cycles表示如果服務一直處於失敗,則基於週期最多傳送3次報警
set alert [email protected] with reminder on 3 cycles
#Monit Web介面相關的訪問配置,如不使用則不需要配置(web管理介面需要額外的M/Monit專案)
set httpd port 2812
allow app:app
set eventqueue basedir /var/monit slots 1000
#包含所有需要監控服務的子配置項,這裡使用了檔名萬用字元
include /etc/monit.d/*.monitrc.conf

下面列舉兩種最常見的服務監控方式,埠監控和程序號變更監控

監控mongodb配置示例(利用埠監控)

在/etc/monit.d/下新增配置檔案mongo.monitrc.conf,內容如下:


#匹配程序名
CHECK PROCESS mongo MATCHING mongo
#配置服務啟動和重啟命令
start program = "/usr/bin/sudo service mongod start"
restart program = "/usr/bin/sudo service mongod restart"
#如果埠27017無法訪問則認為服務失敗,發報警郵件並重啟服務
if failed port 27017  type tcp then alert
if failed port 27017  type tcp then restart
#如果在三個週期內重啟了3次,則不再監控
if 3 restarts within 3 cycles then unmonitor

監控rabbitmq配置示例(利用程序ID變更監控)

在/etc/monit.d/下新增配置檔案rabbitmq.monitrc.conf,內容如下:

#匹配程序名
check PROCESS rabbitmq with MATCHING rabbitmq
#配置服務啟動和重啟命令
start program = "/etc/init.d/rabbitmq-server start"
restart program = "/etc/init.d/rabbitmq-server restart"
#如果程序號發生變化則認為服務失敗,發報警郵件並重啟服務
if changed pid then alert
if changed pid then restart
#如果在三個週期內重啟了3次,則不再監控
if 3 restarts within 3 cycles then unmonitor

monit相關命令

monit # 啟動monit daemon
monit reload # 當更新了配置檔案需要過載
monit status # 檢視所有服務狀態
monit status nginx # 檢視nginx服務狀態
monit stop all # 停止所有服務
monit stop mongo # 停止mongo服務
monit start all # 啟動所有服務
monit start mongo # 啟動mongo服務

圖形化管理介面M/Monit

可以基於圖形化介面管理多個monit host,但是這個是要收費的,可以免費試用30天

相關文章

程式語言 最新文章