目前用它监控某些服务,失败自动重启,同时监控特定的日志文件,如果有变化,就发邮件报警

安装不细写了,网上好多

我先用cat /proc/version看了下我的系统是el6的,于是wget http://pkgs.repoforge.org/monit/monit-5.5-1.el6.rf.x86_64.rpm

启动什么的就不管了,直接上配置文件:

set daemon   

set logfile /var/monit/monit.log

set idfile /var/monit/id

set statefile /var/monit/state

  set mailserver smtp.xxxxxxxxx.com port  USERNAME "xxxxxxxx@xxxxxxxx.cn" PASSWORD "xxxxxxxx"
set mail-format {
from: xxxxxx@xxxxxxx.cn
subject: monit alert -- $EVENT $SERVICE
message: $EVENT Service $SERVICE
Date: $DATE
Action: $ACTION
Host: $HOST
Description: $DESCRIPTION } set alert xxxxxxxxx@xxxxxxxx.com with reminder on cycles set httpd port and
use address 192.168.1.45
allow xxxxx:*****
allow @users readonly include /etc/monit.d/*

两个例子:

check process nginx with pidfile /var/run/nginx/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
if failed host localhost port protocol http
then restart

和文件变化的监控

check file test.log with path /tmp/test.log
if changed size then alert

##########################################################

今天又测试了下监控目录变化:

从github上找了下代码,代码里的文档比官网上的细多了。。。。

check directory root with path /root
if changed timestamp then alert
alert ****@******.com

然后干脆把rocket的监控也加上了

check host 192.168.1.45 with address 192.168.1.45
#check system 192.168.1.45
# if failed icmp type echo count with timeout seconds then alert
if failed host 192.168.1.45 port type tcp then alert
if failed host 192.168.1.45 port type TCP then alert
alert xxxxxxx@xxxxxxxxxx.com

##########################################################

#从http://blog.chinaunix.net/uid-21516619-id-1825022.html copy 过来的tomcat监控

check process tomcat with pidfile /var/run/catalina.pid     # 这个要另外说明【2】

start program = "/etc/init.d/tomcat start"              # 设置启动命令

stop program  = "/etc/init.d/tomcat stop"               # 设置停止命令

if 9 restarts within 10 cycles then timeout             # 设置在10个监视周期内重

# 启了9次则超时,不再监视

# 这个服务。原因另外说明【3】

if cpu usage > 90% for 5 cycles then alert          # 如果在5个周期内该服务

# 的cpu使用率都超过90%

# 则提示

# 若连续5个周期打开url都失败(120秒超时,超时也认为失败)

# 则重启服务

if failed url http://127.0.0.1:4000/ timeout 120 seconds for 5 cycles then restart

if failed url http://127.0.0.1:5000/ timeout 120 seconds for 5 cycles then restart

使用/var/run/catalina.pid这个pid文件来检查tomcat这个服务(服务名可以随便起),tomcat进程默认是不使用pid文件的,pid文件需要显式为tomcat设置,可以打开tomcat目录下的bin目录,打开catalina.sh文件,在开头(但不是第一行)处加入:

CATALINA_PID=/var/run/catalina.pid

即可指定pid文件,然后重启tomcat,这样就可以monit的配置中指定pid文件了。

参考:

http://blog.chinaunix.net/uid-24774106-id-3705291.html

http://blog.csdn.net/fan_hai_ping/article/details/41733783

http://blog.chinaunix.net/uid-21516619-id-1825022.html

https://github.com/arnaudsj/monit

http://mmonit.com/monit/

使用Monit监控本地进程的更多相关文章

  1. 用monit监控系统关键进程

    原地址: https://feilong.me/2011/02/monitor-core-processes-with-monit monit是一款功能强大的系统状态.进程.文件.目录和设备的监控软件 ...

  2. Windows zabbix监控远程进程实现机制

    最近负责zabbix监控部署方面的工作,需要完成本地服务端监控远程虚拟机的运行状态(CPU.打开的进程等),与大家分享下我的实现方法. (1) 首先,需要实现记录zabbix客户端的进程的批处理:za ...

  3. 使用jvisualVm监控本地和远程的jvm

    jvisualVm是jdk自带的可视化监控工具,功能很强大,可安装各种扩展插件.本篇不打算讲解如果使用详细的功能,只讲在windows环境怎么监控本地和远端(一般是无界面的linux系统)的java进 ...

  4. Confluence 6 使用 JConsole 监控本地 Confluence

    如果你遇到了一些特定的问题,或者你仅仅是希望在一个很短的时间内监控你 Confluence 的运行,你可以使用本地监控.本地监控将会对你的服务器性能产生影响,所以我们并不推荐你使用本地监控来长时间的监 ...

  5. Zabbix 通过 JMX 监控 java 进程

    参考: [ JMX monitoring ] [ Zabbix Java gateway ] [ JMX Monitoring (Java Gateway) not Working ] [ Monit ...

  6. 监控之--Nagios如何监控本地主机及本地服务

    上一节内容介绍了Nagios监控服务在linux环境下的安装过程,本节内容将详细介绍如何使用已经安装的Nagios服务的一些配置文件的使用以及如何监控本地相关服务,如要完成对一台主机的监控Nagios ...

  7. ZeroMQ接口函数之 :zmq_inproc – ØMQ 本地进程内(线程间)传输方式

    ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ——————————————————————————————————— ...

  8. 用飞信监控GoldenGate进程

    监控GoldenGate进程 1)         在goldengate安装目录下建立文件ogginfo $vim ogginfo  info all 2)         配置飞信报警       ...

  9. 实现chrome扩展启动本地进程 - 补充

    实现chrome扩展启动本地进程 - 补充 标签: chrome扩展启动本地程序访问本地磁盘 2014-10-17 11:42 6753人阅读 评论(17) 收藏 举报  分类: Chrome Plu ...

随机推荐

  1. 我为什么要写LeetCode的博客?

    # 增强学习成果 有一个研究成果,在学习中传授他人知识和讨论是最高效的做法,而看书则是最低效的做法(具体研究成果没找到地址).我写LeetCode博客主要目的是增强学习成果.当然,我也想出名,然而不知 ...

  2. 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】

    说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...

  3. ExtJS 4.2 业务开发(三)数据添加和修改

    接上面的船舶管理业务,这里介绍添加和修改操作. 目录 1. 添加操作 2. 修改操作 3. 在线演示 1. 添加操作 1.1 创建AddShipWindow.js 在业务中的view目录下创建一个Ad ...

  4. [.NET] 利用 async & await 进行异步 IO 操作

    利用 async & await 进行异步 IO 操作 [博主]反骨仔 [出处]http://www.cnblogs.com/liqingwen/p/6082673.html  序 上次,博主 ...

  5. TFS 测试用例步骤数据统计

    TFS系统集成了一套BI系统,基于SQL Server的Analysis Service进行实现的.通过这几年的深入使用,能够感触到这个数据数据仓库模型是多么的优秀,和微软官方提供的数据仓库示例Adv ...

  6. Java实现FTP文件与文件夹的上传和下载

    Java实现FTP文件与文件夹的上传和下载 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制 ...

  7. 在redis中使用lua脚本让你的灵活性提高5个逼格

    在redis的官网上洋洋洒洒的大概提供了200多个命令,貌似看起来很多,但是这些都是别人预先给你定义好的,但你却不能按照自己的意图进行定制, 所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了 ...

  8. SSD框架训练自己的数据集

    SSD demo中详细介绍了如何在VOC数据集上使用SSD进行物体检测的训练和验证.本文介绍如何使用SSD实现对自己数据集的训练和验证过程,内容包括: 1 数据集的标注2 数据集的转换3 使用SSD如 ...

  9. 跨平台的 .NET 运行环境 Mono 3.2 新特性

    Mono 3.2 发布了,对 Mono 3.0 和 2.10 版本的支持不再继续,而且这两个分支也不再提供 bug 修复更新. Mono 3.2 主要新特性: LLVM 更新到 3.2 版本,带来更多 ...

  10. 关于asp.net利用mono部署到Linux上的一些说明

    linuxdot.net社区群:102732979(如果你认为你已经在.NET跨平台方面有足够的经验,请参加这个群:103810355). 其中有各种大神,嘿嘿,如果你有问题可以来咨询,完全无偿的免费 ...