2012-11-16 13 views
5

La situazione è: abbiamo un numero di istanze dell'applicazione funzionanti, sviluppate su C#. Vogliamo che si colleghino in un posto (che potrebbe essere un file). Per quanto ne so, log4net e NLog possono inviare registri via TCP. Il problema è: come ascoltare questi registri e memorizzarli? Esiste una soluzione funzionante per raccogliere questi registri?Come organizzare la registrazione centralizzata?

risposta

1

In NLog si potrebbe considerare il target Database . NLog ha altri obiettivi che potresti prendere in considerazione, incluso lo LogReceiverService, che invia messaggi di registrazione a un servizio WCF o servizio Web, in cui possono essere registrati su qualsiasi target NLog, incluso in un file.

In log4Net è possibile considerare AdoNetAppender. Esempi di configurazione here.

Noterò che, in passato, ho implementato un LoggingService basato su WCF (che è in definitiva simile a LogReceiverService di NLog), che ha funzionato bene per me.

0

È preferibile utilizzare la funzione Approfondimenti sulle applicazioni fornita da MS. può essere utilizzato in qualsiasi lingua, non solo nelle lingue Microsoft. Le informazioni sull'applicazione sono divise in 2 parti. SDK per strumentazione telemetria (registra i dati) e visualizzazione di questi registri in dashboard azzurre. SDK è opensource e devi pagare per gli strumenti di visualizzazione azzurri. se non si vuole pagare quindi utilizzare insgists applicazione nel codice e inviare i log per pila elastica che è open source

la migliore architettura

Insights

MS applicazione - per strumentazione tronchi

Apache Kafka - agisce come un oleodotto e stoarge temporaneo, inviare i log di Kafka

logstash-- un filtro con il quale è possibile filtrare il login

elasticsearch - un no sql db a dove i dati filtrati s tored

kibana - dash boards che estrae i dati dall'elastico e danno visioni.

inoltre è possibile collegare l'output spark a kafka per attivare avvisi in forma di e-mail, messaggi di testo.

Problemi correlati