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

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

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

什麼是monitlinux

Monit是一個跨平臺的用來監控Unix/linux系統(好比Linux、BSD、OSX、Solaris)的工具。Monit特別易於安裝,並且很是輕量級(只有500KB大小),而且不依賴任何第三方程序、插件或者庫。
Monit能夠監控服務器進程狀態、端口狀態,HTTP/TCP狀態碼、服務器資源變化、文件系統變更等等,根據這些變化,能夠設定郵件報警、重啓進程或服務。易於安裝、輕量級的實現以及強大的功能,讓Monit成爲一個理想的後備監控工具。
monit不像zabbix功能那麼強大,可是勝在輕量級,且具有基本全部的監控需求,比較適合中小型創業公司的使用。
官網:https://mmonit.com/monitnginx

 

安裝web

yum install monitmongodb

如何配置vim

使用yum安裝默認配置文件在:
/etc/monitrc # 全局參數配置文件
/etc/monit.d/ # 在這個目錄下新增每一個待監控服務的配置服務器

編輯全局參數配置文件/etc/monitrc,個人配置以下

vim /etc/monitrcapp

1tcp

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 "xxxxx@163.com" 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 xxxy@qq.com 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服務

 

monit mongod 報警文件

# 匹配進程名
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
 

 

 

http://www.jianshu.com/p/279a5edd3eda

相關文章
相關標籤/搜索