标签: monit

如何在monit中限制日志警报

嘿那里,我们在monit中有一个设置,我们监视大量的日志文件中的字符串"Exception".当monit看到这个字符串时,我们会收到一封电子邮件提醒.

有些时候,当我们的应用程序多次遇到相同的异常时,我们会非常严重地发送垃圾邮件.

一种解决方案是围绕我们记录异常的方式更加智能,但有时并不总是显而易见,这种类型的"经常重复"的异常可能会发生,直到它为时已晚并且我们已被垃圾邮件发送.

想知道是否有人知道任何限制监视警报的方法.例如,当同一个异常发生超过5次时,请停止提醒给定期间.

任何想法,将不胜感激.

monitoring monit

6
推荐指数
1
解决办法
499
查看次数

使用monit监控多个延迟的工作人员

我已经阅读了很多关于使用monit监视delayed_job的信息.实施非常简单直接.但是,如果一个工人还不够,我该如何设置monit以确保10个工人不断运行呢?

ruby-on-rails monit delayed-job

6
推荐指数
1
解决办法
2387
查看次数

使用Monit监视自定义守护进程

我有一个用PHP编写的守护进程.我使用以下命令来调用守护进程

php dojobs.php
Run Code Online (Sandbox Code Playgroud)

当我调用该命令时,守护进程无限运行,因为文件dojobs.php具有以下代码

while(true)
{
   code here
}
Run Code Online (Sandbox Code Playgroud)

我有以下问题:

  • 如何使用Monit(在CENTOS linux 5.5上)服务器监视此守护程序并在失败时重新启动它?
  • 我在守护进程中有以下代码:

    exec('nohup sendMail.php>/dev/null 2>&1&echo $!';,$ op);

(如何确保上面的nohup命令正常工作以及sendMail.php文件实际上是否正常工作?sendMail.php不是守护进程.它会发送一封电子邮件然后退出.)

非常感谢.

php ssh daemon monit

6
推荐指数
1
解决办法
609
查看次数

如何在monit中结合进程和文件检查?

摘要

如何在Monit中组合多个检查?我想检查进程活动和文件内容/时间戳.


漫长无聊的解释

我正在使用Monit守护进程来保持我的Bukkit Minecraft服务器.它做了几次检查.目前我有这个代码:

#!monit

check process bukkit pidfile /var/run/bukkit.pid # check if the java process is running
    start program = "/sbin/start bukkit"         # start with Upstart
    stop program  = "/sbin/stop bukkit"          # stop with Upstart

    if failed                                    # send a noop request to check if the server responses
        host cubixcraft.de port 20059 protocol http
        and request "/api/call?method=runConsoleCommand&args=%5B%22noop%22%5D&key=d9c7f3f6be0c92c1b2725f0e5a3352514cee0885c3bf7e0189a76bbaf2f4d7a7"
            with checksum e006695c8da58e03f17a305afd1a1a32
            timeout 20 seconds for 2 cycles
    then restart                                 # restart if it fails
Run Code Online (Sandbox Code Playgroud)

它有效...但它很慢.如果出现问题,我必须等待20秒才能终止服务器.但我需要超时,因为服务器会不时地进行一些重新加载(刷新配置,清理内存等),这会产生很小的滞后.没有timeout 20 seconds for …

ubuntu upstart monit

6
推荐指数
1
解决办法
1975
查看次数

Monit Ruby on Rails Sidekiq

我正在尝试为Sidekiq设置Monit.这是我到目前为止配置文件的内容:

 check process sidekiq_site
  with pidfile /var/www/site/tmp/pids/sidekiq.pid
  start program = "bundle exec sidekiq -C /var/www/site/config/sidekiq.yml -P /var/www/site/tmp/pids/sidekiq.pid" with timeout 90 seconds
  if totalmem is greater than 200 MB for 2 cycles then restart # eating up memory?
  group site_sidekiq
Run Code Online (Sandbox Code Playgroud)

问题是,当我运行monit reload时,我收到的消息是程序"bundle"不存在.

有人有解决方案吗?

monit ruby-on-rails-3 sidekiq

6
推荐指数
2
解决办法
7419
查看次数

Monit中存在文件的警报

我已经使用了monit一段时间,但我想报警文件是否存在.这是主文档中的相反用例.

这是医生说的:

IF [DOES] NOT EXIST [[<X>] <Y> CYCLES] THEN action [ELSE IF SUCCEEDED [[<X>] <Y> CYCLES] THEN action]
action is a choice of "ALERT", "RESTART", "START", "STOP", "EXEC" or "UNMONITOR".
Run Code Online (Sandbox Code Playgroud)

这给了我"如果文件丢失就吓坏了"的秘诀.但我想"如果文件在那里就吓坏了".行动的选择意味着没有"无所作为"的行动.我可以选择无操作,但对于"无所事事"的标准情况来说,这真的很愚蠢.

我猜到了一些基本情况:

IF EXISTS THEN alarm
IF EXIST THEN ALARM
Run Code Online (Sandbox Code Playgroud)

那么,有标准的方法IF IT DOES EXIST吗?

monit

6
推荐指数
1
解决办法
6999
查看次数

如何使用Rails默认webrick服务器monit?

我望着使用monit的工具,我的Rails app.As这是我第一次使用任何监视工具可以有人指导我或点我一些参考试图对我如何设置和使用的monit使用默认的Rails的WEBrick服务器工具(当地的发展环境)?我发现了以下引用,但它们都展示了针对Apache,Nginx等的monit配置.

环境:

  • Ubuntu 12.04
  • ruby 1.9.3dev(2011-09-23修订版33323)[i686-linux]
  • Rails 3.2.6
  • Monit版本5.3.2

谢谢,

Jignesh

monit ruby-on-rails-3 ubuntu-12.04

6
推荐指数
0
解决办法
152
查看次数

monit从启动程序命令中删除引号

我正在调试monit启动/停止程序语句.在我的/etc/monit.conf文件中,我的start program陈述如下:

check process node with pidfile /home/ec2-user/blah/node.pid
    start program = "/bin/su -c 'export APP_ENV=development; /home/ec2-user/local/bin/node /home/ec2-user/example.com/current/api.js start &> /tmp/monit.out ' "
    stop program = "/bin/su -c '/home/ec2-user/local/bin/node /home/ec2-user/example.com/current/api.js stop'""
Run Code Online (Sandbox Code Playgroud)

我在shell中测试过

$ sudo su
# env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/sh
# /bin/su -c '/usr/bin/env APP_ENV=development; /home/ec2-user/local/bin/node /home/ec2-user/example.com/current/api.js start &> /tmp/monit.out '
Run Code Online (Sandbox Code Playgroud)

运行它会在/tmp/monit.out文件中返回正确的输出:

Starting nodejs daemon...
nodejs daemon started. PID: 16408
Run Code Online (Sandbox Code Playgroud)

但是当我运行时sudo monit -v monitor node,它会显示一个不同的命令,除了内部单引号被删除之外:

The service list contains the following …
Run Code Online (Sandbox Code Playgroud)

linux bash amazon-ec2 monit

6
推荐指数
1
解决办法
1473
查看次数

Node.js OpsWorks层控制台日志

我有一个带有Node.js Layer和Node.js应用程序的Opsworks堆栈.我想知道是否有人知道ubuntu 14.04LTS实例的哪个位置正在打印我的应用程序的控制台日志.我知道opsworks使用monit来运行我的应用程序,但我不确定它输出日志的位置.

谢谢!

monit node.js console.log aws-opsworks

6
推荐指数
1
解决办法
1210
查看次数

Monit进程'mysql'未被监视

任何想法为什么monit不会在这个设置中监视mysql ??? 我已经完成了我在这里找到的所有解决问题但无济于事的事情.

这些是我的版本:

Distributor ID: Ubuntu Description: Ubuntu 14.04.2 LTS Release: 14.04 Codename: trusty

mysql --version Ver 14.14 Distrib 5.5.41, for debian-linux-gnu (x86_64) using readline 6.3

monit -V This is Monit version 5.6

我尝试了这两种设置:

check process mysql with pidfile /var/run/mysqld/mysqld.pid group database start program = "/etc/init.d/mysql start" stop program = "/etc/init.d/mysql stop" #if failed host 127.0.0.1 port 3306 protocol mysql then restart if failed unixsocket /var/run/mysqld/mysqld.sock protocol MYSQL then restart

得到这个:

monit status Process 'mysql' status Not monitored monitoring …

mysql linux ubuntu monit

6
推荐指数
2
解决办法
2697
查看次数