Introduzione
Questo tutorial viene mostrato come raccogliere e inoltrare i log da un cluster DigitalOcean Kubernetes (DOKS) a un’istanza DigitalOcean OpenSearch gestita utilizzando AxoSyslog, un processore di dati sicuri adattabile. Se seguite questo guide, imparerete come configurare un sistema di log robusto che cattura e analizza i log dalle vostre applicazioni Kubernetes, rendendo più facile il monitoraggio, l’ispezione e la sicurezza del vostro infrastruttura.
In questo tutorial, userai AxoSyslog per inoltrare i log da un cluster Kubernetes a OpenSearch.
Prerequisiti
Prima di iniziare, assicuratevi di avere i seguenti prerequisiti:
- Per creare e gestire risorse Kubernetes e OpenSearch, avrai bisogno di un account DigitalOcean Cloud.
- Il tool DigitalOcean Command Line Interface (CLI),
doctl
, deve essere installato e configurato sul tuo dispositivo locale. - Un cluster DigitalOcean Kubernetes (DOKS) in esecuzione.
- Il package manager Kubernetes, Helm, deve essere installato per gestire le applicazioni Kubernetes.
- Conoscenza di Kubernetes, Helm e dei servizi gestiti di DigitalOcean.
Caso d’uso
Questo progetto è ideale per scenario in cui serve una soluzione centralizzata di monitoraggio e analisi di log da varie applicazioni in esecuzione in un cluster Kubernetes. Che stiate gestendo un insieme piccolo di applicazioni o un’infrastruttura a grandezza ridotta, la raccolta e l’inoltro di log in un cluster OpenSearch dedicato aiutano in:
- Monitoraggio sicurezza: Rileva e reagisci agli incidenti di sicurezza analizzando i log in tempo reale.
- Risoluzione dei problemi: Identifica e risolvi rapidamente i problemi nei tuoi applicativi Kubernetes accessando i log dettagliati.
- Compliance: Mantiene un registro degli eventi per rispettare le normative dell’industria.
Integrazione di AxoSyslog con DigitalOcean Managed OpenSearch consente di processare e archiviare in modo efficiente grandi volumi di log, rendendo più facile estrarre informazioni preziose e mantenere la salute e la sicurezza dei tuoi sistemi.
Step 1 – Creare un cluster OpenSearch
In questo step, impostra il componente centrale del tuo sistema di logging, ovvero il cluster OpenSearch. OpenSearch sarà il destinatario di tutti i log che raccogli da tuo cluster Kubernetes. Creerai una nuova istanza OpenSearch nel tuo regione di scelta su DigitalOcean eseguendo il seguente comando.
Sostituisci lon1
con la tua regione preferita. Per elencare i tag dimensione disponibili, visita la nostra documentazione API di riferimento.
Step 2 – Generare alcuni log casuali
Prima di inviare i log a OpenSearch, hai bisogno di alcuni log da lavorare. Se non hai già un’applicazione che genera log all’interno del tuo cluster Kubernetes, questo passo ti mostrerà come deployare un generatore di log. Questo generatore di log produrrà una costante corrente di log di esempio che puoi utilizzare per testare e dimostrare il tuo pipeline di log.
Prima di tutto, aggiungi il repository del grafico del generatore di log e installa il generatore di log:
Successivamente, installa il generatore di log utilizzando Helm:
Puoi verificare che il generatore di log stia funzionando guardando i log che produce:
Step 3 – Preparare AxoSyslog Collector per l’installazione
In questo passo, configurerai il AxoSyslog Collector, responsabile per raccogliere i log del tuo cluster Kubernetes e inviarli a OpenSearch. Ciò comprende fornire i dettagli di connessione corretti per il tuo cluster OpenSearch (nomehost, utente e password).
Utilizzeremo helm
per installare il AxoSyslog Collector e passare i valori personalizzati.
Per configurare l’AxoSyslog collector con l’indirizzo corretto, l’utente e la password per la tua OpenSearch database, segui questi passaggi:
Script Automatizzato
Per semplificare la configurazione, puoi utilizzare un script automatizzato che recupera i dettagli di connessione OpenSearch necessari e aggiorna il tuo file di configurazione AxoSyslog.
Salva il seguente script come update_axoflow_demo.sh
:
Assicurati di avere i permessi di esecuzione sul tuo script prima di eseguirlo:
Questo script recupererà le informazioni necessarie dalla tua account DigitalOcean usando doctl
e aggiornerà il tuo file axoflow-demo.yaml
in conseguenza.
Passaggi Manuali per Aggiornare axoflow-demo.yaml
Se preferisci configurare manualmente il tuo AxoSyslog Collector, segui questi passaggi:
Esegui il seguente comando per estrarre l’ID database per opensearch-doks
:
Per recuperare il hostname, username e password, eseguire i seguenti comandi rispettivamente:
Adesso, devi aggiornare manualmente il file axoflow-demo.yaml
:
Apri il tuo file axoflow-demo.yaml
in un editor di testo e sostituisci i campi corrispondenti con i valori estratti:
Step 4 – Installare AxoSyslog-collector
Dopo aver completato la configurazione, il passo successivo è installare il AxoSyslog Collector nel tuo cluster Kubernetes. Ciò consentirà la raccolta e la reindirizzazione dei log a OpenSearch.
Aggiungi il repository Helm AxoSyslog e installa il AxoSyslog Collector utilizzando il file di configurazione personalizzato:
Per assicurarti che i log siano inviati sul porto OpenSearch corretto, aggiorna la configurazione del AxoSyslog Collector aggiornando il tuo configmap
:
Infine, elimina i pod esistenti per applicare la configurazione aggiornata:
Conclusione
Configurare un pipeline di logging da DigitalOcean Kubernetes a OpenSearch utilizzando AxoSyslog non solo centralizza i vostri log ma anche migliora la capacità di monitoraggio, analisi e sicurezza delle applicazioni. Con i passaggi forniti in questo guida, puoi velocemente distribuire questa soluzione, ottenendo una visione più profonda del tuo ambiente Kubernetes e garantendo che il tuo infrastructure rimanga resiliente e conforme.
Source:
https://www.digitalocean.com/community/tutorials/collect-and-forward-kubernetes-logs-to-opensearch