1. 程式人生 > >用monit監控mongodb,崩潰後自動重啟mongdb

用monit監控mongodb,崩潰後自動重啟mongdb

開發十年,就只剩下這套架構體系了! >>>   

用monit監控mongodb,崩潰後自動重啟mongdb

Posted on 2017-12-17 19:45 季楓 閱讀(660) 評論(0) 編輯 收藏

什麼是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,我的配置如下

vim /etc/monitrc

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

#設定週期,每60秒自動檢測一次

set daemon 30

 

#設定報警郵件傳送格式

set mailserver smtp.163.com port 25 USERNAME "[email protected]" PASSWORD "xxxxxx"

set mail-format {

          from: xxxx@163.com

          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配置示例(利用埠監控)

1

2

3

4

5

6

7

8

9

10

#匹配程序名

CHECK PROCESS mongo MATCHING mongo

#配置服務啟動和重啟命令

start program = "/usr/bin/sudo service mongodb start"

restart program = "/usr/bin/sudo service mongodb 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

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服務

 

http://www.jianshu.c