VictoriaMetrics и VictoriaLogs
Сами база временных рядов и база логов: принимают ли они то, что им отправляют, сколько места на диске осталось до того, как они перестанут принимать что-либо, и что они отклоняют.
На этой странице описаны два типа мониторов, потому что у обоих продуктов общая
основа: victoriametrics для одиночного узла VictoriaMetrics и victorialogs
для одиночного узла VictoriaLogs. Оба публикуют своё состояние на /health и
/metrics, на порту своего API; DumbMonit читает только эти два адреса и ничего
больше. Он никогда не выполняет запросов к вашим данным и ничего не записывает.
Эти серверы редко падают целиком. Они падают наполовину: продолжают отвечать на запросы, дашборды по-прежнему открываются, а каждый новый сэмпл или строка лога отклоняется, потому что диск пересёк порог режима «только чтение» или данные пришли с меткой времени вне периода хранения. Всё, что пишет в них (vmagent, remote write Prometheus, Vector, Fluent Bit, Promtail), повторяет попытки, а затем отбрасывает данные. Эта страница о том, как заметить это заранее.
Что отслеживается
Заголовок раздела «Что отслеживается»Метрики имеют префикс dumbmonit_victoriametrics_ или
dumbmonit_victorialogs_. Итоговые значения являются счётчиками: графики и
правила превращают их в скорости.
| Метрика | Что | Метки |
|---|---|---|
healthy | 1, когда /health отвечает OK, 0, когда отвечает чем-либо иным | |
version_info | значение 1 | version |
rows_ingested_total | принятые сэмплы (VictoriaMetrics) или строки лога (VictoriaLogs) | |
bytes_ingested_total | принятый объём логов (только VictoriaLogs) | |
rows_rejected_total | всё отклонённое, присутствует всегда, даже при нуле | |
rows_rejected_reason_total | то же самое, по причинам: big_timestamp, small_timestamp, too_long_label_value, too_many_labels, invalid, hourly_series_limit… (VictoriaMetrics); too_big_timestamp, too_small_timestamp, too_many_fields, too_long_line (VictoriaLogs) | reason |
disk_free_bytes, disk_total_bytes | свободное и общее место тома хранилища | path |
disk_free_limit_bytes | -storage.minFreeDiskSpaceBytes: ниже него хранилище переходит в режим «только чтение» | path |
disk_headroom_percent | свободное место сверх этого порога, как доля диска | path |
read_only | 1, когда хранилище переключилось в режим «только чтение» | |
data_size_bytes | данные на диске | |
slow_inserts_total, rows_added_total | новые сэмплы, пошедшие по медленному пути, и все добавленные сэмплы (только VictoriaMetrics) | |
active_series | ряды, получившие сэмпл за последний час (только VictoriaMetrics) | |
http_errors_total | запросы, на которые дан ответ с ошибкой | |
log_errors_total | сообщения об ошибках, записанные сервером в лог | |
uptime_seconds, memory_resident_bytes |
Отклонённый сэмпл потерян. VictoriaMetrics отклоняет сэмпл старше периода
хранения или более чем на два дня в будущем, значение метки длиннее
-maxLabelValueLen, ряд с числом меток больше -maxLabelsPerTimeseries и каждый
сэмпл нового ряда после достижения -storage.maxHourlySeries или
-storage.maxDailySeries. VictoriaLogs отклоняет строки вне периода хранения и
строки со слишком большим числом полей. Клиент обычно не получает при этом
никакой ошибки: об этом знает только этот счётчик.
Медленные вставки — это сэмплы, ряд которых VictoriaMetrics пришлось искать на диске, а не в кэше. Каждый совершенно новый ряд — такой случай, поэтому развёртывание вызывает всплеск; доля, остающаяся выше 5%, означает, что серверу не хватает памяти для активных рядов. Это порог, который приводит документация VictoriaMetrics. После перезапуска кэши сервера холодные, поэтому доля может какое-то время оставаться высокой: правило ждёт полчаса, прежде чем сработать. Счётчики обнуляются вместе с сервером; правила используют приращения с учётом сбросов, поэтому перезапуск не засчитывается как отклонённые данные.
Применимые встроенные правила: Metrics or log storage read-only, Metrics or log storage almost read-only, Metrics or log server unhealthy, Metrics or log data refused, VictoriaMetrics slow inserts, а также Monitor unreachable.
Страница монитора
Заголовок раздела «Страница монитора»Панель над графиками читает то, что сохранил опрос; открытие страницы никогда не обращается к серверу. Она сообщает в таком порядке:
- Что не так, одним предложением: состояние, хранилище (Read-only или сколько места на диске осталось сверх порога), данные, отклонённые за последние 24 часа, медленные вставки, записанные ошибки. В каждой строке есть слово, а не только цвет.
- Что делает сервер: сэмплов или строк принимается в секунду, активные ряды или принятый объём, данные на диске, время работы.
- Что было отклонено за последние 24 часа, по причинам, и свободное место каждого пути хранилища относительно его порога «только чтение».
Пусть DumbMonit читает собственное состояние VictoriaMetrics
Заголовок раздела «Пусть DumbMonit читает собственное состояние VictoriaMetrics»-
Ничего устанавливать не нужно: VictoriaMetrics публикует своё состояние на /health и /metrics, на порту своего API (по умолчанию 8428). Проверьте с хоста DumbMonit, что оба адреса отвечают.
curl http://victoriametrics.lan:8428/healthcurl -s http://victoriametrics.lan:8428/metrics | grep vm_app_version -
Если VictoriaMetrics запущена с -httpAuth.username и -httpAuth.password, выберите ниже Username / password и введите их. За vmauth или обратным прокси, который ожидает bearer-токен, выберите Bearer token. Если задан -metricsAuthKey, /metrics отвечает только при наличии этого ключа в URL, а DumbMonit его не отправляет: защитите /metrics вместо этого описанной выше базовой аутентификацией.
-
В DumbMonit введите адрес сервера, например «victoriametrics.lan» или «http://10.0.0.5:8428». За обратным прокси введите полный URL с префиксом пути. Это относится к одиночному серверу; компоненты кластера VictoriaMetrics отдают другие метрики и не поддерживаются.
-
DumbMonit читает только /health и /metrics. Он никогда не выполняет запросов к вашим данным и ничего не записывает.
Пусть DumbMonit читает собственное состояние VictoriaLogs
Заголовок раздела «Пусть DumbMonit читает собственное состояние VictoriaLogs»-
Ничего устанавливать не нужно: VictoriaLogs публикует своё состояние на /health и /metrics, на порту своего API (по умолчанию 9428). Проверьте с хоста DumbMonit, что оба адреса отвечают.
curl http://victorialogs.lan:9428/healthcurl -s http://victorialogs.lan:9428/metrics | grep vl_free_disk_space_bytes -
Если VictoriaLogs запущена с -httpAuth.username и -httpAuth.password, выберите ниже Username / password и введите их. За vmauth или обратным прокси, который ожидает bearer-токен, выберите Bearer token. Если задан -metricsAuthKey, /metrics отвечает только при наличии этого ключа в URL, а DumbMonit его не отправляет: защитите /metrics вместо этого описанной выше базовой аутентификацией.
-
В DumbMonit введите адрес сервера, например «victorialogs.lan» или «http://10.0.0.6:9428». За обратным прокси введите полный URL с префиксом пути.
-
DumbMonit читает только /health и /metrics. Он никогда не выполняет запросов LogsQL и никогда не читает строки лога.
Учётные данные
Заголовок раздела «Учётные данные»| Учётные данные | Поля |
|---|---|
| No authentication | По умолчанию: /health и /metrics открыты, если вы их не защитили. |
| Username / password | -httpAuth.username и -httpAuth.password сервера или обратного прокси перед ним. |
| Bearer token | Токен, который vmauth или ваш обратный прокси ожидает в Authorization: Bearer. |
Адрес: имя хоста или IP (victoriametrics.lan, 10.0.0.5), host:port или
полный URL с префиксом пути за обратным прокси
(https://metrics.lan/vm). Параметры: протокол (по умолчанию HTTP), порт (8428
или 9428), проверка сертификата и тайм-аут запроса (10 с).