Automation Suite
2022.4
False
Bannerhintergrundbild
Automation Suite-Installationsanleitung
Letzte Aktualisierung 24. Apr. 2024

Einrichten von 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

Um ein Geheimnis im Cluster mit dem HTTP-Ereignissammler-Token von Splunk zu erstellen, führen Sie den folgenden Befehl aus:

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

Führen Sie den folgenden Befehl für ClusterOutput an Splunk aus. Ersetzen Sie die folgenden Attribute durch die Attribute Ihrer Splunk-Konfiguration:

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: <secret_key>
          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: <secret_key>
          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

Attribut

Beschreibung

splunk_hec_host

Der Netzwerkhost Ihrer Splunk-Instanz.

splunk_hec_port

Der Splunk-Port für die Clientkommunikation.

secret_key

Der geheime Schlüssel mit dem Splunk-Token.

splunk_hec_timekey -Wert in splunkHec.buffer

Die Ausgabehäufigkeit, d. h. wie oft Sie Protokolle ausgeben möchten.

protocol

Das URL-Protokoll. Gültige Werte sind http und https.

splunk_hec_index

Bezeichner für den Splunk-Index, der für die Indizierung von Ereignissen verwendet werden soll.

splunk_hec_source

Das Quellfeld für Ereignisse.

splunk_hec_source_type

Das Quelltypfeld für Ereignisse.

ClusterFlow in Fluentd

Führen Sie den folgenden Befehl für ClusterFlow in Fluentd 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:
        longhorn.io/job-task: backup
  - 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:
        longhorn.io/job-task: backup
  - exclude:
      labels:
        app: csi-resizer
  - select: {}
EOF
Hinweis: Protokolle aus dem Cluster werden gesammelt und in ClusterOutput protokolliert.

Konfigurieren von Splunk

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. Klicken Sie auf Globale Einstellungen, um die neue Tokenerstellung zu aktivieren.


  6. Aktivieren und speichern Sie die globalen Einstellungen.


  7. Klicken Sie auf Neues Token, um das Token zu erstellen.


  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 der Token-ID, des Index, der Quelle und des Quelltyps ab. Diese benötigen Sie beim Einrichten von ClusterOutput.


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 an Splunk übertragen werden, versuchen Sie Folgendes:

  1. Ändern Sie die Fluentd-Protokollebene in „debuggen“.
  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 die FluentD-Protokollebene 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.