statsd: módulo NGINX para enviar estatísticas para statsd
Instalação
Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:
- RedHat Enterprise Linux 7, 8, 9 e 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 e Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-statsd
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-statsd
Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:
load_module modules/ngx_http_statsd_module.so;
Este documento descreve o nginx-module-statsd v0.0.1 lançado em 24 de fevereiro de 2020.
Um módulo nginx para enviar estatísticas para statsd.
Aqui está como usar o módulo nginx-statsd:
http {
# Defina o servidor para o qual você deseja enviar estatísticas.
statsd_server your.statsd.server.com;
# Amostre aleatoriamente 10% das requisições para não sobrecarregar seu servidor statsd.
# Por padrão, envia todas as estatísticas (100%).
statsd_sample_rate 10; # 10% das requisições
server {
listen 80;
server_name www.your.domain.com;
# Incrementa "your_product.requests" em 1 sempre que qualquer requisição atingir este servidor.
statsd_count "your_product.requests" 1;
location / {
# Incrementa a chave em 1 quando esta localização é acessada.
statsd_count "your_product.pages.index_requests" 1;
# Incrementa a chave em 1, mas apenas se $request_completion estiver definido como algo.
statsd_count "your_product.pages.index_responses" 1 "$request_completion";
# Envia um tempo para "your_product.pages.index_response_time" igual ao valor
# retornado do servidor upstream. Se este valor for 0 ou uma string vazia,
# não será enviado. Assim, não há necessidade de adicionar um teste.
statsd_timing "your_product.pages.index_response_time" "$upstream_response_time";
# Incrementa uma chave com base no valor de um cabeçalho personalizado. Envia o valor apenas se
# o cabeçalho personalizado existir na resposta upstream.
statsd_count "your_product.custom_$upstream_http_x_some_custom_header" 1
"$upstream_http_x_some_custom_header";
proxy_pass http://some.other.domain.com;
}
}
}
GitHub
Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-statsd.