Você pode coletar métricas sobre seu Squid Cache Manager com o coletor OpenTelemetry. O coletor é um componente do OpenTelemetry que coleta, processa e exporta dados de telemetria para o New Relic (ou qualquer backend de observabilidade).
Dica
Se você estiver procurando ajuda com outros casos de uso do coletor, consulte o repositório newrelic-OpenTelemetry-examples .
Conclua as etapas abaixo para coletar métricas do Squid:
Etapa 1: inscreva-se para obter sua conta gratuita, caso ainda não o tenha feito
Etapa 2: Pré-requisitos
Permita que o host onde seu exportador do Squid Prometheus estará em execução acesse o gerenciador do Squid Cache definindo a permissão no arquivo squid.conf
.
Exemplo em 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 o exportador Squid Prometheus para seu Squid Cache Manager e configure-o para apontar para o gerenciador de cache squid que você deseja monitor.
Exemplo de execução do exportador:
squid-exporter -squid-hostname localhost -squid-port 3128 -listen ":9301" -squid-login admin -squid-password admin
Dica
É necessário o exportador Squid Prometheus v1.10.4 ou superior, recomenda-se a versão mais recente disponível.
Etapa 3: instalar o coletor OpenTelemetry
Baixe e instale o coletor OpenTelemetry seguindo a documentação OpenTelemetry .
Etapa 4: configurar o coletor OpenTelemetry
Crie um novo arquivo chamado config.yaml
no exemplo abaixo.
Substitua as seguintes chaves no arquivo pelos seus próprios valores:
Squid:
SQUID_EXPORTER_HOSTNAME
SQUID_EXPORTER_PORT
SQUID_EXPORTER_METRICS_PATH
SQUID_CACHEMGR
NEW_RELIC_LICENSE_KEY
O rótulo squid_cachemgr: SQUID_CACHEMGR
(onde SQUID_CACHEMGR deve ser um identificador exclusivo) é necessário para que a entidade SQUID_CACHEMGR
seja criada e para que o painel associado seja executado.
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]
Você pode verificar os documentos do coletorOpenTelemetry e os documentos de configuração do Prometheus para obter detalhes adicionais de configuração.
Etapa 4: execute o coletor
Execute o coletor OpenTelemetry (a forma de executá-lo pode variar dependendo do método de instalação escolhido). Exemplo:
/usr/bin/otelcol --config ./config.yaml
Etapa 5: Encontre e use seus dados
Explore seus dados
Você pode usar o explorador métrico para verificar a métrica que está sendo ingerida. Todas as métricas reportadas pelo exportador Squid Prometheus são agrupadas em uma entidade SQUID_CACHEMGR
com o nome definido em SQUID_CACHEMGR
e iniciam com o prefixo squid_
.
Dados métricos
Estes são os dois grupos de métricas reportados pelo gerenciador de cache do squid que são raspados:
Resolução de problemas
Problema
Os nomes das métricas não coincidem.
Solução
O painel e a entidade do Squids usam convenções de nomenclatura métrica do Prometheus para corresponder à métrica relatada pelo exportador Prometheus do Squid. No entanto, o receptor OpenTelemetry Prometheus usa convenções de nomenclatura OpenTelemetry por padrão após v076.3.
Para usar as convenções de nomenclatura métrica do Prometheus, desative pkg.translator.prometheus.NormalizeName
feature-gate
ao executar o coletor OpenTelemetry:
$otelcol-contrib --config ./config.yaml --feature-gates=-pkg.translator.prometheus.NormalizeName