- Información general
- Requisitos
- Instalación
- Después de la instalación
- Migración y actualización
- Actualizar Automation Suite en EKS / AKS
- Opciones de migración
- Paso 1: Mover los datos de la organización de identidad de independiente a Automation Suite
- Paso 2: restaurar la base de datos del producto independiente
- Paso 3: Realizar una copia de seguridad de la base de datos de la plataforma en Automation Suite
- Paso 4: Fusionar organizaciones en Automation Suite
- Paso 5: actualizar las cadenas de conexión de los productos migrados
- Paso 6: migrar Insights independiente
- Paso 7: eliminar el tenant predeterminado
- B) Migración de tenant único
- Supervisión y alertas
- Administración de clústeres
- Realizar el mantenimiento de la base de datos
- Forwarding application logs to Splunk
- Configuración específica del producto
- Solución de problemas
Forwarding application logs to Splunk
- 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.
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.
To configure the ClusterOutput for Splunk, run the following command:
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>
EOF
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>
EOF
Replace the attributes between angle brackets < > with the corresponding values used in your Splunk configuration. For details, see the following table:
| 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. |
Para filtrar los registros en Splunk por tipo de entorno (desarrollo, prueba, etc.), utiliza el atributo source .
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
ClusterOutputal que enviar los registros.
To configure ClusterFlow in Fluentd, run the following command:
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: {}
EOF
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: {}
EOF
Buscar en Splunk
-
Selecciona Búsqueda e informes.
-
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:
-
Cambia el nivel de registro de Fluentd para depurar.
-
Consultar 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/outNota:Los registros de Fluentd deben indicar la causa de que los datos no se envíen a Splunk.
-
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}]'