
Raccolta delle metriche di Windows in Elasticsearch con Metricbeat e visualizzazione con Grafana
In questo post, esamineremo un altro dei meravigliosi componenti di Elasticsearch, all'interno dei pacchetti Beats troveremo anche un'utilità che ci aiuterà a elaborare e raccogliere metriche dai nostri computer Windows o Linux, noto come Metricbeat. Vedremo come esportare queste metriche in Logstash per elaborarle e memorizzarle in Elasticsearch per visualizzarle successivamente con Kibana o Grafana!
Non male, dobbiamo lasciare l'agente leggero Metricbeat installato e in esecuzione nelle macchine da cui vogliamo assorbire le sue metriche, è un computer con sistema operativo Windows, Linux o Mac OS. Scarichiamo Metricbeat da https://www.elastic.co/downloads/beats/metricbeat, lo decomprimeremo e , (Per esempio) L'abbiamo lasciato a ' C:\Programmimetricbeat'. Avremo il suo file di configurazione chiamato 'metricbeat.yml' e un altro file di riferimento con tutte le opzioni che possiamo utilizzare, Chiamato 'metricbeat.reference.yml'. In questo esempio vedremo su una macchina Windows come raccogliere metriche di base come la CPU, Memoria, Disco o rete, ma che opzionalmente se esegui un servizio interessante abiliteremo il modulo corrispondente per raccogliere anche tali dati. Scaricheremo Metricbeat, Lo configureremo e lo installeremo come servizio.
Configurazione di Metricbeat,
Bene, prima di iniziare a riprodurre il file di configurazione di Metricbeat; nella cartella 'modules.d’ Avremo tutti i moduli aggiuntivi da cui possiamo anche ottenere metriche, sono servizi web, Banche dati, Piattaforme virtuali, come Apache, Mongobus, Mysql, vsfera, PostgreSQL… In ogni modulo possiamo abilitare l'ottenimento di più o meno metriche.
In questo esempio, nel 'system.yml’ Vedremo che reindirizzerà ogni 10 secondi Metriche CPU, Memoria, Rete o informazioni sui processi, tra gli altri, Possiamo commentare o decommentare ciò di cui abbiamo bisogno, Possiamo definire questo modulo o quello che ci interessa specificare le informazioni che ci interessa raccogliere. Più avanti vedremo come abilitare i moduli che ci interessano, altrimenti avranno l'estensione '.disabled'.
[Codice sorgente]- modulo: Sistema
periodo: 10s
Set di metriche:
– CPU
#- carico
– memoria
– Rete
– processo
– process_summary
#- Nucleo
#- Diskio
#- Presa
process.include_top_n:
by_cpu: 5 # includi inizio 5 processi per CPU
by_memory: 5 # includi inizio 5 processi a memoria
– modulo: Sistema
periodo: 1m
Set di metriche:
– sistema di file
– FSSTAT
Processori:
– drop_event.when.regexp:
system.filesystem.mount_point: ‘^/(sistema|Gruppo|Proc|Dev|and so on|ospite|Movimento di liberazione)($|/)’
– modulo: Sistema
periodo: 15m
Set di metriche:
– Uptime[/Codice sorgente]
Dopo, nel file di configurazione 'metricbeat.yml’ Effettueremo il resto della configurazione, nella sezione ===== Generale ===== possiamo aggiungere tag o campi aggiuntivi nel caso fossimo interessati ad associare questo Metricbeat dell'apparecchiatura a diverse parole chiave, in modo che possano poi essere utilizzati in diverse ricerche, come indicare se si tratta di un server, è un database o un server web, o avere IIS, il tuo SO...
[Codice sorgente]Tag: ["Servitore", "Finestre 2016 R2", "OS-DC-01"]
Campi:
globo_environment: Produzione[/Codice sorgente]
Nella sezione Output, saremo in grado di inviare i dati direttamente a Elasticsearch, Ma come in altri post, In particolare, preferisco inviare i dati a Logstash per l'elaborazione. Quindi discuteremo l'intera parte dell'output su Elasticsearch e la configurazione rispetto al server Logstash e alla sua porta, che in un documento precedente abbiamo visto nella parte di “Configurazione di Logstash” il file da creare. Come dicevo, tocchiamo l'uscita lasciando qualcosa del genere:
[Codice sorgente]#——— Output di logstash ———
uscita.logstash:
# Gli host di Logstash
#Ospita: ["localhost:5044"]
Ospita: ["DIRECCION_IP_LOGSTASH:5044"][/Codice sorgente]
Una volta configurato Metricbeat, Metricbeat, per installare Metricbeat come servizio eseguiamo:
[Codice sorgente].\install-service-metricbeat.ps1[/Codice sorgente]
E quello che ho detto, Possiamo abilitare moduli specifici se vogliamo un monitoraggio aggiuntivo sulla nostra macchina, su questo server ho un MySQL e un Apache, dovresti abilitarli:
[Codice sorgente].\metricbeat.exe moduli abilitano Apache MySQL[/Codice sorgente]
Come al solito, la prima volta che aggiungiamo le metriche di Metricbeat a Elasticsearch, Dobbiamo caricare il modello in modo che generi correttamente gli indici con i campi:
.\metricbeat.exe configurazione –template -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=[“SERVIDOR_ELASTICSEARCH:9200”]’
Possiamo verificare se abbiamo i file di configurazione configurati correttamente, da un PowerShell con privilegi di amministratore, Andiamo al percorso in cui abbiamo Metricbeats, e noi eseguiamo:
[Codice sorgente].\metricbeat.exe test config -c .metricbeat.yml -e[/Codice sorgente]
E iniziamo il servizio e se vogliamo,, possiamo vedere lo stato della connessione Metricbeats con Logstash o Elasticsearch (Dipende da cosa abbiamo scelto):
[Codice sorgente]Metrica di avvio-serviziobeat
Get-Content .logsmetricbeat -Wait[/Codice sorgente]
E questo è tutto! Dovremmo già avere Metricbeat che raccoglie le metriche! Ora visualizziamoli… La magia sta arrivando!
Da Kibana,
Se vogliamo visualizzare le metriche con Kibana, Per prima cosa creeremo il modello di indice, poi verificheremo che i dati arrivino e poi potremmo iniziare a dipingere!
Apriamo Kibana, Stiamo per “Gestione” > “Modelli di indice” > “Crea modello di indice” e indicare 'metricbeat-*’ come modello, Clicca su “Passaggio successivo”,
Selezionare ‘@timestamp‘ come colonna temporale e creare il modello da “Creare un modello di indice”.
E a partire da “Scoprire”, Selezionando il modello che abbiamo appena creato, saremo in grado di vedere che stiamo ricevendo dati, come al solito, Possiamo vedere cosa ci arriva da qui, Riproduci per aggiungere colonne e creare filtri, quindi crea le visualizzazioni da “Visualizzare” e vedere le metriche che stiamo monitorando in tempo reale ma in formato grafico, stallo, Colonne, Formaggio…
Da Grafana,
Prima di poter visualizzare i dati, ricordiamo che dobbiamo registrare l'origine dati e collegare Grafana con gli indici Metricbeat in Elasticsearch!
Apriamo Grafana, Andiamo su "Impostazioni" > "Fonti dei dati", Daremo un nome alla connessione, nell'URL dobbiamo indicare l'URL del nostro Elasticsearch 'http://DIRECCION_IP_ELASTIC:9200’. Seleziona 'metricbeat-*' da utilizzare come nome per gli indici, indichiamo il campo @timestamp per il campo orario e selezioniamo la versione di Elasticsearch, clicca su "Salva & Prova",
E possiamo aggiungere dashboard in una dashboard per visualizzare le metriche generate dalle macchine su cui è installato Metricbeat! In un dashboard di esempio, in questo caso si tratterà di un grafico a linee, dove visualizzeremo tutte le metriche generate da un paio di macchine. Selezioniamo il nostro connettore rispetto agli indici Metricbeat in Elasticsearch, e possiamo utilizzare le query Lucene da qui per visualizzare ciò che ci interessa.
E niente, tra poco saremo in grado di analizzare quali dati ci stanno arrivando e come presentarli e disegnarli con Grafana, Vedrai come non è così complicato e possiamo visualizzare in modo molto piacevole qualsiasi informazione che raccogliamo, Spero che tu l'abbia trovato interessante!