Перейти к содержимому

VictoriaMetrics и VictoriaLogs

Сами база временных рядов и база логов: принимают ли они то, что им отправляют, сколько места на диске осталось до того, как они перестанут принимать что-либо, и что они отклоняют.

На этой странице описаны два типа мониторов, потому что у обоих продуктов общая основа: victoriametrics для одиночного узла VictoriaMetrics и victorialogs для одиночного узла VictoriaLogs. Оба публикуют своё состояние на /health и /metrics, на порту своего API; DumbMonit читает только эти два адреса и ничего больше. Он никогда не выполняет запросов к вашим данным и ничего не записывает.

Эти серверы редко падают целиком. Они падают наполовину: продолжают отвечать на запросы, дашборды по-прежнему открываются, а каждый новый сэмпл или строка лога отклоняется, потому что диск пересёк порог режима «только чтение» или данные пришли с меткой времени вне периода хранения. Всё, что пишет в них (vmagent, remote write Prometheus, Vector, Fluent Bit, Promtail), повторяет попытки, а затем отбрасывает данные. Эта страница о том, как заметить это заранее.

Метрики имеют префикс dumbmonit_victoriametrics_ или dumbmonit_victorialogs_. Итоговые значения являются счётчиками: графики и правила превращают их в скорости.

МетрикаЧтоМетки
healthy1, когда /health отвечает OK, 0, когда отвечает чем-либо иным
version_infoзначение 1version
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_only1, когда хранилище переключилось в режим «только чтение»
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.

Панель над графиками читает то, что сохранил опрос; открытие страницы никогда не обращается к серверу. Она сообщает в таком порядке:

  1. Что не так, одним предложением: состояние, хранилище (Read-only или сколько места на диске осталось сверх порога), данные, отклонённые за последние 24 часа, медленные вставки, записанные ошибки. В каждой строке есть слово, а не только цвет.
  2. Что делает сервер: сэмплов или строк принимается в секунду, активные ряды или принятый объём, данные на диске, время работы.
  3. Что было отклонено за последние 24 часа, по причинам, и свободное место каждого пути хранилища относительно его порога «только чтение».

Пусть DumbMonit читает собственное состояние VictoriaMetrics

Заголовок раздела «Пусть DumbMonit читает собственное состояние VictoriaMetrics»
  1. Ничего устанавливать не нужно: VictoriaMetrics публикует своё состояние на /health и /metrics, на порту своего API (по умолчанию 8428). Проверьте с хоста DumbMonit, что оба адреса отвечают.

    curl http://victoriametrics.lan:8428/health
    curl -s http://victoriametrics.lan:8428/metrics | grep vm_app_version
  2. Если VictoriaMetrics запущена с -httpAuth.username и -httpAuth.password, выберите ниже Username / password и введите их. За vmauth или обратным прокси, который ожидает bearer-токен, выберите Bearer token. Если задан -metricsAuthKey, /metrics отвечает только при наличии этого ключа в URL, а DumbMonit его не отправляет: защитите /metrics вместо этого описанной выше базовой аутентификацией.

  3. В DumbMonit введите адрес сервера, например «victoriametrics.lan» или «http://10.0.0.5:8428». За обратным прокси введите полный URL с префиксом пути. Это относится к одиночному серверу; компоненты кластера VictoriaMetrics отдают другие метрики и не поддерживаются.

  4. DumbMonit читает только /health и /metrics. Он никогда не выполняет запросов к вашим данным и ничего не записывает.

Пусть DumbMonit читает собственное состояние VictoriaLogs

Заголовок раздела «Пусть DumbMonit читает собственное состояние VictoriaLogs»
  1. Ничего устанавливать не нужно: VictoriaLogs публикует своё состояние на /health и /metrics, на порту своего API (по умолчанию 9428). Проверьте с хоста DumbMonit, что оба адреса отвечают.

    curl http://victorialogs.lan:9428/health
    curl -s http://victorialogs.lan:9428/metrics | grep vl_free_disk_space_bytes
  2. Если VictoriaLogs запущена с -httpAuth.username и -httpAuth.password, выберите ниже Username / password и введите их. За vmauth или обратным прокси, который ожидает bearer-токен, выберите Bearer token. Если задан -metricsAuthKey, /metrics отвечает только при наличии этого ключа в URL, а DumbMonit его не отправляет: защитите /metrics вместо этого описанной выше базовой аутентификацией.

  3. В DumbMonit введите адрес сервера, например «victorialogs.lan» или «http://10.0.0.6:9428». За обратным прокси введите полный URL с префиксом пути.

  4. 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 с).