Inleiding
Dit handleiding laat zien hoe u logbestanden van een DigitalOcean Kubernetes (DOKS) cluster kunt verzamelen en doorsturen naar een DigitalOcean Beheerd OpenSearch-instance met behulp van AxoSyslog, een schaalbare beveiligingsgegevensverwerker. Door deze handleiding te volgen, leert u hoe u een robuuste logging-systeem kunt instellen dat logbestanden van uw Kubernetes-toepassingen opvangt en analyseert, wat het gemakkelijker maakt om uw infrastructurele monitoren, probleemsolveren en beveiligen.
In deze handleiding zult u AxoSyslog gebruiken om logbestanden van een Kubernetes-cluster naar OpenSearch door te sturen.
Vereisten
Voordat u begint, zorg er voor dat u de volgende vereisten in orde heeft:
- U moet toegang hebben tot een DigitalOcean Cloud Account om Kubernetes- en OpenSearch-bronnen te maken en te beheren.
- Het DigitalOcean Command Line Interface (CLI) gereedschap,
doctl
, moet op uw lokale machine zijn geïnstalleerd en geconfigureerd. - Een draaiend DigitalOcean Kubernetes (DOKS) cluster.
- Het Kubernetes pakketbeheerder, Helm, moet zijn geïnstalleerd om Kubernetes-toepassingen te beheren.
- Bekendheid met Kubernetes, Helm, en de gehoste diensten van DigitalOcean.
Gebruiksomgeving
Dit project is ideaal voor scenario’s waarin u een gecentraliseerde logboekoplossing nodig heeft om logboeken van verschillende toepassingen te monitoren en te analyseren die lopen in een Kubernetes-cluster. Of u beheert een klein stel toepassingen of een grote schaal van infrastructuur, het verzamelen en doorsturen van logboeken naar een apart OpenSearch-cluster helpt bij:
- Beveiligingsmonitoring: Detecteer en reageer op beveiligingsincidenten door logs in real-time te analyseren.
- Probleemoplossing: Ontdek snel en oploss problemen binnen uw Kubernetes-toepassingen door detailijke logs te raadplegen.
- Vereisten voor compliantie:onderhoud een logboek van gebeurtenissen voor het nakomen van industriële reglementeringen.
Door AxoSyslog te integreren met DigitalOcean Managed OpenSearch, kunt u efficient gegevensstromen verwerken en opslaan, waardoor het gemakkelijker wordt om waardevolle inzichten te extraheren en de gezondheid en beveiliging van uw systemen te behouden.
Stap 1 – Maak een OpenSearch-cluster aan
In deze stap zet u de kerncomponent van uw log-systeem, het OpenSearch-cluster, op. OpenSearch zal de bestemming zijn voor alle logs die u van uw Kubernetes-cluster verzamelt. U zult een nieuwe OpenSearch-instantie maken in de gekozen regio op DigitalOcean door het volgende commando uit te voeren.
Vervang lon1
door uw gewenste regio. Om beschikbare grootte-slugs te laten zien, bezoek ons API-referentiedocumentatie.
Stap 2 – Generateer enkele willekeurige logbestanden
Voordat u logbestanden doorstuurt naar OpenSearch, heeft u wat logbestanden nodig om mee te werken. Als u geen applicatie heeft die reeds logbestanden genereert binnen uw Kubernetes-cluster, zal deze stap u instructies geven hoe u een loggenerator kunt部署. Deze loggenerator zal een constante stroom van voorbeeldlogbestanden produceren die kunnen worden gebruikt om uw logboekpipeline te testen en te demonstreren.
beginnen, voeg dan het Helm-chartrepository voor de loggenerator toe en installeer de loggenerator:
Vervolgens kunt u de loggenerator met behulp van Helm installeren:
U kunt controleren of de loggenerator werkt door de door hem gegenereerde logbestanden te bekijken:
Stap 3 – Voorbereid de AxoSyslog Collector op installatie
In deze stap configureert u de AxoSyslog Collector, die verantwoordelijk is voor het verzamelen van logbestanden van uw Kubernetes-cluster en ze door te sturen naar OpenSearch. Dit betekent dat u de juiste verbindingsgegevens voor uw OpenSearch-cluster moet opgeven (hostnaam, gebruiker en wachtwoord).
We zullen helm
gebruiken om de AxoSyslog Collector te installeren en persoonlijke waarden meegeeft.
Om de AxoSyslog-verzamelaar correct in te stellen met de juiste adres, gebruiker en wachtwoord voor uw OpenSearch-database, volg deze stappen:
Automatisch Script
Om de configuratie te simplificeren, kunt u een automatisch script gebruiken dat de nodige OpenSearch-verbindingsgegevens ophaalt en uw AxoSyslog-configuratiebestand bijwerkt.
Sla het volgende script op als update_axoflow_demo.sh
:
Zorg ervoor dat u toestemming hebt om uw script uit te voeren voordat u het uitvoert:
Dit script zal de nodige informatie van uw DigitalOcean-account ophalen met behulp van doctl
en uw axoflow-demo.yaml
-bestand daarop bijwerken.
Handmatige Stappen om axoflow-demo.yaml
bij te werken
Als u liever handmatig uw AxoSyslog-verzamelaar configureert, volg deze stappen:
Voer het volgende commando uit om de database-ID voor opensearch-doks
uit te pakken:
Om de hostnaam, gebruikersnaam en wachtwoord op te halen, moeten u de volgende commando’s respectievelijk uitvoeren:
Nu moet u handmatig de axoflow-demo.yaml
bestand bijwerken:
Open uw axoflow-demo.yaml
bestand in een teksteditor en vervang de relevante velden met de gehaalde waarden:
Stap 4 – Installeer AxoSyslog-collector
Nu dat de configuratie klaar is, is de volgende stap om de AxoSyslog Collector naar uw Kubernetes cluster te deployen. Dit zal de verzameling en doorsturen van logbestanden naar OpenSearch mogelijk maken.
Voeg het AxoSyslog Helm-repository toe en installeer de AxoSyslog Collector met behulp van het aangepaste configuratiebestand:
Om te zorgen dat logbestanden naar het correcte OpenSearch-poort worden verzonden, update uw AxoSyslog Collector-configuratie door uw configmap
bij te werken:
Ten slotte moet u de bestaande pods verwijderen om de bijgewerkte configuratie toe te passen:
Conclusie
Het opzetten van een logging pipeline vanaf DigitalOcean Kubernetes naar OpenSearch met behulp van AxoSyslog centraliseert niet alleen uw logs, maar verbetert ook uw mogelijkheden voor monitoring, analyse en beveiliging van uw applicaties. Met de hierbij gegeven stappen kunt u deze oplossing snel implementeren, waardoor u dieper zicht heeft op uw Kubernetes-omgeving en uw infrastructureelijk betrouwbaar en compliant houdt.
Source:
https://www.digitalocean.com/community/tutorials/collect-and-forward-kubernetes-logs-to-opensearch