使用Monit监控本地进程
目前用它监控某些服务,失败自动重启,同时监控特定的日志文件,如果有变化,就发邮件报警
安装不细写了,网上好多
我先用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监控本地进程的更多相关文章
- 用monit监控系统关键进程
原地址: https://feilong.me/2011/02/monitor-core-processes-with-monit monit是一款功能强大的系统状态.进程.文件.目录和设备的监控软件 ...
- Windows zabbix监控远程进程实现机制
最近负责zabbix监控部署方面的工作,需要完成本地服务端监控远程虚拟机的运行状态(CPU.打开的进程等),与大家分享下我的实现方法. (1) 首先,需要实现记录zabbix客户端的进程的批处理:za ...
- 使用jvisualVm监控本地和远程的jvm
jvisualVm是jdk自带的可视化监控工具,功能很强大,可安装各种扩展插件.本篇不打算讲解如果使用详细的功能,只讲在windows环境怎么监控本地和远端(一般是无界面的linux系统)的java进 ...
- Confluence 6 使用 JConsole 监控本地 Confluence
如果你遇到了一些特定的问题,或者你仅仅是希望在一个很短的时间内监控你 Confluence 的运行,你可以使用本地监控.本地监控将会对你的服务器性能产生影响,所以我们并不推荐你使用本地监控来长时间的监 ...
- Zabbix 通过 JMX 监控 java 进程
参考: [ JMX monitoring ] [ Zabbix Java gateway ] [ JMX Monitoring (Java Gateway) not Working ] [ Monit ...
- 监控之--Nagios如何监控本地主机及本地服务
上一节内容介绍了Nagios监控服务在linux环境下的安装过程,本节内容将详细介绍如何使用已经安装的Nagios服务的一些配置文件的使用以及如何监控本地相关服务,如要完成对一台主机的监控Nagios ...
- ZeroMQ接口函数之 :zmq_inproc – ØMQ 本地进程内(线程间)传输方式
ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ——————————————————————————————————— ...
- 用飞信监控GoldenGate进程
监控GoldenGate进程 1) 在goldengate安装目录下建立文件ogginfo $vim ogginfo info all 2) 配置飞信报警 ...
- 实现chrome扩展启动本地进程 - 补充
实现chrome扩展启动本地进程 - 补充 标签: chrome扩展启动本地程序访问本地磁盘 2014-10-17 11:42 6753人阅读 评论(17) 收藏 举报 分类: Chrome Plu ...
随机推荐
- C# 文章导航
1. C#相关文章 1.1 C# 基础(一) 访问修饰符.ref与out.标志枚举等等 1.2 C# 基础(二) 类与接口 1.3 C# DateTime日期格式化 1.4 C# DateTime与时 ...
- iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...
- 【.net 深呼吸】启动一个进程并实时获取状态信息
地球人和火星人都知道,Process类既可以获取正在运行的进程,也可以启动一个新的进程.在79.77%应用场合,我们只需要让目标进程顺利启动就完事了,至于它执行了啥,有没有出错,啥时候退出就不管了. ...
- .NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍
Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器 ...
- JavaScript实现DOM对象选择器
目的: 根据传入的选择器类型选出第一个符合的DOM对象. ①可以通过id获取DOM对象,例如 $("#adom"); ②可以通过tagName获取DOM对象,例如 $(" ...
- Android Studio分类整理res/Layout中的布局文件(创建子目录)
res/layout中的布局文件太杂,没有层次感,受不了的我治好想办法解决这个问题. 前几天看博客说可以使用插件分组,可惜我没找到.知道看到另一篇博客时,才知道这个方法不能用了. 不能用插件,那就手动 ...
- BZOJ 1006 【HNOI2008】 神奇的国度
题目链接:神奇的国度 一篇论文题--神奇的弦图,神奇的MCS-- 感觉我没有什么需要多说的,这里简单介绍一下MCS: 我们给每个点记录一个权值,从后往前依次确定完美消除序列中的点,每次选择权值最大的一 ...
- 如何让我们的PHP在Jexus中跑起来
最近一段时间,经常看到不少的朋友在问,应该怎么设置才能够让Jexus支持PHP.其实,Jexus在很早之前就已经是可以支持PHP,像Apache或Nginx一样充当PHP的Web服务器的.不过由于没有 ...
- Visual Studio 2015 移动跨平台开发初体验
微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发. 还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息.显然,Xa ...
- 分享一个与ABP配套使用的代码生成器源码
点这里进入ABP系列文章总目录 分享一个与ABP配套使用的代码生成器源码 真对不起关注我博客的朋友, 因最近工作很忙, 很久没有更新博客了.以前答应把自用的代码生成器源码共享出来, 也一直没有时间整理 ...