Argo Workflows

Supported OS Linux Windows Mac OS

Versión de la integración3.0.0

Información general

Este check supervisa Argo Workflows a través del Datadog Agent.

Configuración

Sigue las instrucciones siguientes para instalar y configurar este check para un Agent que se ejecute en tu entorno de Kubernetes. Para obtener más información sobre la configuración en entornos en contenedores, consulta las Plantillas de integración de Autodiscovery para obtener orientación.

Instalación

A partir de la versión 7.53.0 del Agent, el check de Argo Workflows se incluye en el paquete del Datadog Agent. No es necesaria ninguna instalación adicional en tu entorno.

Este check utiliza OpenMetrics para recopilar métricas del endpoint de OpenMetrics.

Configuración

El Argo Workflows Workflow Controller tiene métricas con formato Prometheus disponibles en /metrics en el puerto 9090. Para que el Agent comience a recopilar métricas, es necesario anotar el pod del Workflow Controller. Para obtener más información sobre las anotaciones, consulta las plantillas de integración de Autodiscovery como guía. Puedes encontrar opciones de configuración adicionales en el argo_workflows.d/conf.yaml de ejemplo.

El único parámetro necesario para configurar el check de Argo Workflows es:

  • openmetrics_endpoint: este parámetro debe establecerse en la ubicación donde se exponen las métricas con formato Prometheus. El puerto predeterminado es 9090. En entornos con contenedores, debe utilizarse %%host%% para la autodetección de host.
apiVersion: v1
kind: Pod
# (...)
metadata:
  name: '<POD_NAME>'
  annotations:
    ad.datadoghq.com/argo-workflows.checks: |
      {
        "argo_workflows": {
          "init_config": {},
          "instances": [
            {
              "openmetrics_endpoint": "http://%%host%%:9090/metrics"
            }
          ]
        }
      }
    # (...)
spec:
  containers:
    - name: 'argo-workflows'
# (...)

Recopilación de logs

Disponible para las versiones 6.0 o posteriores del Agent

Los logs de Argo Workflows pueden recopilarse de los diferentes pods de Argo Workflows a través de Kubernetes. La recopilación de logs está desactivada por defecto en el Datadog Agent. Para habilitarla, consulta Recopilación de logs de Kubernetes.

Consulta las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de los parámetros que se indican a continuación.

ParámetroValor
<LOG_CONFIG>{"source": "argo_workflows", "service": "<SERVICE_NAME>"}

Validación

Ejecuta el subcomando de estado del Agent y busca argo_workflows en la sección Checks.

Datos recopilados

Métricas

argo_workflows.cronworkflows.concurrencypolicy_triggered.count
(count)
Número de veces que se activa la política de concurrencia en los procesos cron
argo_workflows.cronworkflows.triggered.count
(count)
Número de procesos cron activados
argo_workflows.current_workflows
(gauge)
Número de procesos a los que puede acceder actualmente el controlador por estado (se actualiza cada 15 segundos)
argo_workflows.deprecated.feature
(gauge)
Indica el uso de funciones obsoletas
argo_workflows.error.count
(count)
Número de errores encontrados por el controlador por causa
Se muestra como error
argo_workflows.go.gc.duration.seconds.count
(count)
El recuento resumido de ciclos de recopilación de elementos no usados en la instancia de Argo Workflows
argo_workflows.go.gc.duration.seconds.quantile
(gauge)
La duración de la pausa de los ciclos de recopilación de elementos no usados en la instancia de Argo Workflows por quantile
argo_workflows.go.gc.duration.seconds.sum
(count)
La suma de la duración de la pausa de los ciclos de recopilación de elementos no usados en la instancia de Argo Workflows
Se muestra en segundos
argo_workflows.go.goroutines
(gauge)
Número de goroutines que existen actualmente.
argo_workflows.go.info
(gauge)
Información sobre el entorno Go.
argo_workflows.go.memstats.alloc_bytes
(gauge)
Número de bytes asignados y aún en uso.
Se muestra como byte
argo_workflows.go.memstats.alloc_bytes.count
(count)
Número total de bytes asignados, incluso si se han liberado.
Se muestra como byte
argo_workflows.go.memstats.buck_hash.sys_bytes
(gauge)
Número de bytes utilizados por la tabla hash del bucket de perfiles.
Se muestra como byte
argo_workflows.go.memstats.frees.count
(count)
Número total de liberados.
argo_workflows.go.memstats.gc.sys_bytes
(gauge)
Número de bytes utilizados para los metadatos del sistema de recopilación de elementos no usados.
Se muestra como byte
argo_workflows.go.memstats.heap.alloc_bytes
(gauge)
Número de bytes del heap asignados y aún en uso.
Se muestra como byte
argo_workflows.go.memstats.heap.idle_bytes
(gauge)
Número de bytes de heap en espera de ser utilizados.
Se muestra como byte
argo_workflows.go.memstats.heap.inuse_bytes
(gauge)
Número de bytes de heap que están en uso.
Se muestra como byte
argo_workflows.go.memstats.heap.objects
(gauge)
Número de objetos asignados.
argo_workflows.go.memstats.heap.released_bytes
(gauge)
Número de bytes de heap liberados al SO.
Se muestra como byte
argo_workflows.go.memstats.heap.sys_bytes
(gauge)
Número de bytes de heap obtenidos del sistema.
Se muestra como byte
argo_workflows.go.memstats.last_gc_time_seconds
(gauge)
Número de segundos transcurridos desde 1970 de la última recopilación de elementos no usados.
Se muestra como segundo
argo_workflows.go.memstats.lookups.count
(count)
Número total de búsquedas de punteros.
argo_workflows.go.memstats.mallocs.count
(count)
Número total de mallocs.
argo_workflows.go.memstats.mcache.inuse_bytes
(gauge)
Número de bytes en uso por las estructuras mcache.
Se muestra como byte
argo_workflows.go.memstats.mcache.sys_bytes
(gauge)
Número de bytes utilizados para las estructuras mcache obtenidas del sistema.
Se muestra como byte
argo_workflows.go.memstats.mspan.inuse_bytes
(gauge)
Número de bytes en uso por las estructuras mspan.
Se muestra como byte
argo_workflows.go.memstats.mspan.sys_bytes
(gauge)
Número de bytes utilizados para las estructuras mspan obtenidas del sistema.
Se muestra como byte
argo_workflows.go.memstats.next.gc_bytes
(gauge)
Número de bytes de heap en que se realizará la próxima recopilación de elementos no usados.
Se muestra como byte
argo_workflows.go.memstats.other.sys_bytes
(gauge)
Número de bytes utilizados para otras asignaciones del sistema.
Se muestra como byte
argo_workflows.go.memstats.stack.inuse_bytes
(gauge)
Número de bytes en uso por el asignador de stack tecnológico.
Se muestra como byte
argo_workflows.go.memstats.stack.sys_bytes
(gauge)
Número de bytes obtenidos del sistema para el asignador de stack tecnológico.
Se muestra como byte
argo_workflows.go.memstats.sys_bytes
(gauge)
Número de bytes obtenidos del sistema.
Se muestra como byte
argo_workflows.go.threads
(gauge)
Número de subprocesos de sistema operativo creados.
argo_workflows.is_leader
(gauge)
Indica si la instancia actual es el líder
argo_workflows.k8s_request.count
(count)
Número de solicitudes de kubernetes ejecutadas. https://argo-workflows.readthedocs.io/en/release-3.5/metrics/#argo_workflows_k8s_request_total
Se muestra como solicitud
argo_workflows.k8s_request.duration.bucket
(count)
Recuento de las duraciones de las solicitudes de Kubernetes divididas en buckets por límites superiores
argo_workflows.k8s_request.duration.count
(count)
Recuento total de duraciones de solicitudes de Kubernetes
argo_workflows.k8s_request.duration.sum
(count)
Suma de las duraciones de las solicitudes de Kubernetes
Se muestra en segundos
argo_workflows.log_messages.count
(count)
Número total de mensajes de log.
Se muestra como mensaje
argo_workflows.operation_duration_seconds.bucket
(count)
El recuento de observaciones en el histograma de duraciones de operaciones dividido en bucket por límite superior.
argo_workflows.operation_duration_seconds.count
(count)
Recuento total de observaciones en el histograma de duración de las operaciones
argo_workflows.operation_duration_seconds.sum
(count)
Tiempo total en segundos empleado en las operaciones
Se muestra en segundos
argo_workflows.pod.pending.count
(count)
Número de pods pendientes
argo_workflows.pods
(gauge)
Número de pods de procesos a los que puede acceder actualmente el controlador por estado (se actualiza cada 15 segundos)
argo_workflows.pods_total.count
(count)
Recuento total de pods
argo_workflows.queue.duration.bucket
(count)
Recuento de duraciones de colas divididas en buckets por límites superiores
argo_workflows.queue.duration.count
(count)
Recuento total de duraciones de cola
argo_workflows.queue.duration.sum
(count)
Suma de las duraciones de las colas
Se muestra en segundos
argo_workflows.queue.longest_running
(gauge)
Duración de la cola más larga
argo_workflows.queue.retries.count
(count)
Número de reintentos de cola
argo_workflows.queue.unfinished_work
(gauge)
Trabajo no terminado en la cola
argo_workflows.queue_adds.count
(count)
Adiciones a la cola
argo_workflows.queue_depth
(gauge)
Profundidad de la cola
argo_workflows.queue_latency.bucket
(count)
El recuento de observaciones del tiempo que los objetos pasan esperando en la cola. Dividido en buckets por límites superiores
argo_workflows.queue_latency.count
(count)
El recuento total de observaciones del tiempo que los objetos pasan esperando en la cola.
argo_workflows.queue_latency.sum
(count)
El tiempo total que los objetos pasan esperando en la cola.
Se muestra como segundo
argo_workflows.total.count
(count)
Recuento total de procesos
argo_workflows.version
(gauge)
Versión de Argo Workflows
argo_workflows.workers_busy
(gauge)
Número de workers actualmente ocupados
Se muestra como worker
argo_workflows.workflow_condition
(gauge)
Condición del proceso. https://argo-workflows.readthedocs.io/en/release-3.5/metrics/#argo_workflows_workflow_condition
argo_workflows.workflows_processed.count
(count)
Número de actualizaciones del proceso procesadas
argo_workflows.workflowtemplate.runtime
(gauge)
Tiempo de ejecución de la plantilla del proceso
argo_workflows.workflowtemplate.triggered.count
(count)
Número de veces que se activan las plantillas del proceso

Eventos

La integración Argo Workflows no incluye eventos.

Checks de servicio

argo_workflows.openmetrics.health

Devuelve CRITICAL si el check no puede acceder al endpoint de métricas de OpenMetrics de Argo Workflows.

Estados: ok, critical

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el soporte de Datadog.

Referencias adicionales

Documentación útil adicional, enlaces y artículos: