zoukankan      html  css  js  c++  java
  • 用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

  • 相关阅读:
    src和href属性的区别
    cookie, sessionStorage和localStorage的区别
    C# base64 转 byte[]
    C# 中字符串string和字节数组byte[]的转换
    C#获取当前路径的七种方法 【转载】
    C# 读取大文件 (可以读取3GB大小的txt文件)
    伪装文件到图片工具
    nmap命令扫描存活主机
    .deb文件如何安装,Ubuntu下deb安装方法图文详解
    kali修改更新源及更新
  • 原文地址:https://www.cnblogs.com/jifeng/p/8053017.html
Copyright © 2011-2022 走看看