GROK_EXPORTER Utilizza espressioni regolari per analizzare diversi dati dai file di registro. I file di registro sono corrispondenti riga per riga utilizzando un'espressione regolare e i dati abbinati vengono archiviati in diverse variabili. Quindi, i dati di queste variabili vengono esportati tramite GROK_EXPORTER.
Una volta aggiunto il GROK_EXPORTER server a Prometeo come bersaglio, Prometeo può monitorare i file di registro desiderati tramite GROK_EXPORTER.
In questo articolo, ti mostrerò come installare GROK_EXporter su Linux (Ubuntu 20.04 LTS nel mio caso), genera file di registro fittizio, configura GROK_EXPORTER per monitorare il file di registro fittizio e monitorare il file di registro fittizio utilizzando Prometheus. Quindi iniziamo.
Sommario:
Cose di cui avrai bisogno:
Devi avere Prometheus installato sul tuo computer per poter monitorare i file di registro con Prometheus.
Se hai bisogno di assistenza sull'installazione di Prometheus sul tuo computer, leggi l'articolo come installare Prometheus su Ubuntu 20.04 LTS.
Download e installazione di GROK_EXPORTER:
In questa sezione, ti mostrerò come scaricare e installare GROK_EXporter sul tuo computer.
Innanzitutto, navigare verso il ~/Download directory come segue:
$ cd ~/download
Scarica l'ultima versione del GROK_EXPORTER Archivio con il seguente comando:
$ wget https: // github.com/fstab/grok_exporter/versioni/download/v1.0.0.RC5/GROK_EXPORTER-1.0.0.RC5.Linux-AMD64.cerniera lampo
GROK_EXPORTER L'archivio viene scaricato. Potrebbe volerci un po 'di tempo per completare.
A questo punto, il GROK_EXPORTER L'archivio dovrebbe essere scaricato.
Una volta il GROK_EXPORTER L'archivio viene scaricato, dovresti trovare un nuovo file GROK_EXPORTER-1.0.0.RC5.Linux-AMD64.cerniera lampo nel ~/Download Directory come contrassegnato nello screenshot seguente.
$ ls -lh
Estrai l'archivio GROK_EXPORTER GROK_EXPORTER-1.0.0.RC5.Linux-AMD64.cerniera lampo con il seguente comando:
$ unzip grok_exporter-1.0.0.RC5.Linux-AMD64.cerniera lampo
L'archivio GROK_EXPORTER dovrebbe essere estratto.
Una nuova directory GROK_EXPORTER-1.0.0.RC5.Linux-Amd64/ dovrebbe essere creato in ~/Download directory.
$ ls -lh
Ora, rinomina il GROK_EXPORTER-1.0.0.RC5.Linux-Amd64/ directory a Grok-Exporter/ e spostalo nel /optare directory come segue:
$ sudo mv -v grok_exporter -1.0.0.RC5.Linux-Amd64 /Opt /Grok-Exporter
Ora, crea un file di servizio SystemD Grok-Exporter.servizio nel /opt/grok-exporter directory come segue:
$ sudo nano/opt/grok-exporter/grok-exporter.servizio
Digitare le seguenti righe in Grok-Exporter.servizio file.
[Unità]
Descrizione = server Prometheus Grok_Exporter
[Servizio]
Riavvia = sempre
WorkingDirectory =/opt/grok-exporter
ExecStart =/opt/grok-exporter/grok_exporter--config =/opt/grok-exporter/config.YML
ExecreLoad =/bin/kill -hup $ mainpid
TimeoutstopSec = 20s
SendSIGKILL = NO
[Installare]
WANTEDBY = Multi-utente.bersaglio
Una volta che hai finito, premere + X seguito da Y E per salvare il Grok-Exporter.servizio file.
Per installare il Grok-Exporter.servizio File di servizio SystemD sul tuo computer, crea un collegamento simbolico del /opt/grok-exporter/grok-exporter.servizio file in /etc/systemd/system directory come segue:
$ sudo ln -s/opt/grok-exporter/grok-exporter.Servizio/etc/systemd/system/grok-exporter.servizio
Copia il configurazione.YML file da /opt/grok-esporter/esempio directory al /opt/grok-exporter directory come segue:
$ sudo cp -v/opt/grok -exporter/esempio/config.yml/opt/grok-exporter/
NOTA: IL configurazione.YML Il file viene utilizzato per configurare GROK_EXPORTER. L'esempio (impostazione predefinita) configurazione.YML Il file è buono per il test se GROK_EXPORTER sta lavorando. Ti mostrerò come configurare GROK_EXPORTER In una sezione successiva di questo articolo.
Per le modifiche SystemD per avere effetto, eseguire il seguente comando:
$ sudo systemctl demone-ricaricamento
Ora, inizia il Grok-Exporter Servizio SystemD con il seguente comando:
$ sudo systemctl avvia Grok-Exporter.servizio
IL Grok-Exporter Il servizio SystemD dovrebbe essere attivo/in esecuzione, Come puoi vedere nello screenshot qui sotto. Significa GROK_EXPORTER sta funzionando bene.
$ sudo systemctl status grok-exporter.servizio
Generare un file di registro fittizio con faketa:
Per generare file di registro falsi, userò Lucapette/Faketa in questo articolo. Ci sono molti altri strumenti che puoi utilizzare per generare file di registro falsi. Puoi usarne uno se vuoi.
Innanzitutto, navigare verso il ~/Download directory come segue:
$ cd ~/download
Scaricare faketa, Esegui il seguente comando:
$ wget https: // github.com/Lucapette/Faketata/Releases/Download/V1.1.2/FADEDATA_1.1.2_linux_amd64.catrame.Gz
L'archivio Faketa dovrebbe essere scaricato.
Una volta scaricato l'archivio Faketa, dovresti vedere un nuovo faketa_1.1.2_linux_amd64.catrame.Gz nel ~/Download directory.
$ ls -lh
Estrai l'archivio Faketa faketa_1.1.2_linux_amd64.catrame.Gz con il seguente comando:
$ tar xvzf faketa_1.1.2_linux_amd64.catrame.Gz
Dovresti trovare un nuovo eseguibile faketa nel ~/Download Directory come contrassegnato nello screenshot seguente.
$ ls -lh
Muovi il faketa binario a /usr/locale/cestino directory come segue:
$ sudo mv -v faketa/usr/locale/bin/
Ora dovresti essere in grado di accedere faketa Dalla riga di comando.
$ FADEDATA -VERSION
Crea un nuovo script di shell ciao-http nel /usr/locale/cestino directory come segue:
$ sudo nano/usr/locale/bin/hello-http
Digitare le seguenti righe di codici in ciao-http sceneggiatura.
#!/Bin/Bash
Logfile =/tmp/hello-http.tronco d'albero
mentre è vero
Fare
FADEDATA Nome utente http.Metodo enum:/,/login,/logout,/messaggi ipv4 -limit 1 >> $ logfile
Sonno 1
Fatto
uscita 0
Una volta che hai finito, premere + X seguito da Y E Per salvare lo script Hello-Http.
Aggiungi eseguire l'autorizzazione allo script shell /usr/local/bin/hello-http come segue:
$ sudo chmod +x/usr/local/bin/hello-http
Per testare il ciao-http Script, eseguilo come segue:
$ Hello-Http
Un file di registro /tmp/hello-http.tronco d'albero dovrebbe essere generato. Una nuova voce dovrebbe essere aggiunta al file di registro ogni secondo.
$ tail -f /tmp /hello -http.tronco d'albero
Ogni riga del /tmp/hello-http.tronco d'albero Il file dovrebbe trovarsi nel seguente formato,
Configurazione di GROK_Exporter:
In questa sezione, ti mostrerò come configurare GROK_EXPORTER Per monitorare il file di registro generato /tmp/hello-http.tronco d'albero.
Apri il GROK_EXPORTER file di configurazione /opt/grok-exporter/config.YML con il nano Editor di testo come segue:
$ sudo nano/opt/grok-exporter/config.YML
Il file di configurazione predefinito dovrebbe apparire come segue.
Nel ingresso sezione, si specifica il sentiero del file di registro che si desidera monitorare.
In questo caso, voglio monitorare il file di registro /tmp/hello-http.tronco d'albero.
leggi tutto dovrebbe essere VERO Se si desidera monitorare l'intero file di registro e le righe appena aggiunte dal file di registro.
leggi tutto dovrebbe essere falso Se si desidera monitorare solo le righe appena aggiunte dal file di registro.
Per estrarre i dati dal file di registro /tmp/hello-http.tronco d'albero, modificare la sezione metrica del configurazione.YML file come segue:
Qui, il tipo metrico è contatore. GROK_EXporter supporta anche altri tipi metrici Prometheus. Se si desidera utilizzare un diverso tipo di metrica Prometheus, controlla la documentazione ufficiale di GROK_Exporter. I collegamenti sono riportati di seguito.
GROK_EXPORTER - Tipo di contatore
GROK_EXPORTER - Tipo di metrica calibro
GROK_EXPORTER - Tipo metrico dell'istogramma
GROK_EXPORTER - Tipo di metrica di riepilogo
IL nome della metrica sarà ciao_http_total.
IL aiuto La proprietà è una breve descrizione di ciò che fa la metrica.
IL incontro La proprietà viene utilizzata per abbinare dati diversi da ciascuna riga del file di registro e archiviarli nelle rispettive variabili.
La prima colonna del /tmp/hello-http.tronco d'albero Il file è il . IL
Allo stesso modo, la seconda colonna è ed è anche del tipo di pattern PAROLA, e i dati estratti verranno archiviati in http_method variabile.
La terza colonna del file di registro è il percorso URL. È del tipo di pattern UripathParam, e sarà conservato in http_path variabile.
La quarta colonna del file di registro è l'indirizzo IP. È del tipo di pattern IP, e sarà memorizzato nella variabile ip_addr.
Esistono molti altri tipi di pattern che è possibile utilizzare per estrarre dati dal file di registro. Puoi trovare tutti i tipi di pattern supportati in /opt/grok-exporter/patterns/grok-patterns file.
$ sudo cat/opt/grok-esporter/patterns/grok-patterns
Una volta estratti e memorizzati i dati in diverse variabili, è possibile scegliere le variabili che si desidera esportare tramite GROK_EXPORTER.
Le variabili che si desidera esportare tramite GROK_EXPORTER deve essere elencato in Etichette sezione come contrassegnato nello screenshot seguente.
È inoltre possibile creare nuovi tipi di pattern e abbinare i dati da ciascuna riga del file di registro utilizzando i tipi di pattern appena creati.
Per creare nuovi tipi di pattern, si aggiungono i tipi di pattern in grok_patterns sezione del configurazione.YML file.
Per impostazione predefinita, un tipo di pattern personalizzato Exim_message è definito e può essere utilizzato per abbinare i dati dai file di registro utilizzando l'espressione normale [a-za-z]*.
Per abbinare lo stato HTTP (i.e., Ottieni, post, metti), puoi definire un nuovo tipo di pattern Http_status [a-z] 3,4 e usarlo per abbinare i dati dal file di registro come segue. Spero che tu abbia l'idea.
La versione finale del configurazione.YML Il file è riportato nello screenshot di seguito.
Una volta che hai finito di apportare modifiche al configurazione.YML File, premere + X seguito da Y E per salvarlo.
Affinché le modifiche abbiano effetto, riavvia il Grok-Exporter SystemD Service come segue:
$ sudo systemctl riavvio grok-esporter.servizio
Se tutto va bene (non hai commesso errori nel file di configurazione configurazione.YML), IL Grok-Exporter Il servizio SystemD dovrebbe essere attivo/in esecuzione.
$ sudo systemctl status grok-exporter.servizio
Aggiunta di Grok_Exporter a Prometheus:
Ora devi aggiungere GROK_EXPORTER a Prometeo come bersaglio.
Innanzitutto, devi conoscere l'indirizzo IP del computer in cui è stato installato GROK_EXPORTER.
Nel mio caso, l'indirizzo IP è 192.168.3.149. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo da ora in poi.
$ hostname -i
Quindi, apri il file di configurazione Prometheus Prometeo.YML con il nano Editor di testo come segue:
$ sudo nano/opt/prometheus/prometeo.YML
Nel rash_configs sezione del Prometeo.YML File, aggiungi le righe contrassegnate nello screenshot seguente.
NOTA: Non dimenticare di sostituire l'indirizzo IP target del Grok-Exporter lavoro con l'indirizzo IP del computer in cui hai GROK_EXPORTER installato.
Affinché le modifiche abbiano effetto, riavvia il Prometeo SystemD Service come segue:
$ sudo systemctl riavvia Prometeo.servizio
NOTA: Ho installato Prometeo sullo stesso computer di GROK_EXPORTER. Quindi, l'indirizzo IP del computer in cui ho installato Prometheus è lo stesso di GROK_EXPORTER. Nel mio caso, lo è 192.168.3.149. Assicurati di sostituirlo con il tuo da ora in poi.
Ora visita la pagina degli obiettivi di Prometeo all'URL http: // 192.168.3.149: 9090/obiettivi e dovresti vedere che il Grok-Exporter Target è nel SU stato.
Raschiatura metriche da grok_exporter con Prometeo:
Prima di iniziare a raschiare le metriche da GROK_EXPORTER Con Prometheus, avviare il generatore di file di registro fittizio ciao-http con il seguente comando:
$ Hello-Http
Ora visita la pagina del grafico Prometheus su http: // 192.168.3.149: 9090/grafico ed eseguire l'espressione ciao_http_total.
Come puoi vedere, i dati vengono estratti dal file di registro /tmp/hello-http.tronco d'albero. Ogni riga del file di registro è una voce separata in Prometeo.
Puoi anche filtrare i dati. Ad esempio, supponiamo che tu voglia elencare solo le voci in cui il http_method è GET. Per fare ciò, eseguire l'espressione Hello_http_total http_method = "get".
Puoi anche contare il numero di voci che corrispondono a determinati criteri. Ad esempio, per contare il numero di richieste HTTP, è possibile eseguire l'espressione Count (Hello_http_total http_method = ”get”.
Come puoi vedere, il numero di richieste HTTP Get è 30.
Se si esegue la stessa espressione dopo pochi secondi, il numero di richieste HTTP GET dovrebbe aumentare.
Dove andare dopo?
Per saperne di più sulla configurazione GROK_EXPORTER, Leggi la pagina della documentazione di configurazione GROXPORTER ufficiale.
Conclusione:
In questo articolo, ti ho mostrato come installare GROK_EXporter su Ubuntu 20.04 LTS. Ti ho anche mostrato come generare file di registro fittizio con faketa e configurare Grok_exporter per monitorare il file di registro generato. Ti ho mostrato come aggiungere GROK_EXporter come target su Prometheus e monitorare i file di registro anche con Prometheus.
Riferimenti: