Newsgroup: it.comp.os.linux.sys
Titolo: Problemi con syslog-ng

Salve a tutti.
Ho creato uno script in bash stupido:
#!/bin/bash
logger "test2122"
In syslog-ng.conf ho la seguente configurazione:
destination df_backup {
  file("/var/log/backup.log");
  };
filter f_backup {
  program(backup);
  };
log {
  source(s_all);
  filter(f_backup);
  destination(df_backup);
  };
Il log proveniente dal mio script viene filtrato e scritto sul file di
destinazione indicato.
Fin qui tutto ok.
Rinomino lo script da backup a backupmt e configuro syslog-ng.conf
cosi:
destination df_backupmt {
  file("/var/log/backupmt.log");
  };
filter f_backupmt {
  program(backupmt);
  };
log {
  source(s_all);
  filter(f_backupmt);
  destination(df_backupmt);
  };
In /var/log/backupmt.log non viene scritto nulla!
I permessi del file solo gli stessi di /var/log/backup.log.
Qualcuno mi sa spiegare perche' cosi non funziona?
C'e' qualche vincolo nel nome?
Questa cosa mi sta facendo sclerare.
Grazie, Alessio.

 Grazie, Alessio.
non conosco syslog-ng (non lo uso) ma... gli hai fatto rileggere la conf?
Stefano ed i pensieri post-prandiali

Grazie per la risposta.
Si. Stoppato e riavviato il servizio ad ogni modifica.
Alessio


Non c'e proprio nessuno che voglia darmi una mano?
Auguri a tutti!

 Auguri a tutti!
Uno strace di syslog-ng greppato per backup non e` d'aiuto?

 Uno strace disyslog-nggreppato per backup non e` d'aiuto?
Grazie per la risposta.
Dunque non sono fortissimo con strace.
L'ho eseguito con output su due file diversi (uno per syslog-ng
lancuiando backup e l'altro lanciando backupmt) ma facendo un diff non
ho notato cose particolari.
Ho invece notato qualche comportamento diverso in funzione del
passaggio del parametro -t a logger.
Devo fare qualche test in piu' per capire la discriminante, ma sembra
che il -t influenzi il risultato del filtro.
Appena possibile faccio sapere.
Alessio

 Dunque non sono fortissimo con strace.
Neanch'io, ma l'idea era di vedere se backupmt.log veniva aperto e/o che 
cosa invece e la stessa cosa per il file di configurazione (se ti apriva 
e leggeva quello che ti aspettavi e dove c'erano le opzioni che non 
sembrava seguire).

 C'e' qualche vincolo nel nome?
Probabilmente perche` lo script parte con l'utente backup. In questo
caso, logger invia al syslog un messaggio del genere, indipendentemente
dal nome del file:
Dec 28 01:18:54 backup: test2122
In questo caso, non e` difficile immaginare che la direttiva program()
prenda in considerazione il valore riportato subito dopo la data, e dei
veloci test sembrano confutare tale ipotesi. La soluzione a questo
problema e` semplice: basta impostare un tag al messaggio inviato da
logger ed il filtro funziona correttamente (man logger per vedere come
fare)
Enrico

 Enrico
Quindi forse era semplicemente il nome dell'utente a creare il
"problema", interessante.
A questo proposito vale la pena valutare qualche altro demone per i log
o syslog-ng va ancora bene?

 o syslog-ng va ancora bene?
Posto che il tuo problema si sarebbe presentato anche con altri syslog
server (in quanto non e` come ricevevano i messaggi, ma come gli
venivano inviati), l'unico motivo per passare da syslog-ng a
qualcos'altro e` perche` quel qualcos'altro ha funzioni che syslog-ng
non ha. In quest'ottica, l'unica alternativa sarebbe rsyslog, che ha in
piu` il fatto di supportare la scrittura su RDBMS (funzionalita` che
syslog-ng ha nella versione a pagamento o che viene emulata in un modo
un po' barbaro con i socket). Il problema e` che, personalmente, ho
trovato rsyslog talmente infimo da configurare che ho preferito tornare
sui miei passi ed usare syslog-ng
Enrico