Por que não monit como esta sintaxe

1

Estou tentando configurar monit para o meu servidor Debian. Eu tenho um arquivo monitrc principal em /etc/monit , que no final tem include /etc/monit/conf.d/* .

Em conf.d eu tenho dois arquivos para meus servidores apache e mysql:

# ls -al /etc/monit/conf.d
total 16
drwxr-xr-x 2 root root 4096 Apr 15 16:03 .
drwxr-xr-x 3 root root 4096 Apr 15 16:02 ..
-rwx------ 1 root root  272 Apr 15 15:38 apache2.conf
-rwx------ 1 root root  264 Apr 15 15:47 mysql.conf

Quando executo o monit -t (para testar a sintaxe de configuração), obtenho:

/etc/monit/conf.d/apache2.conf:1: Error: syntax error 'check process '

O mesmo erro ocorre para o arquivo de configuração mysql se eu excluir / mover o arquivo apache2.conf.

# cat apache2.conf
check process apache2 with pidfile /var/run/apache2.pid
  start program = "/usr/sbin/service apache2 start"
  stop program = "/usr/sbin/service apache2 stop"
  if failed
    host localhost
    port 80
    protocol http
    request "/catalog/"
    then restart and alert

E o conteúdo de mysql.conf

# cat mysql.conf


  check process mysqld with pidfile /var/run/mysqld/mysqld.pid
    group database
    start program = "/usr/sbin/service mysqld start"
    stop program = "/usr/sbin/service mysqld stop"
    if failed host localhost port 3306 protocol mysql then restart and alert

Eu tenho:

  • tentou muitas variações do arquivo conf
  • analisamos a documentação 20 vezes por
  • substituindo em um arquivo mysqld.conf de um repositório público de configuração de monit comum arquivos e removendo o arquivo de configuração apache2
  • examinou os arquivos em hexadecimal, não há personagens engraçados.
  • tentou as duas guias e espaços.
  • removendo tudo exceto a primeira linha.
  • confirmou que /var/run/mysqld/mysqld.pid existe de fato.
  • certificou-se de que as permissões em monitrc e no arquivo conf.d são de 0700.

Neste ponto, estou completamente perplexo com o que poderia estar causando a (não muito útil) mensagem de erro, /etc/monit/conf.d/apache2.conf:1: Error: syntax error 'check process '

    
por Shelvacu 16.04.2015 / 01:21

2 respostas

1

Pergunta antiga, e não sei se está relacionada, mas não tenho certeza se você pode escrever then restart and alert .

Tenho certeza de que alert já é implícito como parte de restart e, portanto, não é necessário.

    
por 05.04.2016 / 16:34
1

Eu me deparei com essa questão hoje. Consegui rastrear o problema até um segundo arquivo de configuração monit. Parece a partir do 5.17.1 que, se um arquivo de configuração não fechar corretamente, ele lançará um erro de sintaxe imediatamente quando tentar carregar o próximo arquivo.

No meu caso, eu tive um alerta que terminou com repeat every 10 e estava faltando os "ciclos" após o número. Mesmo que este arquivo fosse inválido, estava causando um arquivo completamente diferente para aparecer como inválido.

    
por 08.06.2016 / 20:41