Elenco di tutti i messaggi syslog?


1

Voglio essere in grado di filtrare voci specifiche nel Syslog sul mio computer Linux. Ad esempio, vorrei essere in grado di filtrare per errore o esito positivo dell'autenticazione dell'utente o per l'accesso a informazioni sensibili, ecc.

Credo di dover iniziare ottenendo un elenco di tutti i possibili messaggi Syslog, come questo , ma per i messaggi Syslog.


Perché? Questo sembra essere un problema X-> Y , dove in realtà non ci hai detto cosa stai cercando di fare. Pertanto, non otterrai mai una risposta adeguata.
djsmiley2k,

Voglio filtrare i miei messaggi syslog per ottenere solo quelli a cui sono interessato. Ad esempio, vorrei ottenere i messaggi syslog che affermano che un'autenticazione utente non è riuscita o è riuscita.
M. Brbr,

1
Grep è tuo amico in questo caso. È possibile filtrare solo per i messaggi a livello di autenticazione, tuttavia i livelli di syslog si basano su applicazioni che accedono ai livelli giusti o si dispone di filtri per assicurarsi che tutto sia ai livelli giusti. Personalmente chiamerei semplicemente il syslog e poi grep per quello di cui ho bisogno:grep /var/log/messages 'logged'
djsmiley2k,

Tieni presente che alcuni degli eventi che stai richiedendo sono un po 'sfocati. Gli errori di autenticazione vengono registrati da PAM, tranne quando non utilizzano PAM (gli accessi con password lo fanno, ma gli accessi con chiave pubblica SSH no). Le azioni dell'amministratore sono così tante e varie che è praticamente impossibile avere un singolo "evento" per tutti.
Grawity,

Risposte:


2

Un tale elenco è impossibile, poiché a differenza degli eventi di Windows (che hanno un elenco statico di ID, un modello specifico per ciascun ID e compilano solo i parametri) i messaggi syslog sono semplicemente testo in formato libero.

Enumerare possibili messaggi anche per un singolo programma richiederebbe la ricerca del suo codice sorgente per le syslog()chiamate, che potrebbero essere indirettamente effettuate tramite funzioni personalizzate, attraverso varie librerie (es. Log4net) o non usare affatto syslog (es. Vari programmi usano funzioni systemd-journal) . Ciò richiede conoscenze specifiche sul codice sorgente di ciascun programma e non può essere facilmente automatizzato alla scala di un'intera distribuzione Linux - come dovrebbe essere, poiché le nuove versioni potrebbero avere messaggi diversi.

(Il journal di systemd ha ID dei messaggi opzionali e file "catalog" contenenti descrizioni e traduzioni. È ancora attivo e l'utilizzo è raro.)


In realtà anche gli elenchi di messaggi di eventi di Windows coprono solo i componenti del sistema operativo standard e forse cose come MS Office. Non possono eventualmente coprire tutti i messaggi che software di terze parti potrebbe log, che possono installare i propri cataloghi e ID evento, o anche inviare messaggi a forma libera.


Tuttavia, posso ottenere un tale elenco per eventi "di base" come l'autenticazione o un log in una nuova sessione?
M. Brbr,

@ M.Brbr: potresti voler esaminare Logwatch, che è un popolare analizzatore di syslog e viene fornito con schemi predefiniti per tali eventi.
Grawity,

Il Visualizzatore eventi di Windows consente alle applicazioni di aggiungersi al dizionario e ai modelli in modo che le applicazioni possano scrivere i loro registri nello stesso elenco e possano essere filtrate e interrogate come eventi standard. Ci sono messaggi di errore che vedrai di volta in volta nel Visualizzatore eventi quando un'applicazione ha segnalato un errore ma il sistema operativo non ha alcun contesto o riferimento sull'errore, in pratica l'installazione dell'applicazione non ha fornito al sistema operativo le informazioni necessario per interpretare gli errori dell'applicazione, ma l'applicazione tenta ancora di segnalare errori al sistema operativo.
music2myear,
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.