statsd: NGINX-Modul zum Senden von Statistiken an statsd
Installation
Sie können dieses Modul in jeder RHEL-basierten Distribution installieren, einschließlich, aber nicht beschränkt auf:
- RedHat Enterprise Linux 7, 8, 9 und 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 und 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
Aktivieren Sie das Modul, indem Sie Folgendes an den Anfang von /etc/nginx/nginx.conf hinzufügen:
load_module modules/ngx_http_statsd_module.so;
Dieses Dokument beschreibt nginx-module-statsd v0.0.1, veröffentlicht am 24. Februar 2020.
Ein NGINX-Modul zum Senden von Statistiken an statsd.
So verwenden Sie das nginx-statsd-Modul:
http {
# Setzen Sie den Server, an den Sie Statistiken senden möchten.
statsd_server your.statsd.server.com;
# Zufällig 10% der Anfragen sampeln, damit Sie Ihren statsd-Server nicht überlasten.
# Standardmäßig werden alle statsd (100%) gesendet.
statsd_sample_rate 10; # 10% der Anfragen
server {
listen 80;
server_name www.your.domain.com;
# Erhöhen Sie "your_product.requests" um 1, wann immer eine Anfrage diesen Server erreicht.
statsd_count "your_product.requests" 1;
location / {
# Erhöhen Sie den Schlüssel um 1, wenn dieser Standort aufgerufen wird.
statsd_count "your_product.pages.index_requests" 1;
# Erhöhen Sie den Schlüssel um 1, aber nur, wenn $request_completion auf etwas gesetzt ist.
statsd_count "your_product.pages.index_responses" 1 "$request_completion";
# Senden Sie eine Zeitmessung an "your_product.pages.index_response_time", die dem Wert
# entspricht, der vom Upstream-Server zurückgegeben wird. Wenn dieser Wert 0 oder einen leeren String ergibt,
# wird er nicht gesendet. Daher ist es nicht notwendig, einen Test hinzuzufügen.
statsd_timing "your_product.pages.index_response_time" "$upstream_response_time";
# Erhöhen Sie einen Schlüssel basierend auf dem Wert eines benutzerdefinierten Headers. Sendet den Wert nur, wenn
# der benutzerdefinierte Header in der Upstream-Antwort vorhanden ist.
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
Sie finden möglicherweise zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub-Repository für nginx-module-statsd.