IBM Cloud Logs und Event Streams integrieren

Sie können IBM® Event Streams for IBM Cloud® mit IBM Cloud Logs verwenden, um Protokolldaten zu streamen und zu verwalten. IBM® Event Streams for IBM Cloud® ist ein skalierbarer, verwalteter Apache Kafka-Dienst, der es Anwendungen ermöglicht, Daten zu senden, indem sie Nachrichten erstellen und diese an ein Topic senden. Anwendungen können diese Themen abonnieren, um Nachrichten zu erhalten, die eine Echtzeit-Datenverarbeitung und -Analyse ermöglichen.

Wenn Sie die Streaming-Konfiguration aktualisieren, nachdem sie aktiviert wurde, werden die Änderungen automatisch übernommen. Es dauert ein paar Minuten, bis die Änderungen übernommen werden.

Voraussetzungen

  • Eine IBM® Event Streams for IBM Cloud®-Instanz wird in demselben Konto bereitgestellt wie die IBM Cloud Logs-Instanz, von der aus Sie Daten streamen wollen.

    Überprüfen Sie die Einschränkungen der Servicepläne. Weitere Informationen finden Sie unter Grenzwerte und Kontingente.

  • Sie haben die Berechtigung, ein Thema in der Instanz IBM® Event Streams for IBM Cloud® zu erstellen.

    Um ein Thema in Event Streams zu erstellen, müssen Sie die Managerrolle für die Instanz Event Streams haben. Diese Rolle beinhaltet die messagehub.topic.manage IAM-Aktionsrolle, die es einer App oder einem Benutzer erlaubt, Themen zu erstellen oder zu löschen.

  • Sie haben die Berechtigung, Streaming in Ihrer IBM® Cloud Logs-Instanz zu konfigurieren.

    Sie müssen die Dienstrolle Manager haben.

Anlegen der Dienst-zu-Dienst-Berechtigung

Die Berechtigung zum Senden von Daten von einer IBM® Cloud Logs-Instanz an ein Thema, das in einer Event Streams-Instanz definiert ist, erfolgt durch Konfiguration einer Dienst-zu-Dienst-Berechtigung in IAM in IBM Cloud.

Zur Konfiguration der Dienst-zu-Dienst-Autorisierung siehe Erstellen einer S2S-Autorisierung für die Arbeit mit dem Event Streams-Dienst.

Thema erstellen

In Ihrer IBM® Event Streams for IBM Cloud®-Instanz müssen Sie ein Thema definieren, in das die IBM Cloud Logs-Instanz Daten streamt.

Führen Sie die folgenden Schritte aus, um ein Event Streams Thema zu erstellen:

  1. Klicken Sie auf das Symbol Menü Menüsymbol > Ressourcenliste.

  2. Suchen Sie nach der Event Streams-Instanz, die Sie verwenden möchten, und wählen Sie sie aus.

  3. Klicken Sie in der Instanzkonsole Event Streams auf Topics.

  4. Klicken Sie auf Thema erstellen.

  5. Geben Sie einen Themennamen ein und klicken Sie auf Weiter.

  6. Geben Sie die Anzahl der Partitionen ein und klicken Sie auf Weiter.

    Ein Topic besteht aus mindestens einer Partition. Eine Partition ist eine sortierte Liste aus Nachrichten. Partitionen werden über Broker verteilt, um die Skalierbarkeit des Topics zu vergrößern. Sie können sie auch für das Verteilen von Nachrichten an die Mitglieder einer Consumergruppe verwenden.

  7. Wählen Sie eine Nachrichtenaufbewahrung.

    Nachrichtenaufbewahrung definiert, wie lange Nachrichten aufbewahrt werden, bevor sie gelöscht werden. Wenn die Nachrichten in diesem Zeitraum nicht von einem Consumer gelesen werden, werden sie übersehen.

  8. Klicken Sie auf Thema erstellen.

Streaming konfigurieren

Konfigurieren Sie Ihre IBM Cloud Logs Instanz so, dass sie Daten zu einem Thema in Ihrer IBM® Event Streams for IBM Cloud® Instanz streamt.

Führen Sie die folgenden Schritte aus:

  1. Melden Sie sich bei Ihrem IBM Cloud Konto an.

  2. Zugriff auf die Instanz IBM Cloud Logs

  3. Klicken Sie auf das Symbol Datenpipeline Datenpipeline > Streams.

  4. Klicken Sie auf + Stream hinzufügen.

  5. Konfigurieren Sie den Stream:

    • Geben Sie für Stream name einen Namen Ihrer Wahl ein.

    • Für Stream Url geben Sie die Liste Bootstrap Server ein. Führen Sie die folgenden Schritte aus, um die Liste zu erhalten:

      Klicken Sie auf das Symbol Menü Menüsymbol > Ressourcenliste.

      Suchen Sie nach der Event Streams-Instanz, die Sie verwenden möchten, und wählen Sie sie aus.

      Wählen Sie Topics aus. Klicken Sie dann auf Verbinden mit diesem Thema

      Erstellen Sie im Abschnitt Ressourcen eine Kopie der mitgelieferten Bootstrap-Server-Liste.

      Verbindungsseite zum Dienst
      Verbindungsdialog

    • Geben Sie unter Topic name den Namen Ihres IBM® Event Streams for IBM Cloud® Themas ein.

    • Um die Daten einzuschränken, die an das Thema gesendet werden, geben Sie eine Abfrage ein, die den Protokollen entspricht, die Sie senden möchten. Beispiel: $m.severity == ERROR

      Weitere Informationen zur Definition von Datenregeln finden Sie unter Konfiguration von Streaming-Datenregeln.

Die folgende Abbildung zeigt eine Beispielkonfiguration:

Add-Streams
Beispiel-Stream-Konfiguration

Bestätigen Sie die Konfiguration

Überprüfen Sie, ob Sie eine Beispielprotokollzeile in das Thema streamen können, bevor Sie mit dem Streaming beginnen.

Führen Sie die folgenden Schritte aus:

  1. Verwenden Sie ein Kafka-Tool, um eine sichere Verbindung zur IBM® Event Streams for IBM Cloud®-Instanz herzustellen. Sie können zum Beispiel Use Kafka Connect oder ksqlDB verwenden.

  2. Senden Sie ein Beispielprotokoll, um die Verbindung zu überprüfen.

    Klicken Sie auf Send sample log, um die Verbindung zu testen. Die Beispielmeldung sollte innerhalb einer Minute in Ihrer Konsole erscheinen.

Streaming starten

Nachdem Sie überprüft haben, dass das Beispielprotokoll erfolgreich empfangen wurde, setzen Sie die Streaming-Konfiguration auf aktiv und klicken Sie auf Stream erstellen.

Es dauert einige Minuten, bis eine Streaming-Konfiguration mit dem Streaming beginnt, nachdem Sie die Konfiguration aktiviert haben.

Ihr IBM® Event Streams for IBM Cloud® filtert und empfängt nun Nachrichten gemäß der angegebenen Abfrage.