Supported OS Linux Windows Mac OS

Versión de la integración7.0.0

Apache Dashboard

Información general

El check de Apache realiza un seguimiento de las solicitudes por segundo, de los bytes servidos, de los subprocesos de los workers, de los tiempos de actividad y mucho más.

Configuración

Instalación

El check de Apache se incluye en el Datadog Agent. Para empezar a recopilar tus métricas y logs de Apache, necesitas:

  1. Instala el Agent en tus servidores Apache.

  2. Instala mod_status en tus servidores Apache y habilita ExtendedStatus.

Configuración

host

Para configurar este check para un Agent que se ejecuta en un host:

Recopilación de métricas
  1. Edita el archivo apache.d/conf.yaml, en la carpeta conf.d/ en la raíz de tu directorio de configuración del Agent para comenzar a recopilar tus métricas de Apache. Consulta el ejemplo de apache.d/conf.yaml para conocer todas las opciones de configuración disponibles.

    init_config:
    
    instances:
      ## @param apache_status_url - string - required
      ## Status url of your Apache server.
      #
      - apache_status_url: http://localhost/server-status?auto
    
  2. Reinicia el Agent.

Recopilación de logs

Disponible para las versiones 6.0 o posteriores del Agent

  1. La recopilación de logs está desactivada por defecto en el Datadog Agent. Actívala en datadog.yaml:

    logs_enabled: true
    
  2. Añade este bloque de configuración a tu archivo apache.d/conf.yaml para empezar a recopilar tus logs de Apache ajustando los valores path y service para configurarlos para tu entorno:

    logs:
      - type: file
        path: /path/to/your/apache/access.log
        source: apache
        service: apache
        sourcecategory: http_web_access
    
      - type: file
        path: /path/to/your/apache/error.log
        source: apache
        service: apache
        sourcecategory: http_web_error
    

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

  3. Reinicia el Agent.

Docker

Para configurar este check para un Agent que se ejecuta en un contenedor:

Recopilación de métricas

Configura plantillas de integración de Autodiscovery como etiquetas (labels) Docker en tu contenedor de aplicaciones:

LABEL "com.datadoghq.ad.check_names"='["apache"]'
LABEL "com.datadoghq.ad.init_configs"='[{}]'
LABEL "com.datadoghq.ad.instances"='[{"apache_status_url": "http://%%host%%/server-status?auto"}]'
Recopilación de logs

La recopilación de logs está desactivada por defecto en el Datadog Agent. Para activarla, consulta Recopilación de logs de Docker.

A continuación, configura integraciones de logs como etiquetas Docker:

LABEL "com.datadoghq.ad.logs"='[{"source": "apache", "service": "<SERVICE_NAME>"}]'

Kubernetes

Para Configurar este check para un Agent que se ejecuta en Kubernetes:

Recopilación de métricas

Configura plantillas de integración de Autodiscovery como anotaciones de pod en tu contenedor de aplicaciones. Aparte de esto, las plantillas también se pueden configurar con un archivo, un configmap o un almacén clave-valor.

Anotaciones v1 (para el Datadog Agent < v7.36)

apiVersion: v1
kind: Pod
metadata:
  name: apache
  annotations:
    ad.datadoghq.com/apache.check_names: '["apache"]'
    ad.datadoghq.com/apache.init_configs: '[{}]'
    ad.datadoghq.com/apache.instances: |
      [
        {
          "apache_status_url": "http://%%host%%/server-status?auto"
        }
      ]      
spec:
  containers:
    - name: apache

Anotaciones v2 (para el Datadog Agent v7.36 o posterior)

apiVersion: v1
kind: Pod
metadata:
  name: apache
  annotations:
    ad.datadoghq.com/apache.checks: |
      {
        "apache": {
          "init_config": {},
          "instances": [
            {
              "apache_status_url": "http://%%host%%/server-status?auto"
            }
          ]
        }
      }      
spec:
  containers:
    - name: apache
Recopilación de logs

La recopilación de logs está desactivada por defecto en el Datadog Agent. Para activarla, consulta Recopilación de logs de Kubernetes.

A continuación, configura integraciones de logs como anotaciones de pod. Esto también se puede configurar con un archivo, un configmap o un almacén clave-valor.

Anotaciones v1/v2

apiVersion: v1
kind: Pod
metadata:
  name: apache
  annotations:
    ad.datadoghq.com/apache.logs: '[{"source":"apache","service":"<SERVICE_NAME>"}]'
spec:
  containers:
    - name: apache

ECS

Para configurar este check para un Agent que se ejecuta en ECS:

Recopilación de métricas

Configura plantillas de integración de Autodiscovery como etiquetas Docker en tu contenedor de aplicaciones:

{
  "containerDefinitions": [{
    "name": "apache",
    "image": "apache:latest",
    "dockerLabels": {
      "com.datadoghq.ad.check_names": "[\"apache\"]",
      "com.datadoghq.ad.init_configs": "[{}]",
      "com.datadoghq.ad.instances": "[{\"apache_status_url\": \"http://%%host%%/server-status?auto\"}]"
    }
  }]
}
Recopilación de logs

La recopilación de logs está desactivada por defecto en el Datadog Agent. Para activarla, consulta Recopilación de logs de ECS.

A continuación, configura integraciones de logs como etiquetas Docker:

{
  "containerDefinitions": [{
    "name": "apache",
    "image": "apache:latest",
    "dockerLabels": {
      "com.datadoghq.ad.logs": "[{\"source\":\"apache\",\"service\":\"<YOUR_APP_NAME>\"}]"
    }
  }]
}

Validación

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

Datos recopilados

Métricas

apache.conns_async_closing
(gauge)
Número de cierres de conexiones asíncronas.
Se muestra como conexión
apache.conns_async_keep_alive
(gauge)
Número de conexiones persistentes asíncronas.
Se muestra como conexión
apache.conns_async_writing
(gauge)
Número de conexiones de escritura asíncrona.
Se muestra como conexión
apache.conns_total
(gauge)
Número total de conexiones realizadas.
Se muestra como conexión
apache.net.bytes
(gauge)
Número total de bytes servidos.
Se muestra como byte
apache.net.bytes_per_s
(gauge)
Número de bytes servidos por segundo.
Se muestra como byte
apache.net.hits
(gauge)
Número total de solicitudes realizadas.
Se muestra como solicitud
apache.net.request_per_s
(gauge)
Número de solicitudes realizadas por segundo.
Se muestra como solicitud
apache.performance.busy_workers
(gauge)
Número de workers que atienden solicitudes.
Se muestra como subproceso
apache.performance.cpu_load
(gauge)
Porcentaje de CPU utilizado.
Se muestra como porcentaje
apache.performance.idle_workers
(gauge)
Número de workers inactivos.
Se muestra como subproceso
apache.performance.max_workers
(gauge)
Número máximo de workers que Apache puede iniciar.
Se muestra como subproceso
apache.performance.uptime
(gauge)
Cantidad de tiempo que el servidor estuvo funcionando.
Se muestra como segundo
apache.scoreboard.closing_connection
(gauge)
Cantidad de workers que están actualmente cerrando una conexión.
Se muestra como subproceso
apache.scoreboard.disabled
(gauge)
Estas ranuras nunca podrán atender ninguna solicitud, indica una mala configuración.
Se muestra como subproceso
apache.scoreboard.dns_lookup
(gauge)
Workers en espera de una búsqueda DNS.
Se muestra como subproceso
apache.scoreboard.gracefully_finishing
(gauge)
Número de workers que finalizan su solicitud.
Se muestra como subproceso
apache.scoreboard.idle_cleanup
(gauge)
Estos workers estaban inactivos y su proceso se está deteniendo.
Se muestra como subproceso
apache.scoreboard.keepalive
(gauge)
Los workers esperaban una nueva solicitiud del mismo cliente, porque pidió mantener activa la conexión.
Se muestra como subproceso
apache.scoreboard.logging
(gauge)
Los workers escribiendo algo en logs de Apache.
Se muestra como subproceso
apache.scoreboard.open_slot
(gauge)
Cantidad de workers que Apache aún puede iniciar antes de alcanzar el número máximo de workers.
Se muestra como subproceso
apache.scoreboard.reading_request
(gauge)
Workers que leen la solicitud entrante.
Se muestra como subproceso
apache.scoreboard.sending_reply
(gauge)
Número de workers que envían una respuesta o esperan a que un script (como PHP) termine para poder enviar una respuesta.
Se muestra como subproceso
apache.scoreboard.starting_up
(gauge)
Workers que aún están arrancando y todavía no pueden atender una solicitud.
Se muestra como subproceso
apache.scoreboard.waiting_for_connection
(gauge)
Workers que pueden procesar inmediatamente una solicitud entrante.
Se muestra como subproceso

Eventos

El check de Apache no incluye eventos.

Checks de servicio

apache.can_connect

Devuelve CRITICAL si el Agent no puede conectarse a la instancia Apache monitorizada. Devuelve OK en caso contrario.

Estados: ok, crítico

Solucionar problemas

URL de estado de Apache

Si tienes problemas con tu integración Apache, la mayoría de las veces se debe a que el Agent no puede acceder a tu URL de estado de Apache. Intenta ejecutar curl para la apache_status_url listada en tu archivo apache.d/conf.yaml (incluye tus credenciales de acceso, si es necesario).

Referencias adicionales

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