Versión de la integración1.1.0
Obtén métricas de Logstash en tiempo real para:
- Visualizar y monitorizar estados de Logstash.
- Recibir notificaciones sobre eventos de Logstash.
Configuración
Instalación
El check de Logstash está incluido en el paquete del Datadog Agent, por lo que no necesitas instalarlo.
Host
Para el Agent v7.21/v6.21 y posteriores, sigue las siguientes instrucciones para instalar el check de Logstash en tu host. Para versiones anteriores del Agent, consulta el uso de integraciones de la comunidad.
Ejecuta el siguiente comando para instalar la integración del Agent:
datadog-agent integration install -t datadog-logstash==<INTEGRATION_VERSION>
Configura tu integración como si fuese una integración de base.
Contenedores
Utiliza el siguiente archivo Docker para crear una imagen personalizada del Datadog Agent que incluya la integración Logstash.
FROM gcr.io/datadoghq/agent:latest
RUN datadog-agent integration install -r -t datadog-logstash==<INTEGRATION_VERSION>
Si utilizas Kubernetes, actualiza la configuración de tu Datadog Operator o tu Helm chart para extraer esa imagen personalizada del Datadog Agent.
Para obtener más información, consulta el uso de integraciones de la comunidad.
Configuración
Recopilación de métricas
Host
Edita el archivo logstash.d/conf.yaml
, que se encuentra en la carpeta conf.d/
en la raíz del directorio de configuración del Agent.
init_config:
instances:
# The URL where Logstash provides its monitoring API.
# This will be used to fetch various runtime metrics about Logstash.
#
- url: http://localhost:9600
Para ver todas las opciones de configuración disponibles, consulta el ejemplo logstash.d/conf.yaml.
Reinicia el Agent.
Contenedores
Para entornos contenedorizados, utiliza una plantilla de Autodiscovery con los siguientes parámetros:
Parámetro | Valor |
---|
<INTEGRATION_NAME> | logstash |
<INIT_CONFIG> | en blanco o {} |
<INSTANCE_CONFIG> | {"server": "http://%%host%%:9600"} |
Para saber cómo aplicar esta plantilla, consulta las integraciones Docker o las integraciones Kubernetes.
Para ver todas las opciones de configuración disponibles, consulta el ejemplo logstash.d/conf.yaml.
Recopilación de logs
Datadog cuenta con un complemento de salida para Logstash que se encarga de enviar tus logs a tu plataforma Datadog.
Para instalar este complemento ejecuta el siguiente comando:
logstash-plugin install logstash-output-datadog_logs
A continuación, configura el complemento datadog_logs
con tu clave de API Datadog:
output {
datadog_logs {
api_key => "<DATADOG_API_KEY>"
}
}
Por defecto, el complemento está configurado para enviar logs a través de HTTPS (puerto 443) utilizando la compresión gzip.
Puedes cambiar este comportamiento utilizando los siguientes parámetros:
use_http
: Configúralo como false
si quieres utilizar el reenvío TCP y actualiza el host
y el port
en consecuencia (por defecto es true
).use_compression
: La compresión sólo está disponible para HTTP. Deshabilítala configurándola como false
(por defecto es true
).compression_level
: Define el nivel de compresión de HTTP. El rango es de 1 a 9, siendo 9 la mejor proporción (por defecto es 6
).
Se pueden utilizar parámetros adicionales para cambiar el endpoint utilizado para pasar por un proxy:
host
: Endpoint de proxy para logs no reenviados directamente a Datadog (valor por defecto: http-intake.logs.datadoghq.com
).port
: Puerto de proxy para logs no reenviados directamente a Datadog (valor por defecto: 80
).ssl_port
: Puerto utilizado para logs reenviados a través de una conexión segura TCP/SSL a Datadog (valor por defecto: 443
).use_ssl
: Indica al Agent que inicie una conexión TCP/SSL segura con Datadog (valor por defecto: true
).no_ssl_validation
: Deshabilita la validación de nombres de host SSL (valor por defecto: false
).
Nota: Define el host
y el port
para tu región
.
output {
datadog_logs {
api_key => "<DATADOG_API_KEY>"
host => "http-intake.logs.datadoghq.eu"
}
}
Para lograr el mejor uso de tus logs en Datadog, es importante asociar los metadatos apropiados a tus logs, incluyendo el nombre de host y la fuente. Por defecto, el nombre y la marca de tiempo del nombre de host deberían reasignarse correctamente gracias a la reasignación de atributos reservados por defecto de Datadog. Para asegurarte de que el servicio se reasigna correctamente, añade el valor de su atributo a la lista de reasignación servicios.
Fuente
Configure un filtro de Logstash para definir el (nombre de la integración Datadog) de origen en tus logs.
filter {
mutate {
add_field => {
"ddsource" => "<MY_SOURCE_VALUE>"
}
}
}
Esta acción activa la configuración automática de la integración en Datadog.
Las etiquetas de host se configuran automáticamente en tus logs si existe un nombre de host coincidente en tu lista de infraestructuras. Utiliza el atributo ddtags
para añadir etiquetas personalizadas a tus logs:
filter {
mutate {
add_field => {
"ddtags" => "env:test,<KEY:VALUE>"
}
}
}
Validación
Ejecuta el subcomando status
del Agent y busca logstash
en la sección Checks.
Compatibilidad
El check de Logstash es compatible con las versiones 5.x, 6.x y 7.x de Logstash. También es compatible con las nuevas métricas de pipelines múltiples, introducidas en Logstash v6.0. Probado con las versiones 5.6.15, 6.3.0 y 7.0.0 de Logstash.
Datos recopilados
Métricas
Eventos
El check de Logstash no incluye eventos.
Checks de servicio
Solucionar problemas
El Agent no se puede conectar
logstash
-------
- instance #0 [ERROR]: "('Connection aborted.', error(111, 'Connection refused'))"
- Collected 0 metrics, 0 events & 1 service check
Verifica que la url
en conf.yaml
es correcta.
Si necesitas más ayuda, ponte en contacto con el servicio de asistencia de Datadog.