automation-suite
2023.4
false
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde.
Automation Suite auf EKS/AKS-Installationsanleitung
Last updated 20. Sep. 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 ist ein externes Tool und UiPath® gibt keine Empfehlungen, wie Sie Ihre Splunk-Einstellung konfigurieren sollten. Weitere Informationen zum HTTP-Ereignissammler finden Sie in der offiziellen Dokumentation von Splunk.

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.

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 logging create secret generic splunk-hec-token --from-literal=splunk_hec_token=<splunk_hec_token>kubectl -n logging 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.

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

kubectl -n logging 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 logging 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.

Hinweis: Um Protokolle in Splunk nach Umgebungstyp (Dev, Test usw.) zu filtern, verwenden Sie das Attribut source.

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

docs image

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.

Führen Sie den folgenden Befehl aus, um ClusterFlow in Fluentd zu konfigurieren:

kubectl -n logging apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
  name: splunk-flow
  namespace: logging
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:
      - default
  - exclude:
      labels:
        app: csi-snapshotter
  - exclude:
      labels:
        longhorn.io/job-task: backup
  - exclude:
      labels:
        app: csi-resizer
  - select: {}
EOFkubectl -n logging apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
  name: splunk-flow
  namespace: logging
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:
      - default
  - exclude:
      labels:
        app: csi-snapshotter
  - exclude:
      labels:
        longhorn.io/job-task: backup
  - 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 logging -n logging  logging-operator-logging  --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]'
    kubectl -n logging exec -it sts/logging-operator-logging-fluentd cat /fluentd/log/outkubectl patch logging -n logging  logging-operator-logging  --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]'
    kubectl -n logging exec -it sts/logging-operator-logging-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 logging -n logging  logging-operator-logging  --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel","value":debug}]'kubectl patch logging -n logging  logging-operator-logging  --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel","value":debug}]'

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten