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


什么是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

#設置周期,每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配置示例(利用端口監控)

#匹配進程名
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.com/p/279a5edd3eda


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM