Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
Monitoree NGINX Plus autohospedado con OpenTelemetry
Supervise sus servidores NGINX Plus que se ejecutan en un host utilizando el OpenTelemetry Collector para enviar métricas y datos de telemetría a New Relic.
Esta integración aprovecha el prometheusreceiver de OpenTelemetry y el nginx-prometheus-exporter para supervisar las métricas de rendimiento, las estadísticas de conexión y el estado del servidor de NGINX Plus. La rica API HTTP en NGINX Plus proporciona métricas significativamente más detalladas en comparación con el módulo de estado básico stub en NGINX estándar.
Expositor de Prometheus de NGINX NGINX Prometheus exporter instalado y en ejecución junto con tu instancia de NGINX Plus para exponer métricas de la API HTTP en formato Prometheus
Salida esperada: HTTP/2 405 (se espera que el método no esté permitido)
Paso 1: Configure NGINX Plus
Configure y habilite el módulo de API HTTP para exponer las métricas de su servidor NGINX Plus.
Añada la configuración de la API HTTP a su archivo nginx.conf. Normalmente, añada esto dentro del bloque http:
server{
listen8080;
server_name localhost;
location /api{
api write=on;
# Restrict access as needed
allow 127.0.0.1;
deny all;
}
}
Después de actualizar nginx.conf, pruebe y vuelva a cargar el servicio:
bash
$
sudo nginx -t&&sudo nginx -s reload
Confirme la ruta del punto final de la API (incluida la versión) expuesta en su configuración. Registre la ruta completa del punto final de la API (sin la barra diagonal inicial) y el puerto que lo sirve. Los valores predeterminados comunes son api/9 en el puerto 8080.
Usa curl para confirmar que tu punto final de la API es accesible:
De forma predeterminada, el exportador se ejecuta en el puerto 9113 y expone las métricas en /metrics.
Actualice su configuración de OpenTelemetry Collector (generalmente ubicada en /etc/otelcol-contrib/config.yaml). En el fragmento de configuración a continuación:
Actualice el valor nginx.deployment.name con un nombre único para identificar este servidor NGINX Plus en su cuenta de New Relic
Actualice el valor targets para que coincida con el host y el puerto de su exportador Prometheus (el valor predeterminado es 127.0.0.1:9113)
Actualice el valor nginx.server.endpoint para que coincida con la ruta y el puerto del estado de su API
Actualice el filter/nginx_metrics según sus requisitos para ingerir métricas adicionales
Combine los receptores, procesadores, exportadores y canalizaciones de servicio del fragmento de código a continuación en su configuración actual:
Escribe environment.conf con tu punto final OTLP. Reemplaza YOUR_LICENSE_KEY con la clave de licencia de New Relic y YOUR_OTLP_ENDPOINT con el punto final apropiado para tu región. Consulta la documentación de configuración del punto final OTLP para seleccionar el punto final correcto.
Extienda la configuración de su recopilador para incluir logs de acceso y errores si desea eventos de log junto con las métricas.
Configurar el formato de log de NGINX Plus
Antes de reenviar los logs, configure NGINX Plus para usar un formato de log estructurado. Consulte la documentación de log de NGINX para obtener orientación sobre la configuración de los logs de acceso y error.
Configure el recopilador de OpenTelemetry para el reenvío de logs
Tenga en cuenta las rutas completas a sus archivos de log de acceso y error de NGINX. Los valores predeterminados suelen ser /var/log/nginx/access.log y /var/log/nginx/error.log.
Actualice /etc/otelcol-contrib/config.yaml para agregar un receptor filelog y una canalización de log:
Seleccione Dashboards y haga clic en el dashboard NGINX OTel overview.
En la ventana emergente, seleccione su cuenta.
Haga clic en [View dashboard] y vea sus datos de NGINX Plus en New Relic.
Las métricas de NGINX Plus se adjuntan al tipo de eventoMetric. Puede consultar estos datos con fines de solución de problemas o para crear gráficos y dashboards personalizados.
Métricas recopiladas
El recopilador de OpenTelemetry extrae métricas del exportador de NGINX Prometheus, que expone las métricas de la API HTTP de NGINX Plus en formato Prometheus.
A continuación se muestran las métricas de NGINX Plus disponibles:
Métrica
Descripción
Tipo
nginxplus_connections_accepted
Conexiones de cliente aceptadas
Suma
nginxplus_connections_active
Conexiones de cliente activas
Medidor
nginxplus_connections_dropped
Conexiones de cliente descartadas
Suma
nginxplus_connections_idle
Conexiones de cliente inactivas
Medidor
Métrica
Descripción
Tipo
nginxplus_http_requests_total
Total de solicitudes http
Suma
nginxplus_http_requests_current
Solicitudes http actuales
Medidor
Métrica
Descripción
Tipo
nginxplus_ssl_handshakes
Apretón de manos SSL exitosos
Suma
nginxplus_ssl_handshakes_failed
Apretón de manos SSL fallido
Suma
nginxplus_ssl_session_reuses
Reutilizaciones de sesión durante el protocolo de enlace SSL
Suma
Métrica
Descripción
Tipo
nginxplus_server_zone_processing
Solicitudes de clientes que se están procesando actualmente
Medidor
nginxplus_server_zone_requests
Solicitudes totales del cliente
Suma
nginxplus_server_zone_responses
Total de respuestas enviadas a los clientes
Suma
nginxplus_server_zone_responses_codes
Total de respuestas enviadas a los clientes por código
Suma
nginxplus_server_zone_discarded
Solicitudes completadas sin enviar una respuesta
Suma
nginxplus_server_zone_received
Bytes recibidos de los clientes
Suma
nginxplus_server_zone_sent
Bytes enviados a los clientes
Suma
nginxplus_server_ssl_handshakes
Apretón de manos SSL exitosos
Suma
nginxplus_server_ssl_handshakes_failed
Apretón de manos SSL fallido
Suma
nginxplus_server_ssl_session_reuses
Reutilizaciones de sesión durante el protocolo de enlace SSL
Suma
Métrica
Descripción
Tipo
nginxplus_location_zone_requests
Solicitudes totales del cliente
Suma
nginxplus_location_zone_responses
Total de respuestas enviadas a los clientes
Suma
nginxplus_location_zone_responses_codes
Total de respuestas enviadas a los clientes por código
Suma
nginxplus_location_zone_discarded
Solicitudes completadas sin enviar una respuesta
Suma
nginxplus_location_zone_received
Bytes recibidos de los clientes
Suma
nginxplus_location_zone_sent
Bytes enviados a los clientes
Suma
Métrica
Descripción
Tipo
nginxplus_cache_size
Tamaño total de la caché
Medidor
nginxplus_cache_max_size
Tamaño máximo de la caché
Medidor
nginxplus_cache_cold
¿Se considera fría la caché?
Medidor
nginxplus_cache_hit_responses
Número total de aciertos de caché
Suma
nginxplus_cache_hit_bytes
Número total de bytes devueltos de los aciertos de caché
Suma
nginxplus_cache_stale_responses
Número total de aciertos de caché obsoletos
Suma
nginxplus_cache_stale_bytes
Número total de bytes devueltos de aciertos de caché obsoletos
Suma
nginxplus_cache_updating_responses
Número total de aciertos de caché mientras la caché se está actualizando
Suma
nginxplus_cache_updating_bytes
Número total de bytes devueltos desde la caché mientras la caché se está actualizando
Suma
nginxplus_cache_revalidated_responses
Número total de revalidaciones de caché
Suma
nginxplus_cache_revalidated_bytes
Número total de bytes devueltos de las revalidaciones de caché
Suma
nginxplus_cache_miss_responses
Número total de fallos de caché
Suma
nginxplus_cache_miss_bytes
Número total de bytes devueltos de fallos de caché
Suma
nginxplus_cache_expired_responses
Número total de aciertos de caché con TTL expirado
Suma
nginxplus_cache_expired_bytes
Número total de bytes devueltos de los aciertos de caché con TTL vencido
Suma
nginxplus_cache_expired_responses_written
Número total de aciertos de caché con TTL expirado escrito en la caché
Suma
nginxplus_cache_expired_bytes_written
Número total de bytes escritos en la caché de los aciertos de caché con TTL expirado
Suma
nginxplus_cache_bypass_responses
Número total de derivaciones de caché
Suma
nginxplus_cache_bypass_bytes
Número total de bytes devueltos de derivaciones de caché
Suma
nginxplus_cache_bypass_responses_written
Número total de derivaciones de caché escritas en la caché
Suma
nginxplus_cache_bypass_bytes_written
Número total de bytes escritos en la caché desde las derivaciones de caché
Suma
Atributo
Descripción
Valores de ejemplo
server_zone
El nombre de la zona del servidor (se aplica a las métricas de Zonas del servidor HTTP)
example.com, api.example.com
code
Código de estado de respuesta HTTP (aplica a las métricas de respuesta)
1xx, 2xx, 3xx, 4xx, 5xx, 200, 404, 500
location_zone
El nombre de la zona de ubicación
/api, /images, /static
cache
El nombre de la caché
my_cache, static_cache
nginx.server.endpoint
La URL del punto final de la API de NGINX Plus
http://localhost:8080/api
nginx.deployment.name
Un nombre único para identificar esta implementación de NGINX Plus
production-web-01, staging-api
nginx.display.name
Un nombre fácil de mostrar que combina el prefijo "server" con el nombre de la implementación
server:production-web-01
host.name
El nombre de host del sistema donde se está ejecutando NGINX Plus
web-server-01.example.com
host.id
El identificador único del sistema host
i-1234567890abcdef0
logtype
El tipo de log que se está recopilando (solo aplicable a los logs). Utilizado por las reglas de análisis integradas de New Relic. Este atributo solo está disponible cuando el reenvío de logs está habilitado.
nginx (para logs de acceso), nginx-error (para logs de errores)