automation-suite
2023.4
false
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática.
UiPath logo, featuring letters U and I in white
Sin asistencia
Guía de instalación de Automation Suite en EKS / AKS
Last updated 11 de nov. de 2024

Forwarding application logs to Splunk

Nota:
  • Esta sección abarca la exportación de registros POD. Para exportar registros de robots, consulta Ochestrator: acerca de los registros.

  • Splunk es una herramienta externa y UiPath® no tiene opinión formada sobre cómo debes configurar tus ajustes de Splok. Para obtener más detalles sobre el recopilador de eventos HTTP, consulta la documentación oficial de Splok.

La pila Splunk-Fluentd es una solución de registro centralizada que le permite buscar, analizar y visualizar datos de registro. Fluentd recopila y envía los registros a Splunk. Splunk recupera los registros y le permite visualizar y analizar los datos.

Crear un secreto con un token

Crea un secreto de Kubernetes con el token del recopilador de eventos HTTP (HEC) generado en la IU de Splunk. Este token se utiliza para la autenticación entre Automation Suite y Splunk.

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 en Splunk

Un ClusterOutput define a dónde se envían tus registros y describe los detalles de configuración y autenticación.

Para configurar ClústerOutput para Splunk, ejecuta el siguiente comando:

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
Nota: reemplaza los atributos entre corchetes angulares < > con los valores correspondientes usados en tu configuración de Splunk. Para obtener más información, consulta la siguiente tabla:

Atributo

Descripción

splunk_hec_host

El host de red de su instancia de Splunk. Suele ser la dirección IP o FQDN de Splunk.

splunk_hec_port

El puerto Splunk para la comunicación con el cliente. Este puerto generalmente difiere del puerto en el que inicia el panel de Splunk. El puerto HEC tradicional para Splunk es 8088.

secret_key

La clave secreta del token de Splunk. Este es el nombre de la clave del secreto que creaste en el paso anterior, que contiene el token de Splunk HEC.

El manifiesto presentado ya contiene la clave: splunk_hec_token. Si no ha modificado el comando para crear un secreto, no es necesario cambiar este valor.
splunk_hec_timekey valor en splunkHec.buffer
La frecuencia de salida o la frecuencia con la que desea insertar los registros. Recomendamos usar un intervalo de 30 segundos (30s).

protocol

El protocolo URL. Los valores válidos son http y https. Debe usar el protocolo HTTPS si tiene la comunicación SSL habilitada en Splunk.

splunk_hec_index

El identificador del índice de Splunk. Se utiliza para indexar eventos.

splunk_hec_source

El campo Origen para eventos.

splunk_hec_source_type

El campo Tipo de origen para eventos.

Nota: Para filtrar los registros en Splunk por tipo de entorno (dev, test, etc.), utiliza el atributo source.

El siguiente ejemplo se basa en la configuración presentada en esta página.

docs image

ClusterFlow en FluentD

Utilice ClusterFlow para definir:
  • los registros que quieres recopilar y filtrar;
  • el ClusterOutput al que enviar los registros.

Para configurar ClústerFlow en Fluentd, ejecuta el siguiente comando:

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

Buscar en Splunk

  1. Haga clic en Buscar y notificar.



  2. Busque según Origen, Índice y Tipo de origen.





Solución de problemas

Si, por alguna razón, los registros de la aplicación no se envían a Splunk, realiza los siguientes pasos:

  1. Cambia el nivel de registro de Fluentd para depurar.
  2. Consulta el pod de Fluentd:
    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
    Nota: Los registros de Fluentd deben indicar la causa por la que los datos no se insertan en Splunk.
  3. Después de solucionar el problema, restaura el nivel de registro de Fluentd:
    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}]'

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.