SysLog è molto utilizzato in apparecchi di rete, come router, switch, etc.. purtroppo windows non ha un servizio per leggere e archiviare questi messaggi.
Visto che mi serviva avere la possibilità di catturare alcuni syslog provenienti da più apparecchi, e che tutti quelli disponibili sono a pagamento, a cifre improponibili (considerando la semplicità del protocollo SysLog, ogni messaggio è una stringa di max 1024 caratteri, non ha una complessità tale da giustificare 100$ o più..), così ho implementato un semplice windows service, che non fa nient’altro che leggere tutti i messagi che arrivano e li scrive nel Windows EventLog.
Ovviamente si tratta di una BETA, in quanto il protocollo SysLog è a grandi linee standardizzato, ma ogni vendor implementa una sua versione custom… e ho avuto modo di testarlo solo con alcuni dispositivi (Cisco)
Visto che è ancora una beta non ho provveduto a creare un installer che si occupa di fare tutte le operazioni necessarie alla configurazione preliminare..
Ma sono pochi e semplici passi
- Windows Firewall (vale anche per tutti gli altri firewall):
Creare una regola per consentire l’ingesso di messaggi sulla porta 514 UDP
![]()
Copiate SysLog.dll e SysLogWinService.exe in una cartella ed assegnare i privilegi di LETTURA allo user NETWORK SERVICE
Ora lanciate aprite un prompt dei comandi come admin, ed eseguite
1. “cd C:\Windows\Microsoft.NET\Framework64\v2.0.50727” (cd C:\Windows\Microsoft.NET\Framework\v2.0.50727 se avete un server x86)
2. installutil “<path_of_service>”\SysLogWinService.exe (per disinstallare installutil /u “<path_of_service>”\SysLogWinService.exe)
Ok, il servizio è pronto, per farlo funzionare è necessario solo un piccolo trucco..
Andate nelle proprietà del servizio impostate logon as Locol System (solo per il primo avvio!), poi ripristinare NETWORK SERVICE, per gli avvii successivi:
![]()
Il primo avvio è necessario farlo come System, per poter creare il nuovo EventLog (di nome SysLog), l’EventLog, viene creato all’arrivo del primo messaggio.
dopo che è arrivato il primo messaggio e l’EventLog è stato creato stoppate il servizio e ripristinate log on as NETWORK SERVICE.
Avviate nuovamente il servizio. FINITO
Ora potete vedere nell’ EventViewer anche tutti i log Syslog
![]()
Ovviamente dovete configurare i dispositivi in modo che inviino i messaggi all’IP (o FQDN) dove è installato il SysLog Service.
Post originale e Download
Limitazione di responsabilità
Il servizio SysLogService viene fornito “così com’è” nello stato in cui si trova, senza nessuna garanzia esplicita od implicita, quindi non mi assumo nessuna responsabilità per eventuali perdite e/o danni a cose e/o persone, di qualunque genere e natura, diretti o indiretti, risultanti dall’uso e/o dal software. Pertanto non posso essere ritenuto responsabile per mafunzionamenti, mancanze di profitto, e più in generale qualsiasi problema legato al software poiché il singolo utente usa il prodotto sotto la sua diretta responsabilità.