用monit监控mongodb和rabbitmq
来源:互联网 发布:linux 效率工具 编辑:程序博客网 时间:2024/06/11 13:52
什么是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,我的配置如下:
#设置周期,每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:appset 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 alertif 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 alertif 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
可以基于图形化界面管理多个monit host,但是这个是要收费的,可以免费试用30天
- 用monit监控mongodb和rabbitmq
- 用monit监控系统关键进程<转>
- 监控软件Monit
- monit监控Linux系统
- 使用monit监控storm
- monit监控tomcat service
- Monit监控软件安装
- Monit的web监控界面
- Monit监控工具的使用
- 使用monit监控rails应用
- 使用 Monit 监控PHP 服务中遇到的坑和解决办法
- monit 监控并自动重启服务
- Linux主机监控工具munin monit ntop
- 服务器监控软件monit部署实践
- 使用monit搭建一个监控系统
- 使用monit搭建一个监控系统
- 教你使用monit监控Linux系统
- monit监控freeswitch是否运行正常
- 【BZOJ 1090】[SCOI2003]字符串折叠
- 数据结构与算法Java版——LCS最长子序列
- 来自一个程序员小白的“呐喊”
- TextInputLayout的简单使用
- yfk
- 用monit监控mongodb和rabbitmq
- codevs 3731 寻找道路
- Centos系统通过tar.gz包安装Mysql5.7
- 【10月31日】机器学习实战(二)决策树:隐形眼镜数据集
- 机器学习--常见神经网络及深度神经网络概述
- eclipse配置maven + 创建maven项目
- java.sql.SQLException: Field 'id' doesn't have a default value解决方法
- BeanListHandler:(常用)将多条记录封装到一个装有JavaBean的List集合中;MapHandler: 将一条记录封装到一个Map集合中,Map的key是列名,Map的value就是
- POJ-3744-Scout YYF I