Perché non monta come questa sintassi


1

Sto cercando di installare Monit per il mio server Debian. Ho un file monitrc principale in /etc/monitcui alla fine ha include /etc/monit/conf.d/*.

In conf.d ho due file per i miei server 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 corro monit -t(per testare la sintassi della configurazione) ottengo:

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

Lo stesso errore si verifica per il file di configurazione mysql se cancello / sposto il file 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 il contenuto di 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

Io ho:

  • ho provato molte varianti del file conf
  • ha esaminato la documentazione 20 volte
  • sostituzione in un file mysqld.conf da un repository pubblico di file di configurazione di Monit comuni e rimozione del file di configurazione di apache2
  • guardato i file in esadecimale, non ci sono personaggi divertenti.
  • provato sia le schede che gli spazi.
  • rimuovendo tutto tranne la prima riga.
  • ricontrollato che /var/run/mysqld/mysqld.pideffettivamente esiste.
  • assicurarsi che le autorizzazioni su entrambi monitrce su entrambi i file conf.d siano 0700.

A questo punto sono completamente perplesso su ciò che potrebbe causare il messaggio di errore (non molto utile), /etc/monit/conf.d/apache2.conf:1: Error: syntax error 'check process '


Sembra che tu non stia utilizzando nessuna delle posizioni predefinite per monitrc. Hai eseguito monit -c insert_your_monitrc_path_hereprima di eseguire monit -t?
Timothy Martin,

@TimothyMartin L'ho appena provato, nessun cambiamento. Sembra che Monit stia trovando i file, dal momento che riporta la loro posizione in modo accurato ed è in grado di leggerli.
Shelvacu,

Sto avendo lo stesso identico problema qui.
TCB13

Risposte:


1

Vecchia domanda, e non so se è correlata, ma non sono sicuro che tu possa scrivere then restart and alert.

Abbastanza sicuro alertè già implicito come parte di restartcomunque e quindi non necessario.


1

Ho riscontrato questo problema oggi. Sono stato in grado di rintracciare il problema in un secondo file di configurazione di monitoraggio. A partire dalla 5.17.1 sembra che se un file di configurazione non si chiude correttamente genererà immediatamente un errore di sintassi quando tenta di caricare il file successivo.

Nel mio caso ho avuto un avviso che si è concluso con repeat every 10e mancavano i "cicli" dopo il numero. Anche se questo file non era valido, stava causando la visualizzazione di un file completamente diverso come non valido.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.