
Raccolta di Synology LOG in Elasticsearch e visualizzazione in Grafana
Bene, Un altro post riguarda la raccolta dei log e la loro visualizzazione per capire cosa sta succedendo nella nostra infrastruttura, oggi abbiamo un documento dove vedremo come inviare i Log di una Synology al nostro Logstash per poi archiviarli in Elasticsearch e infine visualizzarli con Grafana.
Così, Bastone alla scimmia che è fatto di gomma! (Sono così vecchio, Yogurt…) Va! Se abbiamo un NAS del produttore Synology e vogliamo sapere cosa sta succedendo al suo interno, La cosa migliore è buttarsi sempre nei tronchi, Ma è un po' noioso leggere righe e righe di testo, che non sempre vanno in tempo reale, che facciamo fatica a capire… Beh, questo è quello che (e altre cose) abbiamo Elastic Stack, dove Synology invierà i Registri a Logstash, Lì li riceveremo e li tratteremo, separare le informazioni che ci interessano in diversi campi e poi memorizzarle in Elasticsearch. Per visualizzare i dati possiamo sempre utilizzare Kibana, ma sono più un fan di Grafana, Mi dispiace, Quindi, qualunque sia la scelta, Sarai in grado di visualizzare questi dati raccolti in diversi formati, nelle tabelle, Grafica, Formaggi, Mappa del mondo… ecco come interpreterai ciò che accade in Synology, chi vi accede o tenta di farlo, e cosa fa… Potrai vederlo come al solito, in tempo reale o in modalità storica per effettuare query. Avviato!
Per prima cosa dobbiamo ovviamente avere installato la parte Elastic Stack, Cosa è statoRegistro, Ricerca elastica eKibana; allora sarebbe quello di istruire la nostra Synology a inviare i registri a Logstash, al porto di nostra scelta, Ne inventeremo uno, dal “Centro di registrazione" > “Invio dei registri” > Abilitiamo “Invio dei log a un server syslog”, indichiamo l'IP di Logstash e la porta e TCP o UDP di vostra scelta. E applichiamo le modifiche.
Immissione { TCP { tipo => "Synologia" porta => "1516" tag => ["Synologia"] } } filtro { se [digitare] == "Synologia" { Grok { corrispondenza => { "Messaggio" => [ "^<%{POSINT:syslog_pri}>%{SYSLOGTIMESTAMP:syslog_timestamp} %{NOME HOST:host_title} Evento WinFileService: %{PAROLA:Azione}, Sentiero: %{DATI GREEDYDATA:Sentiero}, File/Cartella: %{PAROLA:path_type}, Grandezza: %{BASE10NUM:file_size} %{PAROLA:file_size_unit}, Utente: %{NOME UTENTE:nome utente}, IP: %{IP:src_ip}", "^<%{POSINT:syslog_pri}>%{SYSLOGTIMESTAMP:syslog_timestamp} %{NOME HOST:host_title} Connessione: Utente \[%{NOME UTENTE:nome utente}\] Da \[%{NOME HOST:Squadra}\(%{IP:src_ip}\)\] Tramite \[%{DATTERO:Protocollo}\] %{DATI GREEDYDATA:Messaggio} \[%{DATTERO:shared_folder}\]", "^<%{POSINT:syslog_pri}>%{SYSLOGTIMESTAMP:syslog_timestamp} %{NOME HOST:host_title} Connessione: Utente \[(%{NOME UTENTE:nome utente})?\] Da \[%{IP:src_ip}\] %{DATI GREEDYDATA:Messaggio}", "^<%{POSINT:syslog_pri}>%{SYSLOGTIMESTAMP:syslog_timestamp} %{NOME HOST:host_title} Connessione[%{INT:Id_proc}\]: SISTEMA: %{DATI GREEDYDATA:Messaggio}", "^<%{POSINT:syslog_pri}>%{SYSLOGTIMESTAMP:syslog_timestamp} %{NOME HOST:host_title} Sistema %{NOME UTENTE:nome utente}: %{DATI GREEDYDATA:Messaggio}" ] } } } } prodotto { se ([digitare]=="Synologia"){ Ricerca elastica { indice => "Synology-%{+AAAA. MM.dd}" hosts=> "DIRECCION_IP_ELASTICSEARCH:9200" } } }
Ora andiamo al nostro Logstash, E lì possiamo creare filtri per separare i diversi campi dei diversi log che riceviamo. Come sempre migliorabile, ma questi grok ci andranno bene almeno per un Synology DSM con una versione 7.0. Quindi abbiamo creato un file di configurazione, Ad esempio '/etc/logstash/conf.d/synology.conf’ E con questo contenuto faremo qualcosa.
Una volta creato il file di configurazione, ricordarsi di riavviare il servizio Logstash per ricaricarlo. Dopo come sempre, andremo a Kibana e una volta che i dati arriveranno potremo andare su "Gestione" > "Gestione dello stack" > "Kibana" > "Modelli di indice" > "Crea modello di indice" per creare il modello di indice, Come ho detto, come al solito (in questo caso e senza virgolette) 'synology-*' e avremo i dati già memorizzati correttamente in Elasticsearch. Ora potremmo connetterci da “Analitica” > "Scopri" il nostro indice Synology e visualizza che sta raccogliendo dati.
E poi, dopo aver creato l'indice in Kibana, ora nel nostro Grafana dovremmo creare una "Sorgente dati" che punti contro il nostro Elasticsearch e l'indice Synology. Allora si tratta di dare libero sfogo alla tua immaginazione, creare una Dashboard con diverse Dashboard, con dati diversi da visualizzare, Uno di stile Sankey per visualizzare gli IP di origine/destinazione e il traffico inviato, in formato colonna, installo per visualizzare dati specifici, ad esempio i login corretti, Scorretto, Le connessioni, i file creati, Modificare, Eliminare, Gli utenti che eseguono l'azione...