GitLab Runners

Supported OS Linux Mac OS Windows

Versión de la integración7.0.0

Información general

Una integración que te permite:

  • visualizar y monitorizar las métricas recopiladas con GitLab Runners a través de Prometheus;
  • comprobar que el GitLab Runner puede conectarse a GitLab.

Para obtener más información sobre el GitLab Runner y su integración con Prometheus, consulta la documentación de GitLab Runner.

Configuración

Sigue las siguientes instrucciones para instalar y configurar este check para un Agent que se ejecute en un host. Para entornos en contenedores, consulta las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de estas instrucciones.

Instalación

El check de GitLab Runner está incluido en el paquete del Datadog Agent, por lo que no necesitas instalar nada más en tus servidores GitLab.

Configuración

Edita el archivo gitlab_runner.d/conf.yaml, en la carpeta conf.d/ en la raíz de tu directorio de configuración del Agent para apuntar a tu endpoint de métricas Prometheus del Runner y al máster GitLab para contar con un check de servicio. Consulta el ejemplo gitlab_runner.d/conf.yaml para conocer todas las opciones de configuración disponibles.

El elemento allowed_metrics de la sección init_config permite especificar las métricas que deben extraerse. Algunas métricas deben informarse como rate, por ejemplo: ci_runner_errors.

Validación

Ejecuta el subcomando status del Agent y busca gitlab_runner en la sección Checks.

Datos recopilados

Métricas

gitlab_runner.ci_docker_machines_provider_machine_creation_duration_seconds_bucket
(gauge)
Histograma del tiempo de creación de la máquina Docker. Se aplica a GitLab Runner < v1.11.0
Se muestra como solicitud
gitlab_runner.ci_docker_machines_provider_machine_creation_duration_seconds_count
(gauge)
Recuento del tiempo de creación de la máquina Docker. Se aplica a GitLab Runner < v1.11.0
Se muestra como solicitud
gitlab_runner.ci_docker_machines_provider_machine_creation_duration_seconds_sum
(gauge)
Suma del tiempo de creación de la máquina Docker. Se aplica a GitLab Runner < v1.11.0
Se muestra como solicitud
gitlab_runner.ci_docker_machines_provider_machine_states
(gauge)
Número actual de máquinas CI por estado en este proveedor. Se aplica a GitLab Runner < v1.11.0
Se muestra como solicitud
gitlab_runner.ci_runner_builds
(gauge)
Número actual de compilaciones en ejecución. Se aplica a GitLab Runner < v1.11.0
gitlab_runner.ci_runner_errors
(count)
Número de errores capturados. Se aplica a GitLab Runner < v1.11.0
Se muestra como solicitud
gitlab_runner.ci_runner_version_info
(gauge)
Métrica con un valor constante ‘1’ etiquetado por diferentes campos de estadísticas de compilación. Se aplica a GitLab Runner < v1.11.0
Se muestra como solicitud
gitlab_runner.ci_ssh_docker_machines_provider_machine_creation_duration_seconds_bucket
(gauge)
Histograma del tiempo de creación de la máquina SSH Docker. Se aplica a GitLab Runner < v1.11.0
Se muestra como solicitud
gitlab_runner.ci_ssh_docker_machines_provider_machine_creation_duration_seconds_count
(gauge)
Recuento del tiempo de creación de la máquina SSH Docker. Se aplica a GitLab Runner < v1.11.0
Se muestra como solicitud
gitlab_runner.ci_ssh_docker_machines_provider_machine_creation_duration_seconds_sum
(gauge)
Suma del tiempo de creación de la máquina SSH Docker. Se aplica a GitLab Runner < v1.11.0
Se muestra como solicitud
gitlab_runner.ci_ssh_docker_machines_provider_machine_states
(gauge)
Número actual de máquinas SSH por estado en este proveedor SSH. Se aplica a GitLab Runner < v1.11.0
Se muestra como solicitud
gitlab_runner.gitlab_runner_autoscaling_machine_creation_duration_seconds
(gauge)
Histograma del tiempo de creación de la máquina Docker. Se aplica a GitLab Runner < v1.11.0 o posterior
Se muestra como solicitud
gitlab_runner.gitlab_runner_autoscaling_machine_states
(gauge)
Número actual de máquinas por estado en este proveedor. Se aplica a GitLab Runner < v1.11.0 o posterior
Se muestra como solicitud
gitlab_runner.gitlab_runner_errors_total
(count)
Número de errores detectados. Se aplica a GitLab Runner v1.11.0 o posterior
Se muestra como solicitud
gitlab_runner.gitlab_runner_jobs
(gauge)
Número actual de compilaciones en ejecución. Se aplica a GitLab Runner < v1.11.0 o posterior
gitlab_runner.gitlab_runner_jobs_total
(count)
Número total de trabajos ejecutados.
gitlab_runner.gitlab_runner_version_info
(gauge)
Métrica con un valor constante ‘1’ etiquetado por diferentes campos de estadísticas de compilación. Se aplica a GitLab Runner < v1.11.0 o posterior
Se muestra como solicitud
gitlab_runner.go_gc_duration_seconds
(gauge)
Resumen de las duraciones de invocaciones de recolección de basura
Se muestra como solicitud
gitlab_runner.go_gc_duration_seconds_count
(gauge)
Recuento de las duraciones de invocaciones de recolección de basura
Se muestra como solicitud
gitlab_runner.go_gc_duration_seconds_sum
(gauge)
Suma de las duraciones de invocaciones de recolección de basura
Se muestra como solicitud
gitlab_runner.go_goroutines
(gauge)
Número de goroutines que existen actualmente
Se muestra como solicitud
gitlab_runner.go_memstats_alloc_bytes
(gauge)
Número de bytes asignados y aún en uso
Se muestra en bytes
gitlab_runner.go_memstats_alloc_bytes_total
(count)
Número total de bytes asignados
Se muestra en bytes
gitlab_runner.go_memstats_buck_hash_sys_bytes
(gauge)
Número de bytes utilizados por la tabla hash del bucket de perfiles
Se muestra en bytes
gitlab_runner.go_memstats_frees_total
(count)
Número total de libres
Se muestra como solicitud
gitlab_runner.go_memstats_gc_sys_bytes
(gauge)
Número de bytes utilizados para los metadatos del sistema de recolección de basura
Se muestra en bytes
gitlab_runner.go_memstats_heap_alloc_bytes
(gauge)
Número de bytes heap asignados y aún en uso
Se muestra en bytes
gitlab_runner.go_memstats_heap_idle_bytes
(gauge)
Número de bytes heap en espera de ser utilizados
Se muestra en bytes
gitlab_runner.go_memstats_heap_inuse_bytes
(gauge)
Número de bytes heap en uso
Se muestra en bytes
gitlab_runner.go_memstats_heap_objects
(gauge)
Número de objetos asignados
Se muestra como solicitud
gitlab_runner.go_memstats_heap_released_bytes_total
(count)
Número total de bytes heap liberados al SO
Se muestra en bytes
gitlab_runner.go_memstats_heap_sys_bytes
(gauge)
Número de bytes heap obtenidos del sistema
Se muestra en bytes
gitlab_runner.go_memstats_last_gc_time_seconds
(gauge)
Número de segundos desde 1970 de la última recolección de basura
Se muestra como solicitud
gitlab_runner.go_memstats_lookups_total
(count)
Número total de búsquedas de punteros
Se muestra como solicitud
gitlab_runner.go_memstats_mallocs_total
(count)
Número total de mallocs
Se muestra como solicitud
gitlab_runner.go_memstats_mcache_inuse_bytes
(gauge)
Número de bytes en uso por estructuras mcache
Se muestra en bytes
gitlab_runner.go_memstats_mcache_sys_bytes
(gauge)
Número de bytes utilizados para estructuras mcache obtenidas del sistema
Se muestra en bytes
gitlab_runner.go_memstats_mspan_inuse_bytes
(gauge)
Número de bytes en uso por estructuras mspan
Se muestra en bytes
gitlab_runner.go_memstats_mspan_sys_bytes
(gauge)
Número de bytes utilizados para estructuras mspan obtenidas del sistema
Se muestra en bytes
gitlab_runner.go_memstats_next_gc_bytes
(gauge)
Número de bytes heap en que se realizará la próxima recolección de basura
Se muestra en bytes
gitlab_runner.go_memstats_other_sys_bytes
(gauge)
Número de bytes utilizados para otras asignaciones del sistema
Se muestra en bytes
gitlab_runner.go_memstats_stack_inuse_bytes
(gauge)
Número de bytes en uso por el asignador de stacks tecnológicos
Se muestra en bytes
gitlab_runner.go_memstats_stack_sys_bytes
(gauge)
Número de bytes obtenidos del sistema para el asignador de stacks tecnológicos
Se muestra en bytes
gitlab_runner.go_memstats_sys_bytes
(gauge)
Número de bytes obtenidos por sistema. Suma de todas las asignaciones del sistema
Se muestra en bytes
gitlab_runner.process_cpu_seconds_total
(count)
Tiempo total de CPU del usuario y del sistema empleado en segundos
Se muestra como solicitud
gitlab_runner.process_max_fds
(gauge)
Número máximo de descriptores de archivo abiertos
Se muestra como solicitud
gitlab_runner.process_open_fds
(gauge)
Número de descriptores de archivo abiertos
Se muestra como solicitud
gitlab_runner.process_resident_memory_bytes
(gauge)
Tamaño de la memoria residente en bytes
Se muestra en bytes
gitlab_runner.process_start_time_seconds
(gauge)
Hora de inicio del proceso desde unix epoch en segundos
Se muestra como solicitud
gitlab_runner.process_virtual_memory_bytes
(gauge)
Tamaño de la memoria virtual en bytes
Se muestra en bytes

Recopilación de logs

  1. En tu archivo de configuración de gitlab_runner, cambia el formato de log a json (Disponible para versiones de GitLab Runner >= v11.4.0 ):

    log_format = "json"
    
  2. La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent; debes habilitarla en el archivo datadog.yaml:

    logs_enabled: true
    
  3. Añade el usuario dd-agent al grupo systemd-journal ejecutando:

    usermod -a -G systemd-journal dd-agent
    
  4. Añade este bloque de configuración al archivo gitlab_runner.d/conf.yaml para empezar a recopilar logs del GitLab Runner:

    logs:
      - type: journald
        source: gitlab-runner
    

    Consulta el ejemplo gitlab_runner.d/conf.yaml para conocer todas las opciones de configuración disponibles.

  5. Reinicia el Agent.

Eventos

El check del GitLab Runner no incluye eventos.

Checks de servicio

El check del GitLab Runner brinda un check de servicios para confirmar que el Runner puede comunicarse con el master de GitLab y otro para comprobar que el endpoint local de Prometheus está disponible.

Solucionar problemas

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