Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83917
  • 博文数量: 26
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-27 23:29
文章分类

全部博文(26)

文章存档

2017年(9)

2016年(13)

2014年(4)

我的朋友

分类: Mysql/postgreSQL

2017-10-31 21:44:40

什么是monit

Monit是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。

  • Monit可以监控服务器进程状态、端口状态,HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、重启进程或服务。易于安装、轻量级的实现以及强大的功能,让Monit成为一个理想的后备监控工具。
  • monit不像zabbix功能那么强大,但是胜在轻量级,且具备基本所有的监控需求,比较适合中小型创业公司的使用。
  • 官网:

安装

yum install monit

如何配置

使用yum安装默认配置文件在: 
/etc/monitrc # 全局参数配置文件 
/etc/monit.d/ # 在这个目录下新增每个待监控服务的配置

先说说全局参数配置文件/etc/monitrc,我的配置如下:

#设置周期,每60秒自动检测一次 set daemon 60 #设置报警邮件发送格式 set mailserver smtp.exmail.qq.com port 25 USERNAME "test@outlook.com" PASSWORD "test" set mail-format { from: test@outlook.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 dev@outlook.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配置示例(利用端口监控)

在/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

阅读(1961) | 评论(0) | 转发(0) |
0

上一篇:java中获取时间戳的方法

下一篇:没有了

给主人留下些什么吧!~~