UiPath Documentation
automation-suite
2023.4
false
Guía de instalación de Automation Suite en Linux
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Forwarding application logs to Splunk

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

Para configurar Splunk, siga estos pasos:

  1. Selecciona Configuración en la barra de navegación superior y luego selecciona Índices.

  2. Selecciona Nuevo índice y luego Crear un índice.

  3. Selecciona Configuración en la barra de navegación superior y luego selecciona Entradas de datos.

  4. Selecciona Recopilador de eventos HTTP.

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

  6. Habilite y guarde la Configuración global.

  7. Para crear el token, selecciona Nuevo token.

  8. Introduce un nombre para el recopilador de eventos HTTP y selecciona Siguiente.

  9. Selecciona Nuevo e introduce los detalles del Tipo de origen .

  10. Desplázate hacia abajo y selecciona Índice en la lista de índices disponibles, y selecciona Siguiente en la barra de navegación superior.

  11. Verifica los datos y selecciona Enviar.

  12. Una vez creado, obtenga los detalles de ID de token (Token ID),Índice (Index),Origen (Source),Tipo Origen (Source Type). Necesita estos valores para configurar ClusterOutput.

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

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

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

Replace the attributes between angle brackets < > with the corresponding values used in your Splunk configuration. For details, see the following table:

AtributoDescripción
splunk_hec_hostEl host de red de su instancia de Splunk. Suele ser la dirección IP o FQDN de Splunk.
splunk_hec_portEl 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_keyLa 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.bufferLa frecuencia de salida o la frecuencia con la que desea insertar los registros. Recomendamos usar un intervalo de 30 segundos (30s).
protocolEl 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_indexEl identificador del índice de Splunk. Se utiliza para indexar eventos.
splunk_hec_sourceEl campo Origen para eventos.
splunk_hec_source_typeEl campo Tipo de origen para eventos.

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

ClusterFlow en FluentD​

Utilice ClusterFlow para definir:

  • los registros que quieres recopilar y filtrar;
  • el ClusterOutput al que enviar los registros.

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

Buscar en Splunk​

  1. Selecciona Búsqueda e informes.

  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. Consultar el pod de Fluentd:

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

    Los registros de Fluentd deben indicar la causa de que los datos no se envíen a Splunk.

  3. Después de solucionar el problema, restaura el nivel de registro de Fluentd:

    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"}]'
    

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado