erro de sintaxe monit: “se 5 reinicia dentro de 5 ciclos, em seguida, alerta”

2

Estou tentando obter um alerta do monit se ele falhar em reiniciar um serviço cinco vezes, mas recebo um erro de sintaxe

/etc/monit/monit.d/engine.conf:5: Error: syntax error 'alert'

alguma ideia do que há de errado com isso?

/ etc / monit / monitrc:

set daemon  120
set mailserver localhost

set eventqueue
    basedir /var/monit  # set the base directory where events will be stored
    slots 100           # optionaly limit the queue size


set httpd port 2812
  allow localhost

set logfile syslog

set alert root@localhost

include /etc/monit/monit.d/*

/etc/monit/monit.d/engine.conf (o único arquivo em monit.d):

check process engine with pidfile /var/run/engine.pid
   group engine
   start program = "/etc/init.d/engine start"
   stop  program = "/etc/init.d/engine stop"
   if 5 restarts within 5 cycles then alert

versão:

# monit -V
This is monit version 4.10.1
    
por Omry 29.04.2010 / 22:15

5 respostas

2

Parece que o suporte para isso foi adicionado em monit 5.1
Do registro de alterações no link :

Version 5.1

NEW FEATURES AND FUNCTIONS:

It is now possible to define any action for the restart timeout rule.
  Multiple restart timeout rules can also be defined. Example:
  if 3 restarts within 5 cycles then exec "/foo/bar"
  if 8 restarts within 10 cycles then unmonitor

Eu estava tentando usar exatamente a mesma sintaxe que você (pelo mesmo motivo), e descobri que estava trabalhando em um servidor, mas outro. Quando comparei versões, descobri que uma era 5.2.5 e a outra era 4.10.1

Portanto, a resposta parece ser atualizar para pelo menos 5.1

    
por 11.08.2011 / 14:29
0

Eu acho que parece bem. Você já tentou redigitar essa linha para descartar quaisquer caracteres ocultos que atrapalham a linha?

    
por 29.04.2010 / 22:27
0

Você tem um set alert <email_address> definido antes desta configuração?

    
por 30.04.2010 / 22:01
0

Ok, encontrei o erro. alert não é um evento válido e você precisa especificar um evento que gerará um alerta. Sem um evento específico, o monit não saberia o que dizer para você.

Lista de eventos da página de manual:

This is the list of events you can use in a mail-filter: uid, gid, size, nonexist, data, icmp, instance, invalid, exec, changed, timeout, resource, checksum, match, timestamp, connection, permission

No seu caso, eu recomendo exec. A lista completa de mensagens é:

    Event:    | Failure state:          | Recovery state:
    ---------------------------------------------------------------
    CHANGED   | "Changed"               | "Changed back"
    CHECKSUM  | "Checksum failed"       | "Checksum passed"
    CONNECTION| "Connection failed"     | "Connection passed"
    DATA      | "Data access error"     | "Data access succeeded"
    EXEC      | "Execution failed"      | "Execution succeeded"
    GID       | "GID failed"            | "GID passed"
    ICMP      | "ICMP failed"           | "ICMP passed"
    INSTANCE  | "Monit instance changed"| "Monit instance changed not"
    INVALID   | "Invalid type"          | "Type passed"
    MATCH     | "Regex match"           | "No regex match"
    NONEXIST  | "Does not exist"        | "Exists"
    PERMISSION| "Permission failed"     | "Permission passed"
    RESOURCE  | "Resource limit matched"| "Resource limit passed"
    SIZE      | "Size failed"           | "Size passed"
    TIMEOUT   | "Timeout"               | "Timeout recovery"
    TIMESTAMP | "Timestamp failed"      | "Timestamp passed"
    UID       | "UID failed"            | "UID passed"

Boa sorte,
João Miguel Neves

    
por 03.05.2010 / 08:42
0

Eu notei algo estranho com o parâmetro alert e unmonitor em monit 5.4-2: Se você usar o parâmetro unmonitor na linha de configuração do alerta, isso gerará um erro de sintaxe:

alert [email protected] on { uid, gid, unmonitor
    } with the mail-format { subject: Alarm! }

Ao reiniciar o monit, você recebe:

Error: syntax error 'unmonitor'

Eu resolvi esse problema removendo o unmonitor em argumentos:

alert [email protected] on { uid, gid
    } with the mail-format { subject: Alarm! }

Não consigo ver a sintaxe mudar ... Estranho ... Não é?

    
por 26.11.2013 / 12:18

Tags