vmauth.yml — базовый блок

1. Содержимое блока

В начало файла /etc/victoriametrics/vmauth.yml добавьте следующие строки:

## For generation a token use:
## 'tr -dc 'A-Za-z0-9_' < /dev/urandom | head -c $(( RANDOM % (23 - 19 + 1) + 19 )); echo'.
##
## To reload the config file /etc/victoriametrics/vmauth.yml, use 'systemctl reload vmauth'.
##
## Format of name:
##   First part - Whose request? (team name?).
##   Second part - Type of request (select or insert or import or export?).
##
## The fields 'name' will be seen in the Grafana vmauth dashboard.

unauthorized_user:
  url_prefix: "https://127.0.0.1:8426/-/ready"
  tls_insecure_skip_verify: true

2. Описание блока

  1. В закомментированных строках для справки приведены команды и описание необходимые для настройки этого файла.

  2. Для создания токенов для аутентификации клиентов в последующих блоках, выполните команду tr -dc 'A-Za-z0-9_' < /dev/urandom | head -c $RANDOM % (23 - 19 + 1) + 19; echo.

  3. Для применения изменений в файле, выполните команду systemctl reload vmauth, которая пошлёт сигнал HUP запущенному демону, после чего рекомендуется посмотреть журнал для подтверждения применения.

  4. Начиная с 1.114? версии, порт для приёма входящих запросов на маршрутизацию и порт для API vmauth’а разделены. Поэтому запрос от любого неаутентифицированного пользователя будет переброшен на внутренний URL /-/ready, что позволяет определять готовность vmauth’а к приёму метрик.

  5. Почему /-/ready, а не /-/healthy?

    На примере kubernetes:

    /-/healthy скажет, что процесс жив и kubelet не должен перезапускать этот под.

    /-/ready скажет, что сервис готов к приёму трафика (т. е. в Ingress/Service его можно включать в пул).

    Если /-/healthy=200, а /-/ready=503, Kubernetes удалит этот под из Service Endpoints, но не будет его рестартовать.