statsd: Модуль NGINX для отправки статистики в statsd
Установка на Debian/Ubuntu
Эти документы относятся к APT пакету nginx-module-statsd, предоставляемому репозиторием GetPageSpeed Extras.
- Настройте APT репозиторий, как описано в настройке APT репозитория.
- Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-statsd
Показать дистрибутивы и архитектуры
| Дистрибутив | Версия | Компонент | Архитектуры |
|-------------|--------------------|-------------|----------------|
| debian | bookworm | main | amd64, arm64 |
| debian | bookworm-mainline | main | amd64, arm64 |
| debian | trixie | main | amd64, arm64 |
| debian | trixie-mainline | main | amd64, arm64 |
| ubuntu | focal | main | amd64, arm64 |
| ubuntu | focal-mainline | main | amd64, arm64 |
| ubuntu | jammy | main | amd64, arm64 |
| ubuntu | jammy-mainline | main | amd64, arm64 |
| ubuntu | noble | main | amd64, arm64 |
| ubuntu | noble-mainline | main | amd64, arm64 |
Модуль nginx для отправки статистики в statsd.
Вот как использовать модуль nginx-statsd:
http {
# Установите сервер, на который вы хотите отправлять статистику.
statsd_server your.statsd.server.com;
# Случайно выбирайте 10% запросов, чтобы не перегружать ваш сервер statsd.
# По умолчанию отправляется вся статистика (100%).
statsd_sample_rate 10; # 10% запросов
server {
listen 80;
server_name www.your.domain.com;
# Увеличивайте "your_product.requests" на 1 каждый раз, когда запрос попадает на этот сервер.
statsd_count "your_product.requests" 1;
location / {
# Увеличивайте ключ на 1, когда этот путь вызывается.
statsd_count "your_product.pages.index_requests" 1;
# Увеличивайте ключ на 1, но только если $request_completion установлен в какое-либо значение.
statsd_count "your_product.pages.index_responses" 1 "$request_completion";
# Отправьте время на "your_product.pages.index_response_time", равное значению,
# возвращенному от сервера upstream. Если это значение равно 0 или пустая строка,
# оно не будет отправлено. Таким образом, нет необходимости добавлять проверку.
statsd_timing "your_product.pages.index_response_time" "$upstream_response_time";
# Увеличивайте ключ на основе значения пользовательского заголовка. Отправляет значение только если
# пользовательский заголовок существует в ответе 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;
}
}
}