Senden Sie Telemetriedaten von AWS Lambda zu OpenSearch für Analysen und Visualisierungen in Echtzeit - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Senden Sie Telemetriedaten von AWS Lambda zu OpenSearch für Analysen und Visualisierungen in Echtzeit

Erstellt von Tabby Ward (AWS), Guy Bachar () und David Kilzer (AWS) AWS

Umgebung: PoC oder Pilotprojekt

Technologien: Serverlos; Modernisierung

AWSDienstleistungen: AWS Lambda; Amazon OpenSearch Service

Übersicht

Moderne Anwendungen werden zunehmend verteilt und ereignisgesteuert, was die Notwendigkeit von Überwachung und Beobachtbarkeit in Echtzeit verstärkt. AWS Lambda ist ein serverloser Computerdienst, der eine entscheidende Rolle beim Aufbau skalierbarer und ereignisgesteuerter Architekturen spielt. Die Überwachung und Fehlerbehebung von Lambda-Funktionen kann jedoch schwierig sein, wenn Sie sich ausschließlich auf Amazon CloudWatch Logs verlassen, was zu Latenz und begrenzten Aufbewahrungsfristen führen kann.

Um dieser Herausforderung zu begegnen, AWS wurde die Lambda-Telemetrie eingeführtAPI, mit der Lambda-Funktionen Telemetriedaten direkt an Überwachungs- und Beobachtungstools von Drittanbietern senden können. Dies API unterstützt das Echtzeit-Streaming von Protokollen, Metriken und Traces und bietet einen umfassenden und zeitnahen Überblick über die Leistung und den Zustand Ihrer Lambda-Funktionen.

Dieses Muster erklärt, wie die Lambda-Telemetrie API OpenSearch, eine verteilte Open-Source-Such- und Analysemaschine, integriert werden kann. OpenSearch bietet eine leistungsstarke und skalierbare Plattform für die Aufnahme, Speicherung und Analyse großer Datenmengen und ist damit die ideale Wahl für Lambda-Telemetriedaten. Insbesondere zeigt dieses Muster, wie Logs von einer in Python geschriebenen Lambda-Funktion direkt an einen OpenSearch Cluster gesendet werden, indem eine Lambda-Erweiterung verwendet wird, die von bereitgestellt wird. AWS Diese Lösung ist flexibel und anpassbar, sodass Sie Ihre eigene Lambda-Erweiterung erstellen oder den Beispielquellcode ändern können, um das Ausgabeformat nach Wunsch zu ändern.

Das Muster erklärt, wie die API Lambda-Telemetrieintegration eingerichtet und konfiguriert wird OpenSearch, und enthält bewährte Methoden für Sicherheit, Kostenoptimierung und Skalierbarkeit. Ziel ist es, Ihnen zu helfen, tiefere Einblicke in Ihre Lambda-Funktionen zu gewinnen und die allgemeine Beobachtbarkeit Ihrer serverlosen Anwendungen zu verbessern.

Hinweis: Dieses Muster konzentriert sich auf die Integration der Lambda-Telemetrie API mit Managed. OpenSearch Die besprochenen Prinzipien und Techniken gelten jedoch auch für Self-Managed OpenSearch und Elasticsearch.

Voraussetzungen und Einschränkungen

Bevor Sie mit dem Integrationsprozess beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:

AWS-Konto: Aktiv AWS-Konto mit den entsprechenden Berechtigungen zum Erstellen und Verwalten der folgenden AWS Ressourcen:

  • AWS Lambda

  • AWS Identity and Access Management (IAM)

  • Amazon OpenSearch Service (wenn Sie einen verwalteten OpenSearch Cluster verwenden)

OpenSearch Cluster:

  • Sie können einen vorhandenen selbstverwalteten OpenSearch Cluster oder einen verwalteten Dienst wie OpenSearch Service verwenden.

  • Wenn Sie OpenSearch Service verwenden, richten Sie Ihren OpenSearch Cluster ein, indem Sie den Anweisungen unter Erste Schritte mit Amazon OpenSearch Service in der OpenSearch Service-Dokumentation folgen.

  • Stellen Sie sicher, dass der OpenSearch Cluster über Ihre Lambda-Funktion zugänglich ist und dass er mit den erforderlichen Sicherheitseinstellungen wie Zugriffsrichtlinien, Verschlüsselung und Authentifizierung konfiguriert ist.

  • Konfigurieren Sie den OpenSearch Cluster mit den erforderlichen Indexzuordnungen und Einstellungen, um die Lambda-Telemetriedaten aufzunehmen. Weitere Informationen finden Sie in der Servicedokumentation unter Laden von Streaming-Daten in Amazon OpenSearch OpenSearch Service.

Netzwerkkonnektivität:

IAMRollen und Richtlinien:

  • Erstellen Sie eine IAM Rolle mit den erforderlichen Berechtigungen für Ihre Lambda-Funktion, um auf den OpenSearch Cluster und auf Ihre darin AWS Secrets Manager gespeicherten Anmeldeinformationen zuzugreifen.

  • Fügen Sie der Rolle die entsprechenden IAM Richtlinien hinzu, z. B. die AWSLambdaBasicExecutionRole Richtlinie und alle zusätzlichen Berechtigungen, die für die Interaktion OpenSearch erforderlich sind.

  • Stellen Sie sicher, dass die Ihrer Lambda-Funktion gewährten IAM Berechtigungen es ihr ermöglichen, Daten in den OpenSearch Cluster zu schreiben. Informationen zur Verwaltung von IAM Berechtigungen finden Sie unter Definieren von Lambda-Funktionsberechtigungen mit einer Ausführungsrolle in der Lambda-Dokumentation.

Kenntnisse in Programmiersprachen:

  • Sie benötigen Grundkenntnisse in Python (oder der Programmiersprache Ihrer Wahl), um den Beispielcode für die Lambda-Funktion und die Lambda-Erweiterung zu verstehen und zu ändern.

Entwicklungsumgebung:

  • Richten Sie eine lokale Entwicklungsumgebung mit den erforderlichen Tools und Abhängigkeiten für die Erstellung und Bereitstellung von Lambda-Funktionen und -Erweiterungen ein.

AWS CLI oder AWS Management Console:

  • Installieren und konfigurieren Sie das AWS Command Line Interface (AWS CLI) oder verwenden Sie das AWS Management Console mit den entsprechenden Anmeldeinformationen, um mit den erforderlichen zu interagieren AWS-Services.

Überwachung und Protokollierung:

  • Machen Sie sich mit bewährten Methoden zur Überwachung und Protokollierung vertraut AWS, einschließlich Diensten wie Amazon CloudWatch und AWS CloudTrail zu Überwachungs- und Prüfungszwecken.

  • Überprüfen Sie die CloudWatch Logs für Ihre Lambda-Funktion, um Fehler oder Ausnahmen im Zusammenhang mit der API Lambda-Telemetrie-Integration zu identifizieren. Anleitungen zur Fehlerbehebung finden Sie in der Lambda-Telemetrie-Dokumentation API.

Architektur

Dieses Muster verwendet OpenSearch Service, um Protokolle und Telemetriedaten zu speichern, die von Lambda-Funktionen generiert werden. Mit diesem Ansatz können Sie Protokolle schnell direkt in Ihren OpenSearch Cluster streamen, wodurch die Latenz und die Kosten reduziert werden, die mit der Verwendung von CloudWatch Logs als Vermittler verbunden sind.

Hinweis: Ihr Lambda-Erweiterungscode kann Telemetrie an OpenSearch Service weiterleiten, indem Sie entweder direkt die OpenSearch API oder eine OpenSearch Client-Bibliothek verwenden. Die Lambda-Erweiterung kann die von der unterstützten Massenoperationen verwenden, OpenSearch API um Telemetrieereignisse zu bündeln und sie in einer einzigen Anfrage an den OpenSearch Service zu senden.

Das folgende Workflow-Diagramm veranschaulicht den Log-Workflow für Lambda-Funktionen, wenn Sie einen OpenSearch Cluster als Endpunkt verwenden.

Workflow zum Senden von Telemetriedaten an einen OpenSearch Cluster.

Die Architektur umfasst die folgenden Komponenten:

  • Lambda-Funktion: Die serverlose Funktion, die während der Ausführung Protokolle und Telemetriedaten generiert.

  • Lambda-Erweiterung: Eine Python-basierte Erweiterung, die die Lambda-Telemetrie verwendet, um direkt in den Cluster API zu integrieren. OpenSearch Diese Erweiterung wird zusammen mit der Lambda-Funktion in derselben Ausführungsumgebung ausgeführt.

  • Lambda-TelemetrieAPI: API Diese ermöglicht es Lambda-Erweiterungen, Telemetriedaten, einschließlich Logs, Metriken und Traces, direkt an Überwachungs- und Beobachtungstools von Drittanbietern zu senden.

  • Amazon OpenSearch Service-Cluster: Ein verwalteter OpenSearch Cluster, der auf gehostet wird AWS. Dieser Cluster ist für die Aufnahme, Speicherung und Indizierung der Protokolldaten verantwortlich, die von der Lambda-Funktion über die Lambda-Erweiterung gestreamt werden.

Der Workflow besteht aus den folgenden Schritten:

  1. Die Lambda-Funktion wird aufgerufen und generiert während ihrer Ausführung Protokolle und Telemetriedaten.

  2. Die Lambda-Erweiterung läuft zusammen mit der Funktion zur Erfassung der Protokolle und Telemetriedaten mithilfe der Lambda-Telemetrie. API

  3. Die Lambda-Erweiterung stellt eine sichere Verbindung mit dem OpenSearch Service-Cluster her und streamt die Protokolldaten in Echtzeit.

  4. Der OpenSearch Service-Cluster erfasst, indexiert und speichert die Protokolldaten, um sie mithilfe von Tools wie Kibana oder anderen kompatiblen Anwendungen für die Suche, Analyse und Visualisierung verfügbar zu machen.

Durch die Umgehung von CloudWatch Logs und das direkte Senden von Protokolldaten an den OpenSearch Cluster bietet diese Lösung mehrere Vorteile:

  • Protokollstreaming und -analyse in Echtzeit ermöglichen eine schnellere Fehlerbehebung und verbesserte Beobachtbarkeit.

  • Geringere Latenz und potenzielle Aufbewahrungsbeschränkungen im Zusammenhang mit CloudWatch Protokollen.

  • Flexibilität, um die Lambda-Erweiterung anzupassen oder Ihre eigene Erweiterung für bestimmte Ausgabeformate oder zusätzliche Verarbeitung zu erstellen.

  • Integration mit den Such-, Analyse- und Visualisierungsfunktionen von OpenSearch Service für die Protokollanalyse und -überwachung.

Der Abschnitt Epics enthält step-by-step Anweisungen zur Einrichtung der Lambda-Erweiterung, zur Konfiguration der Lambda-Funktion und zur Integration in den OpenSearch Service-Cluster. Sicherheitsüberlegungen, Strategien zur Kostenoptimierung und Tipps zur Überwachung und Fehlerbehebung der Lösung finden Sie im Abschnitt Bewährte Methoden.

Tools

AWSDienste

  • AWS Lambda ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Lambda führt Ihren Code nur bei Bedarf aus und skaliert automatisch – von einigen Anforderungen pro Tag bis zu Tausenden pro Sekunde.

  • Amazon OpenSearch Service ist ein vollständig verwalteter Service von AWS , der die Bereitstellung, den Betrieb und die Skalierung von OpenSearch Clustern in der Cloud vereinfacht.

  • Lambda-Erweiterungen erweitern die Funktionalität Ihrer Lambda-Funktionen, indem sie zusätzlich benutzerdefinierten Code ausführen. Sie können Lambda-Erweiterungen verwenden, um Lambda in verschiedene Überwachungs-, Beobachtungs-, Sicherheits- und Governance-Tools zu integrieren.

  • AWS Lambda APIMit Telemetrie können Sie Erweiterungen verwenden, um erweiterte Überwachungs- und Beobachtbarkeitsdaten direkt von Lambda zu erfassen und an ein Ziel Ihrer Wahl zu senden.

  • AWS CloudFormationunterstützt Sie bei der Modellierung und Einrichtung Ihrer AWS Ressourcen, sodass Sie weniger Zeit mit der Verwaltung dieser Ressourcen verbringen und sich mehr auf Ihre Anwendungen konzentrieren können.

Code-Repositorien

Andere Tools

  • OpenSearchist eine verteilte Open-Source-Such- und Analysemaschine, die eine leistungsstarke Plattform für die Erfassung, Speicherung und Analyse großer Datenmengen bietet.

  • Kibana ist ein Open-Source-Tool zur Datenvisualisierung und -erkundung, das Sie mit verwenden können. OpenSearch Beachten Sie, dass die Implementierung von Visualisierung und Analyse den Rahmen dieses Musters sprengen würde. Weitere Informationen finden Sie in der Kibana-Dokumentation und in anderen Ressourcen.

Bewährte Methoden

Beachten Sie bei der Integration der Lambda-Telemetrie API die folgenden bewährten Methoden. OpenSearch

Sicherheit und Zugriffskontrolle

  • Sichere Kommunikation: Verschlüsseln Sie die gesamte Kommunikation zwischen Ihren Lambda-Funktionen und dem OpenSearch Cluster mithilfe von. HTTPS Konfigurieren Sie die erforderlichen SSL TLS /-Einstellungen in Ihrer Lambda-Erweiterung und OpenSearch -Konfiguration.

  • IAMBerechtigungen:

    • Erweiterungen werden in derselben Ausführungsumgebung wie die Lambda-Funktion ausgeführt, sodass sie dieselbe Zugriffsebene auf Ressourcen wie Dateisystem-, Netzwerk- und Umgebungsvariablen erben.

    • Gewähren Sie Ihren Lambda-Funktionen die erforderlichen IAM Mindestberechtigungen, um auf die Lambda-Telemetrie zuzugreifen API und Daten in den Cluster zu schreiben. OpenSearch Verwenden Sie das Prinzip der geringsten Rechte, um den Umfang der Berechtigungen einzuschränken.

  • OpenSearch Zugriffskontrolle: Implementieren Sie eine differenzierte Zugriffskontrolle in Ihrem OpenSearch Cluster, um den Zugriff auf sensible Daten zu beschränken. Verwenden Sie die integrierten Sicherheitsfunktionen wie Benutzerauthentifizierung, rollenbasierte Zugriffskontrolle und Berechtigungen auf Indexebene in. OpenSearch

  • Vertrauenswürdige Erweiterungen: Installieren Sie immer nur Erweiterungen aus einer vertrauenswürdigen Quelle. Verwenden Sie Infrastructure-as-Code-Tools (IaC) AWS CloudFormation , um beispielsweise das Anhängen derselben Erweiterungskonfiguration, einschließlich IAM Berechtigungen, an mehrere Lambda-Funktionen zu vereinfachen. IaC-Tools bieten auch ein Auditprotokoll der zuvor verwendeten Erweiterungen und Versionen.

  • Umgang mit sensiblen Daten: Vermeiden Sie beim Erstellen von Erweiterungen die Protokollierung sensibler Daten. Bereinigen Sie Payloads und Metadaten, bevor Sie sie protokollieren oder zu Prüfungszwecken speichern.

Kostenoptimierung

  • Überwachung und Alarmierung: Richten Sie Überwachungs- und Warnmechanismen ein, um die Datenmenge zu verfolgen, an die Ihre OpenSearch Lambda-Funktionen gesendet werden. Auf diese Weise können Sie potenzielle Kostenüberschreitungen erkennen und beheben.

  • Aufbewahrung von Daten: Überlegen Sie sich sorgfältig, welche Aufbewahrungsfrist für Ihre Lambda-Telemetriedaten angemessen ist. OpenSearch Längere Aufbewahrungsfristen können die Speicherkosten in die Höhe treiben. Bringen Sie also Ihre Anforderungen an die Beobachtbarkeit mit der Kostenoptimierung in Einklang.

  • Komprimierung und Indizierung: Aktivieren Sie die Datenkomprimierung und optimieren Sie Ihre OpenSearch Indexierungsstrategie, um den Speicherbedarf Ihrer Lambda-Telemetriedaten zu reduzieren.

  • Geringere Abhängigkeit von CloudWatch: Durch die API direkte Integration der Lambda-Telemetrie können Sie Ihre Abhängigkeit von CloudWatch Protokollen potenziell reduzieren, was zu Kosteneinsparungen führen kann. OpenSearch Dies liegt daran, dass Sie mit der Lambda-Telemetrie Protokolle direkt an senden API können OpenSearch, sodass die Daten nicht gespeichert und verarbeitet werden müssen. CloudWatch

Skalierbarkeit und Zuverlässigkeit

  • Asynchrone Verarbeitung: Verwenden Sie asynchrone Verarbeitungsmuster wie Amazon Simple Queue Service (AmazonSQS) oder Amazon Kinesis, um die Ausführung der Lambda-Funktion von der Datenaufnahme zu entkoppeln. OpenSearch Dies trägt dazu bei, die Reaktionsfähigkeit Ihrer Lambda-Funktionen aufrechtzuerhalten und die allgemeine Zuverlässigkeit des Systems zu verbessern.

  • OpenSearch Cluster-Skalierung: Überwachen Sie die Leistung und die Ressourcennutzung Ihres OpenSearch Clusters und skalieren Sie ihn nach Bedarf nach oben oder unten, um das zunehmende Volumen an Lambda-Telemetrie-Daten zu bewältigen.

  • Failover und Disaster Recovery: Implementieren Sie eine robuste Notfallwiederherstellungsstrategie für Ihren OpenSearch Cluster, einschließlich regelmäßiger Backups und der Möglichkeit, Daten im Falle eines Ausfalls schnell wiederherzustellen.

Beobachtbarkeit und Überwachung

  • Dashboards und Visualisierungen: Verwenden Sie Kibana oder andere Dashboard-Tools, um benutzerdefinierte Dashboards und Visualisierungen zu erstellen, die auf der Grundlage der enthaltenen Telemetriedaten Einblicke in die Leistung und den Zustand Ihrer Lambda-Funktionen bieten. OpenSearch

  • Warnmeldungen und Benachrichtigungen: Richten Sie Warnmeldungen und Benachrichtigungen ein, um Ihre Lambda-Funktionen proaktiv auf Anomalien, Fehler oder Leistungsprobleme zu überwachen. Integrieren Sie diese Warnungen und Benachrichtigungen in Ihre bestehenden Incident-Management-Prozesse.

  • Rückverfolgung und Korrelation: Stellen Sie sicher, dass Ihre Lambda-Telemetriedaten relevante Tracing-Informationen wie Anfrage IDs oder Korrelation enthaltenIDs, um die end-to-end Beobachtbarkeit und Fehlerbehebung in Ihren verteilten serverlosen Anwendungen zu ermöglichen.

Wenn Sie diese bewährten Methoden befolgen, können Sie sicherstellen, dass Ihre Integration der Lambda-Telemetrie API mit sicher, kostengünstig und skalierbar OpenSearch ist und umfassende Beobachtbarkeit für Ihre serverlosen Anwendungen bietet.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Laden Sie den Quellcode herunter.

Laden Sie die Beispielerweiterungen aus dem AWS Lambda Extensions Repository herunter.

App-Entwickler, Cloud-Architekt

Navigieren Sie zum Verzeichnis python-example-telemetry-opensearch-extension.

Das AWS Lambda von Ihnen heruntergeladene Extensions-Repository enthält zahlreiche Beispiele für verschiedene Anwendungsfälle und Sprachlaufzeiten. Navigieren Sie zum Ordner python-example-telemetry-opensearch-extension, um die OpenSearch Python-Erweiterung zu verwenden, an die Protokolle gesendet OpenSearch werden.

App-Entwickler, Cloud-Architekt

Fügen Sie Berechtigungen hinzu, um den Erweiterungsendpunkt auszuführen.

Führen Sie den folgenden Befehl aus, um den Erweiterungsendpunkt ausführbar zu machen:

chmod +x python-example-telemetry-opensearch-extension/extension.py
App-Entwickler, Cloud-Architekt

Installieren Sie die Abhängigkeiten der Erweiterungen lokal.

Führen Sie den folgenden Befehl aus, um lokale Abhängigkeiten für den Python-Code zu installieren:

pip3 install -r python-example-telemetry-opensearch-extension/requirements.txt -t ./python-example-telemetry-opensearch-extension/

Diese Abhängigkeiten werden zusammen mit dem Erweiterungscode bereitgestellt.

App-Entwickler, Cloud-Architekt

Erstellen Sie ein ZIP-Paket für die Erweiterung, um sie als Ebene bereitzustellen.

Die Erweiterung.zip-Datei sollte ein Stammverzeichnis mit dem Namenextensions/, in dem sich die ausführbare Datei der Erweiterung befindet, und ein weiteres Stammverzeichnis mit dem Namen enthaltenpython-example-telemetry-opensearch-extension/, in dem sich die Kernlogik der Erweiterung und ihre Abhängigkeiten befinden.

Erstellen Sie das ZIP-Paket für die Erweiterung:

chmod +x extensions/python-example-telemetry-opensearch-extension zip -r extension.zip extensions python-example-telemetry-opensearch-extension
App-Entwickler, Cloud-Architekt

Stellen Sie die Erweiterung als Lambda-Schicht bereit.

Veröffentlichen Sie den Layer mithilfe Ihrer Erweiterung.zip-Datei und dem folgenden Befehl:

aws lambda publish-layer-version \ --layer-name "python-example-telemetry-opensearch-extension" \ --zip-file "fileb://extension.zip"
App-Entwickler, Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Fügen Sie die Ebene zu Ihrer Funktion hinzu.

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Funktionsseite der AWS Lambda Konsole.

  2. Wählen Sie Ihre Funktion aus.

  3. Wählen Sie unter Layers (Ebenen) die Option Add a layer (Ebene hinzufügen).

  4. Wählen Sie unter Ebene auswählen die Option Benutzerdefinierte Ebenen als Ebenenquelle aus und fügen Sie Ihre Ebene hinzu.

Weitere Informationen zum Hinzufügen einer Ebene zu Ihrer Lambda-Funktion finden Sie in der Lambda-Dokumentation.

App-Entwickler, Cloud-Architekt

Legen Sie die Umgebungsvariablen für die Funktion fest.

Wählen Sie auf der Funktionsseite die Registerkarte Konfiguration und fügen Sie Ihrer Funktion die folgenden Umgebungsvariablen hinzu:

  • URL— Der URI Ihres OpenSearch Endpunkts, an den Ihre Logs gesendet werden.

  • AUTH_SECRET— Die ARN Ihrer OpenSearch Anmeldeinformationen, die in gespeichert sind AWS Secrets Manager. Dies sollte als Schlüssel-Wert-Paar gespeichert werden und zwei Schlüssel haben: username und. password

  • PLATFORM_INDEXFUNCTION_INDEX, und EXTENSION_INDEX — Die Namen der Indizes, in denen Ihre Telemetriedaten, Funktionsprotokolle und Erweiterungsprotokolle gespeichert werden. Stellen Sie sicher, dass sie die richtigen Benennungskriterien erfüllen. Andernfalls werden Ihre Indizes nicht erstellt.

  • DISPATCH_MIN_BATCH_SIZE— Die Anzahl der Protokollereignisse, die Sie stapeln möchten. Wenn die Funktion jedoch heruntergefahren wird, werden Ihre Protokolle unabhängig von dieser Einstellung versendet.

App-Entwickler, Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Fügen Sie Ihrer Funktion Protokollierungsanweisungen hinzu.

Fügen Sie Ihrer Funktion Protokollierungsanweisungen hinzu, indem Sie einen der integrierten Protokollierungsmechanismen oder das Logging-Modul Ihrer Wahl verwenden.

Hier sind Beispiele für das Protokollieren von Nachrichten in Python:

print("Your Log Message Here") logger = logging.getLogger(__name__) logger.info("Test Info Log.") logger.error("Test Error Log.")
App-Entwickler, Cloud-Architekt

Testen Sie Ihre Funktion.

  1. Wählen Sie auf der Funktionsseite die Registerkarte Test aus.

  2. Erstellen Sie ein Testereignis für Ihre Funktion und führen Sie den Test aus. Weitere Informationen finden Sie in der Lambda-Dokumentation unter Testen von Lambda-Funktionen in der Konsole.

Wenn alles ordnungsgemäß funktioniert, sollte die Meldung „Funktion ausgeführt: erfolgreich“ angezeigt werden.

App-Entwickler, Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Fragen Sie Ihre Indizes ab.

Führen Sie in OpenSearch den folgenden Befehl aus, um Ihre Indizes abzufragen:

SELECT * FROM index-name

Ihre Protokolle sollten in den Abfrageergebnissen angezeigt werden.

Cloud-Architekt

Fehlerbehebung

ProblemLösung

Probleme mit der Verbindung

  • Vergewissern Sie sich, dass Ihre Lambda-Funktion über die erforderliche Netzwerkkonnektivität für den Zugriff auf den OpenSearch Cluster verfügt. Anleitungen zur Konfiguration der VPC Einstellungen finden Sie in der OpenSearch Servicedokumentation.

  • Stellen Sie sicher, dass die Ihrer Lambda-Funktion gewährten IAM Berechtigungen es ihr ermöglichen, Daten in den OpenSearch Cluster zu schreiben. Informationen zur Verwaltung von IAM Berechtigungen finden Sie in der Lambda-Dokumentation.

Fehler bei der Datenaufnahme

  • Überprüfen Sie die CloudWatch Logs für Ihre Lambda-Funktion, um Fehler oder Ausnahmen im Zusammenhang mit der API Lambda-Telemetrie-Integration zu identifizieren. Anleitungen zur Fehlerbehebung finden Sie in der APILambda-Telemetrie-Dokumentation.

  • Stellen Sie sicher, dass der OpenSearch Cluster korrekt konfiguriert ist und über die erforderlichen Indexzuordnungen und Einstellungen verfügt, um die Lambda-Telemetriedaten aufzunehmen. Weitere Informationen finden Sie in der OpenSearch Dokumentation.

Zugehörige Ressourcen

Zusätzliche Informationen

Änderung der Protokollstruktur

Die Erweiterung sendet Protokolle standardmäßig als verschachteltes Dokument OpenSearch an. Auf diese Weise können Sie verschachtelte Abfragen ausführen, um einzelne Spaltenwerte abzurufen.

Wenn die Standard-Protokollausgabe nicht Ihren spezifischen Anforderungen entspricht, können Sie sie anpassen, indem Sie den Quellcode der Lambda-Erweiterung ändern, die von bereitgestellt wird AWS. AWS ermutigt Kunden, die Ausgabe an ihre Geschäftsanforderungen anzupassen. Um die Protokollausgabe zu ändern, suchen Sie die dispatch_to_opensearch Funktion in der telemetry_dispatcher.py Datei im Quellcode der Erweiterung und nehmen Sie die erforderlichen Änderungen vor.