Puedes recopilar métricas sobre tu Squid Cache Manager con el recolector OpenTelemetry. El recolector es un componente de OpenTelemetry que recopila, procesa y exporta telemetry data a New Relic (o cualquier backend de observabilidad).
Sugerencia
Si busca ayuda con otros casos de uso del recolector, consulte el repositorio newrelic-OpenTelemetry-examples .
Completa los siguientes pasos para recolectar métrica de Calamar:
Paso 1: Regístrese para obtener su cuenta gratuita si aún no lo ha hecho
Paso 2: requisitos previos
Permita que el host donde se ejecutará su exportador Squid Prometheus acceda al administrador de Squid Cache configurando la asignación en el archivo squid.conf
.
Ejemplo en squid.conf
:
# Given this access listacl localnet src 192.168.0.0/16
# We would allow that ip range to access the manager by setting this directivehttp_access allow localnet manager
Instale el exportador Squid Prometheus para su Squid Cache Manager y configúrelo para que apunte al administrador de Squid Cache que desea monitor.
Ejemplo de ejecución de exportador:
squid-exporter -squid-hostname localhost -squid-port 3128 -listen ":9301" -squid-login admin -squid-password admin
Sugerencia
Se requiere Squid Prometheus exporter v1.10.4 o superior, se recomienda la última versión disponible.
Paso 3: Instale el recolector OpenTelemetry
Descargue e instale el recolector OpenTelemetry siguiendo los documentosOpenTelemetry .
Paso 4: Configurar el recolector OpenTelemetry
Cree un nuevo archivo llamado config.yaml
del siguiente ejemplo.
Reemplace las siguientes claves en el archivo con sus propios valores:
Calamar:
SQUID_EXPORTER_HOSTNAME
SQUID_EXPORTER_PORT
SQUID_EXPORTER_METRICS_PATH
SQUID_CACHEMGR
NEW_RELIC_LICENSE_KEY
La etiqueta squid_cachemgr: SQUID_CACHEMGR
(donde SQUID_CACHEMGR debe ser un identificador único) es necesaria para que se cree la entidad SQUID_CACHEMGR
y se ejecute el panel asociado.
receivers: prometheus: config: scrape_configs: - job_name: "squid" static_configs: - targets: [ "SQUID_EXPORTER_HOSTNAME:SQUID_EXPORTER_PORT" ] labels: squid_cachemgr: SQUID_CACHEMGR metrics_path: SQUID_EXPORTER_METRICS_PATH metric_relabel_configs: - source_labels: [__name__] regex: "^process_.*" action: drop
exporters: otlphttp: endpoint: https://otlp.nr-data.net headers: api-key: NEW_RELIC_LICENSE_KEYprocessors: batch: memory_limiter: limit_mib: 400 spike_limit_mib: 100 check_interval: 5sservice: telemetry: logs: pipelines: metrics: receivers: [prometheus] processors: [batch, memory_limiter] exporters: [otlphttp]
Puede consultar los documentos del recolector OpenTelemetry y los documentos de configuración de Prometheus para obtener detalles de configuración adicionales.
Paso 4: ejecuta el recolector
Ejecute el recolector OpenTelemetry (la forma de ejecutarlo puede variar según el método de instalación elegido). Ejemplo:
/usr/bin/otelcol --config ./config.yaml
Paso 5: busque y utilice sus datos
Explora tus datos
Puede utilizar el explorador métrico para comprobar la métrica que se está ingiriendo. Todas las métricas reportadas por el exportador Squid Prometheus se agrupan en una entidad SQUID_CACHEMGR
con el nombre establecido en SQUID_CACHEMGR
y comienzan con el prefijo squid_
.
Datos métricos
Estos son los dos grupos de métricas reportados por el encargado del caché de calamar que se raspan:
Resolución de problemas
Problema
Los nombres métricos no coinciden.
Solución
El tablero de Squids y la entidad utilizan las convenciones de nomenclatura métrica de Prometheus para coincidir con la métrica reportada por el exportador Prometheus de Squid. Sin embargo, el receptor OpenTelemetry Prometheus utiliza las convenciones de nomenclatura de OpenTelemetry de forma predeterminada después de v076.3.
Para utilizar las convenciones de nomenclatura métrica de Prometheus, desactive pkg.translator.prometheus.NormalizeName
feature-gate
cuando ejecute el recolector OpenTelemetry:
$otelcol-contrib --config ./config.yaml --feature-gates=-pkg.translator.prometheus.NormalizeName