Automation Suite
2023.10
False
Bannerhintergrundbild
Automation Suite unter Linux – Installationsanleitung
Letzte Aktualisierung 19. April 2024

Weiterleiten von Anwendungsprotokollen an Splunk

Hinweis:
  • Dieser Abschnitt behandelt das Exportieren von POD-Protokollen. Informationen zum Exportieren von Roboterprotokollen finden Sie unter Orchestrator – Über Protokolle.

  • Splunk is an external tool, and UiPath® does not have an opinion on how you should configure your Splunk setting. For more details about HTTP Event Collector, see Splunk official documentation.

Der Splunk-Fluentd-Stack ist eine zentralisierte Protokollierungslösung, mit der Sie Protokolldaten suchen, analysieren und visualisieren können. Fluentd sammelt und sendet die Protokolle an Splunk. Splunk ruft die Protokolle ab und ermöglicht Ihnen, die Daten zu visualisieren und zu analysieren.

Führen Sie zum Konfigurieren von Splunk die folgenden Schritte aus:

  1. Klicken Sie in der oberen Navigationsleiste auf Einstellungen und wählen Sie dann Indizes aus.


  2. Klicken Sie auf Neuer Index und erstellen Sie dann einen Index.




  3. Klicken Sie in der oberen Navigationsleiste auf Einstellungen und wählen Sie dann Dateneingaben aus.


  4. Klicken Sie auf HTTP-Ereignissammler.


  5. Um die neue Tokenerstellung zu aktivieren, klicken Sie auf Globale Einstellungen.


  6. Aktivieren und speichern Sie die globalen Einstellungen.


  7. Um das Token zu erstellen, klicken Sie auf Neues Token.


  8. Geben Sie einen Namen für den HTTP-Ereignissammler ein und klicken Sie auf Weiter.


  9. Klicken Sie auf Neu und geben Sie Details zum Quelltyp ein.


  10. Scrollen Sie nach unten, wählen Sie Index aus der verfügbaren Liste der Indizes aus und klicken Sie in der oberen Navigationsleiste auf Weiter.


  11. Überprüfen Sie die Daten und klicken Sie auf Übermitteln.


  12. Rufen Sie nach der Erstellung die Details von Token-ID, Index, Quelle und Quelltyp ab. Sie benötigen diese Werte, um ClusterOutput einzurichten.


Erstellen eines Geheimnisses mit einem Token

Erstellen Sie ein Kubernetes-Geheimnis mit dem HEC-Token (HTTP Event Collector), das in der Splunk-Benutzeroberfläche generiert wird. Dieses Token wird für die Authentifizierung zwischen der Automation Suite und Splunk verwendet.

kubectl -n cattle-logging-system create secret generic splunk-hec-token --from-literal=splunk_hec_token=<splunk_hec_token>kubectl -n cattle-logging-system create secret generic splunk-hec-token --from-literal=splunk_hec_token=<splunk_hec_token>

ClusterOutput zu Splunk

Ein ClusterOutput definiert, wohin Ihre Protokolle gesendet werden, und beschreibt die Konfigurations- und Authentifizierungsdetails.

Um ClusterOutput für Splunk zu konfigurieren, führen Sie den folgenden Befehl aus:

kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
  name: splunk-output
spec:
  splunkHec:
    buffer:
      tags: '[]'
      timekey: <splunk_hec_timekey>
      timekey_use_utc: true
      timekey_wait: 10s
      type: file
    hec_host: <splunk_hec_host>
    hec_port: <splunk_hec_port>
    hec_token:
      valueFrom:
        secretKeyRef:
          key: splunk_hec_token
          name: splunk-hec-token
    index: <splunk_hec_index>
    insecure_ssl: true
    protocol: <splunk_hec_protocol>
    source: <splunk_hec_source>
    sourcetype: <splunk_hec_source_type>
EOFkubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
  name: splunk-output
spec:
  splunkHec:
    buffer:
      tags: '[]'
      timekey: <splunk_hec_timekey>
      timekey_use_utc: true
      timekey_wait: 10s
      type: file
    hec_host: <splunk_hec_host>
    hec_port: <splunk_hec_port>
    hec_token:
      valueFrom:
        secretKeyRef:
          key: splunk_hec_token
          name: splunk-hec-token
    index: <splunk_hec_index>
    insecure_ssl: true
    protocol: <splunk_hec_protocol>
    source: <splunk_hec_source>
    sourcetype: <splunk_hec_source_type>
EOF
Hinweis: Ersetzen Sie die Attribute zwischen spitzen Klammern < > durch die entsprechenden Werte, die in Ihrer Splunk-Konfiguration verwendet werden.Weitere Informationen finden Sie in der folgenden Tabelle:

Attribut

Beschreibung

splunk_hec_host

Der Netzwerkhost Ihrer Splunk-Instanz. Dies ist normalerweise die IP-Adresse oder der FQDN von Splunk.

splunk_hec_port

Der Splunk-Port für die Clientkommunikation. Dieser Port unterscheidet sich normalerweise von dem Port, auf dem Sie das Splunk-Dashboard starten. Der herkömmliche HEC-Port für Splunk ist 8088 .

secret_key

Der geheime Schlüssel des Splunk-Tokens. Dies ist der Name des Schlüssels im Geheimnis, das Sie im vorherigen Schritt erstellt haben und das das Splunk-HEC-Token enthält.

Das präsentierte Manifest enthält bereits den Schlüssel: splunk_hec_token . Wenn Sie den Befehl zum Erstellen eines Geheimnisses nicht geändert haben, müssen Sie diesen Wert nicht ändern.
splunk_hec_timekey -Wert in splunkHec.buffer
Die Ausgabehäufigkeit oder wie oft Sie Protokolle übertragen möchten. Wir empfehlen die Verwendung eines 30-Sekunden-Intervalls ( 30s ).

protocol

Das URL-Protokoll. Gültige Werte sind http und https . Sie müssen das HTTPS-Protokoll verwenden, wenn Sie die SSL-Kommunikation auf Splunk aktiviert haben.

splunk_hec_index

Der Bezeichner für den Splunk-Index. Wird zum Indizieren von Ereignissen verwendet.

splunk_hec_source

Das Quellfeld für Ereignisse.

splunk_hec_source_type

Das Quelltypfeld für Ereignisse.

Das folgende Beispiel basiert auf der Konfiguration, die auf dieser Seite vorgestellt wird.



ClusterFlow in Fluentd

Verwenden Sie ClusterFlow , um Folgendes zu definieren:
  • Die Protokolle, die Sie sammeln und filtern möchten;
  • Den ClusterOutput, an den die Protokolle gesendet werden sollen.

Um ClusterFlow in Fluentd zu konfigurieren, führen Sie den folgenden Befehl aus:

kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
  name: splunk-flow
  namespace: cattle-logging-system
spec:
  filters:
  - tag_normaliser:
      format: ${namespace_name}/${pod_name}.${container_name}
  globalOutputRefs:
  - splunk-output
  match:
  - select:
      container_names:
      - istio-proxy
      namespaces:
      - istio-system
  - exclude:
      container_names:
      - istio-proxy
      - istio-init
      - aicenter-hit-count-update
      - istio-configure-executor
      - on-prem-tenant-license-update
      - curl
      - recovery
      - aicenter-oob-scheduler
      - cert-trustor
  - exclude:
      namespaces:
      - fleet-system
      - cattle-gatekeeper-system
      - default
  - exclude:
      labels:
        app: csi-snapshotter
  - exclude:
      labels:
        app: csi-resizer
  - select: {}
EOFkubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
  name: splunk-flow
  namespace: cattle-logging-system
spec:
  filters:
  - tag_normaliser:
      format: ${namespace_name}/${pod_name}.${container_name}
  globalOutputRefs:
  - splunk-output
  match:
  - select:
      container_names:
      - istio-proxy
      namespaces:
      - istio-system
  - exclude:
      container_names:
      - istio-proxy
      - istio-init
      - aicenter-hit-count-update
      - istio-configure-executor
      - on-prem-tenant-license-update
      - curl
      - recovery
      - aicenter-oob-scheduler
      - cert-trustor
  - exclude:
      namespaces:
      - fleet-system
      - cattle-gatekeeper-system
      - default
  - exclude:
      labels:
        app: csi-snapshotter
  - exclude:
      labels:
        app: csi-resizer
  - select: {}
EOF

Die Suche in Splunk

  1. Klicken Sie auf Suchen und Berichterstellung.



  2. Suche basierend auf Quelle, Index und SourceType.





Fehlersuche und ‑behebung

Wenn die Anwendungsprotokolle aus irgendeinem Grund nicht per Push an Splunk übertragen werden, führen Sie die folgenden Schritte aus:

  1. Ändern Sie das Fluentd-Log-Level in „debug“.
  2. Fragen Sie den Fluentd-Pod ab:
    kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]'
    kubectl -n cattle-logging-system exec -it sts/rancher-logging-root-fluentd cat /fluentd/log/outkubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]'
    kubectl -n cattle-logging-system exec -it sts/rancher-logging-root-fluentd cat /fluentd/log/out
    Hinweis: Die Fluentd-Protokolle sollten die Ursache dafür angeben, dass Daten nicht an Splunk gepusht werden.
  3. Nachdem Sie das Problem behoben haben, stellen Sie das Fluentd-Log-Level wieder her:
    kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel"}]'kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel"}]'

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.