UiPath Documentation
automation-suite
2023.4
false
Automation Suite unter Linux – Installationsanleitung
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Weiterleiten von Anwendungsprotokollen an Splunk

Hinweis:
  • This section covers exporting POD logs. For exporting robot logs, see Ochestrator - About Logs.
  • 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.

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

  1. Wählen Sie in der oberen Navigationsleiste Einstellungen und dann Indizes aus.

  2. Wählen Sie Neuer Index und dann Index erstellen.

  3. Wählen Sie in der oberen Navigationsleiste Einstellungen und dann Dateneingaben aus.

  4. Wählen Sie HTTP-Ereignissammler.

  5. To enable the new token creation, select Global Settings .

  6. Aktivieren und speichern Sie die globalen Einstellungen.

  7. Um das Token zu erstellen, wählen Sie Neues Token aus.

  8. Geben Sie einen Namen für den HTTP-Ereignissammler ein und wählen Sie Weiter aus.

  9. Wählen Sie Neu aus 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 wählen Sie dann Weiter in der oberen Navigationsleiste.

  11. Überprüfen Sie die Daten und wählen Sie Übermitteln aus.

  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.

To configure the ClusterOutput for Splunk, run the following command:

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

AttributBeschreibung
splunk_hec_hostDer Netzwerkhost Ihrer Splunk-Instanz. Dies ist normalerweise die IP-Adresse oder der FQDN von Splunk.
splunk_hec_portDer 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_keyDer 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.bufferDie Ausgabehäufigkeit oder wie oft Sie Protokolle übertragen möchten. Wir empfehlen die Verwendung eines 30-Sekunden-Intervalls ( 30s ).
protocolDas 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_indexDer Bezeichner für den Splunk-Index. Wird zum Indizieren von Ereignissen verwendet.
splunk_hec_sourceDas Quellfeld für Ereignisse.
splunk_hec_source_typeDas 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.

To configure ClusterFlow in Fluentd, run the following command:

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: {}
EOF
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: {}
EOF

Die Suche in Splunk

  1. Wählen Sie Suchen und Berichterstellung aus.

  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/out
    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/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?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben