Grafana Loki è uno strumento che ti offre un pannello per indicizzare i log dei tuoi sistemi e visualizzarli su una dashboard. Grafana Loki non indicizza il contenuto dei log ma indicizza solo le etichette dei log. Ciò riduce gli sforzi necessari per l'elaborazione e l'archiviazione dei registri.
Promtail, proprio come Prometheus, è un raccoglitore di log per Loki che invia le etichette dei log a Grafana Loki per l'indicizzazione.
In questo post tratteremo quanto segue:
- Installazione di Grafana
- Come installare Loki
- Come installare Promtail
- Come configurare l'origine dati Loki ed esplorare
Iniziamo rapidamente i passaggi di installazione:
Passaggio 1: installare lo strumento di monitoraggio Grafana
In questa sezione tratteremo l'installazione di Grafana su Ubuntu. Usa i link qui sotto che ti guideranno su come installare Grafana su diversi sistemi:
Come installare Grafana 7 su CentOS 7
Come installare Grafana su CentOS 8 / RHEL 8
Installa Grafana su Kubernetes per il monitoraggio dei cluster
Aggiorna il tuo sistema Ubuntu e riavvia:
sudo apt-get update sudo apt-get upgrade sudo reboot
Aggiungi la chiave Grafana GPG quindi installa il repository Grafana APT:
## Aggiungi chiave gpg sudo apt-get install -y gnupg2 curl curl https://packages.grafana.com/gpg.chiave | sudo apt-key add - ## Aggiungi il repository APT di Grafana sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stabile principale"
Installa Grafana
sudo apt-get update sudo apt-get -y install grafana
Avvia il servizio Grafana
sudo systemctl start grafana-server sudo systemctl abilita grafana-server
Grafana è ora installato e può essere accessibile tramite l'IP del server e la porta 3000. (http://IP_server:3000)
Devi consentire la porta 3000 attraverso il firewall.
Per Ubuntu:
sudo ufw consente proto tcp da qualsiasi a qualsiasi porta 3000
È quindi possibile accedere alla dashboard web di Grafana,
Passaggio 2: installare il sistema di aggregazione dei registri Grafana Loki
Procediamo ora all'installazione di Loki con i passaggi seguenti:
- Vai alla pagina di rilascio di Loki e scegli l'ultima versione di Loki
- Navigare verso Risorse e scarica il file zip binario di Loki sul tuo server. Durante il rilascio di questo articolo, v2.0.0 è l'ultimo.
curl -s https://api.github.com/repos/grafana/loki/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep loki-linux-amd64.zip | wget -i -
Installa decomprimi
# Ubuntu / Debian $ sudo apt install unzip # CentOS / Fedora / RHEL $ sudo yum -y install unzip
3. Decomprimi il file binario in /usr/local/bin
decomprimere loki-linux-amd64.zip sudo mv loki-linux-amd64 /usr/local/bin/loki
Conferma versione installata:
$ loki --versione loki, versione 2.0.0 (ramo: HEAD, revisione: 6978ee5d) build user: [email protected] build date: 2020-10-26T15:54:56Z go version: go1.14.2 piattaforme: linux/amd64
4. Crea un file YAML per Loki sotto /usr/local/bin
Crea le directory di dati richieste:
sudo mkdir -p /data/loki
Crea un nuovo file di configurazione.
sudo vim /etc/loki-local-config.igname
Aggiungi la seguente configurazione al file:
auth_enabled: false server: http_listen_port: 3100 ingester: lifecycler: indirizzo: 127.0.0.1 anello: kvstore: store: inmemory replication_factor: 1 final_sleep: 0s chunk_idle_period: 5m chunk_retain_period: 30s max_transfer_retries: 0 schema_config: configs: - from: 2018-04-15 store: boltdb object_store: filesystem schema: v11 index: prefix: index_ period : 168h storage_config: boltdb: directory: /data/loki/index filesystem: directory: /data/loki/chunks limits_config: enforcement_metric_name: false require_old_samples: true require_old_samples_max_age: 168h chunk_store_config: max_look_back_period: 0s table_manager_retention_d false
5. Crea il servizio Loki:
Crea il seguente file sotto /etc/systemd/system
per demonizzare il servizio Loki:
sudo tee /etc/systemd/system/loki.servizio<
6. Ricarica il demone di sistema quindi avvia il servizio Loki:
sudo systemctl daemon-reload sudo systemctl start loki.servizio
Puoi controllare e vedere se il servizio è stato avviato correttamente:
$ sudo systemctl status loki ● loki.service - Loki service Loaded: caricato (/etc/systemd/system/loki.servizio; Disabilitato; preset del fornitore: abilitato) Attivo: attivo (in esecuzione) da Lun 2020-12-21 11:49:49 UTC; 2min 37s fa PID principale: 15223 (loki) Compiti: 7 (limite: 1137) Memoria: 13.Gruppo 6M C: /sistema.fetta/loki.servizio └─15223 /usr/local/bin/loki -config.file /etc/loki-local-config.yaml 21 dic 11:49:49 ubuntu loki[15223]: level=info ts=2020-12-21T11:49:49.330959628Z chiamante=table_manager.go:476 msg="creating table" table=index_2658 dic 21 11:49:49 ubuntu loki[15223]: level=info ts=2020-12-21T11:49:49.331092225Z chiamante=table_manager.go:476 msg="creating table" table=index_2549 dic 21 11:49:49 ubuntu loki[15223]: level=info ts=2020-12-21T11:49:49.331220486Z chiamante = gestore_tabella.go:476 msg="creating table" table=index_2562 dic 21 11:49:49 ubuntu loki[15223]: level=info ts=2020-12-21T11:49:49.331347316Z chiamante=table_manager.go:476 msg="creating table" table=index_2615 21 dic 11:49:49 ubuntu loki[15223]: level=info ts=2020-12-21T11:49:49.331471475Z chiamante = gestore_tabella.go:476 msg="creating table" table=index_2643 21 dic 11:49:49 ubuntu loki[15223]: level=info ts=2020-12-21T11:49:49.327278535Z chiamante=module_service.go:58 msg=inizializzazione module=ring 21 dic 11:49:49 ubuntu loki[15223]: level=info ts=21-12-2020T11:49:49.331950866Z chiamante=module_service.go:58 msg=modulo di inizializzazione=distributore 21 dic 11:49:49 ubuntu loki[15223]: level=info ts=21-12-2020T11:49:49.332140208Z chiamante=module_service.go:58 msg=inizializzazione module=ingester-querier 21 dic 11:49:49 ubuntu loki[15223]: level=info ts=2020-12-21T11:49:49.332342162Z chiamante=loki.go:227 msg="Loki ha iniziato" 21 dic 11:51:49 ubuntu loki[15223]: level=info ts=2020-12-21T11:51:49.311922692Z chiamante=table_manager.go:324 msg="tabelle di sincronizzazione" Expected_tables=141
Ora puoi accedere alle metriche Loki tramite http://IP-server:3100/metriche
Passaggio 3: installare l'agente Promtail
Promtail è un agente che spedisce il contenuto dei log locali a un'istanza Loki privata o Grafana Cloud.
- Scarica il file zip binario Promtail dalla pagina di rilascio
curl -s https://api.github.com/repos/grafana/loki/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep promtail-linux-amd64.zip | wget -i -
Una volta scaricato il file, estrarlo in /usr/local/bin
decomprimere promtail-linux-amd64.zip sudo mv promtail-linux-amd64 /usr/local/bin/promtail
Verifica versione:
$ promtail --version promtail, versione 2.0.0 (ramo: HEAD, revisione: 6978ee5d) build user: [email protected] build date: 2020-10-26T15:54:56Z go version: go1.14.2 piattaforme: linux/amd64
2. Crea un file di configurazione YAML per Promtail nel /usr/local/bin
elenco:
sudo vim /etc/promtail-local-config.igname
3. Aggiungi il seguente contenuto al file:
server: http_listen_port: 9080 grpc_listen_port: 0 posizioni: nome file: /data/loki/positions.client yaml: - url: http://localhost:3100/loki/api/v1/push scrape_configs: - job_name: system static_configs: - target: - localhost label: job: varlogs __path__: /var/log/*log
4. Crea un servizio per Promtail:
sudo tee /etc/systemd/system/promtail.servizio<
5. Ricarica e avvia il servizio Promtail
sudo systemctl daemon-reload sudo systemctl start promtail.servizio
Conferma se il servizio è in esecuzione:
$ systemctl status promtail.servizio ● promtail.service - Servizio Promtail Caricato: caricato (/etc/systemd/system/promtail.servizio; Disabilitato; preset del fornitore: abilitato) Attivo: attivo (in esecuzione) da Lun 2020-12-21 11:57:41 UTC; 3s fa PID principale: 15381 (promtail) Compiti: 6 (limite: 1137) Memoria: 8.Gruppo 8M C: /sistema.fetta/coda.servizio └─15381 /usr/local/bin/promtail -config.file /etc/promtail-local-config.yaml 21 dicembre 11:57:41 ubuntu systemd[1]: avviato il servizio Promtail. 21 dic 11:57:41 ubuntu promtail[15381]: level=info ts=2020-12-21T11:57:41.911186079Z chiamante=server.go:225 http=[::]:9080 grpc=[::]:35499 msg="server in ascolto su> 21 dicembre 11:57:41 ubuntu promtail[15381]: level=info ts=2020-12-21T11: 57:41.911859429Z chiamante=principale.go:108 msg="Avvio Promtail" version="(versione=2.0.0, ramo=H>
A questo punto abbiamo installato Grafana, Loki e Promtail.
Il prossimo passo è configurare Grafana Dashboard e visualizzare i log utilizzando Loki.
Passaggio 4: configurare l'origine dati di Loki
- Accedi all'interfaccia web di Grafana e seleziona 'Esplorare'. Ti verrà chiesto di creare un'origine dati.

2. Clicca su Aggiungi origine dati quindi seleziona Loki tra le opzioni disponibili:
4. Immettere i seguenti valori per Loki:
Nome: Loki URL: http://127.0.0.1:3100
Vedi sotto screenshot.
5. Clic Salva&Test. Dovresti vedere una notifica che l'origine dati è stata aggiunta con successo.
Passaggio 5 - Visualizza i log su Grafana con Loki
Ora possiamo visualizzare i log usando Loki.
Clicca su Esplorare quindi seleziona Loki alla fonte dei dati
Ora puoi visualizzare facilmente i log selezionando il pulsante Etichette di registro opzioni.
Conclusione
Abbiamo installato con successo Grafana Loki con Promtail e siamo stati in grado di visualizzare i log su un dashboard Grafana.
Grafana Loki può utilizzare molti altri strumenti di inoltro dei log oltre a Promtail, e.g FluentBit. Puoi anche usare Grafana Loki per monitorare il tuo cluster Kubernetes. Godere!