На этой странице перечислены метрики, которые Stronghold экспортирует в формате Prometheus. Включение телеметрии и сбор метрик описаны в разделе «Мониторинг».

Набор метрик на узле зависит от роли узла (активный или standby), включённых механизмов секретов и методов аутентификации, используемого бэкенда хранилища, редакции (часть компонентов доступна только в Stronghold EE) и фильтров приёмника метрик (prefix_filter, filter_default). Часть метрик появляется только после первого события (например, ошибки или создания аренды).

Чтобы получить фактический список метрик с работающего узла, запросите эндпоинт и выберите строки с типами:

curl -s --header "X-Vault-Token: ${STRONGHOLD_TOKEN}" "${STRONGHOLD_ADDR}/v1/sys/metrics?format=prometheus" | grep '^# TYPE'

Правила именования

Имя метрики в выводе Prometheus строится из ключа метрики по следующим правилам:

  1. Имя начинается с префикса stronghold_. Префикс задаётся параметром metrics_prefix блока telemetry (по умолчанию stronghold). На этой странице имена приведены с префиксом по умолчанию.
  2. Части ключа соединяются символом _, затем символы пробела, ., =, - и / заменяются на _. Регистр сохраняется: ключ raft, commitTime даёт stronghold_raft_commitTime; ключ core, seal-with-request даёт stronghold_core_seal_with_request.
  3. Имена с изменяемыми частями записаны с заполнителем в угловых скобках, например stronghold_audit_<device>_log_request.
  4. Если включён только приёмник Prometheus, имя узла (hostname) в имена метрик не добавляется. Если включены два и более приёмника и disable_hostname = false, имя узла вставляется в имена gauge-метрик (и только их), например stronghold_<hostname>_core_active. При disable_hostname = true имена метрик на всех узлах совпадают. При enable_hostname_label = true ко всем метрикам вместо этого добавляется лейбл host с именем узла.

Соответствие видов метрик типам Prometheus:

ВидТип PrometheusПримечания
GaugegaugeПоследнее установленное значение.
СчётчикcounterИмя не изменяется, суффикс _total не добавляется.
Таймер и выборкаsummaryРяды с лейблом quantile (0.5, 0.9, 0.99) и ряды <имя>_sum и <имя>_count. Таймеры измеряются в миллисекундах, остальные выборки — в единицах значения. Квантили считаются по скользящему окну в 10 секунд, а _sum и _count накапливаются.

Особенности вывода Prometheus:

  • Ряд, не обновлявшийся в течение prometheus_retention_time (по умолчанию 24 часа), удаляется из вывода. Редко обновляемые метрики могут пропадать и появляться снова. При prometheus_retention_time = 0 приёмник Prometheus отключается.
  • Текст HELP метрики совпадает с её именем, других описаний приёмник не задаёт.
  • Значения передаются как 32-разрядные числа с плавающей запятой, поэтому большие значения (Unix timestamp, индексы Raft, объёмы в байтах) округляются примерно до 7 значащих цифр.
  • Кроме метрик Stronghold, эндпоинт возвращает стандартные метрики Go и процесса (go_*, process_*).
  • У ряда таймеров и счётчиков одно и то же имя. Такие совпадения отмечены в соответствующих разделах.

Лейблы

Набор лейблов зависит от метрики. Лейбл cluster добавляется к большинству метрик ядра Stronghold; у метрик Raft и некоторых компонентов лейбла cluster нет. В таблицах лейблы каждой метрики перечислены явно.

ЛейблЗначение
clusterИмя кластера: параметр конфигурации cluster_name или, если он не задан, автоматически сгенерированное имя кластера.
quantileКвантиль summary: 0.5, 0.9 или 0.99.
namespaceПуть пространства имён без завершающего слэша; root для корневого пространства имён.
mount_pointПуть монтирования без пути пространства имён и завершающего слэша (для токенов и аренд); у stronghold_identity_entity_alias_count — путь монтирования метода аутентификации с префиксом auth/.
mount_pathПуть монтирования механизма секретов или метода аутентификации (для stronghold_route_<operation>_mount).
auth_methodТип метода аутентификации; для токенов также token и response_wrapping.
secret_engineТип механизма секретов.
creation_ttlКорзина TTL при создании: 1m, 10m, 20m, 1h, 2h, 1d, 2d, 7d, 30d или +Inf.
token_typeТип токена: service, batch, default и т. д.
policyИмя политики.
expiringВремя истечения аренд, округлённое до lease_metrics_epsilon.
gaugeИмя процесса сбора gauge-метрики использования.
peer_idИдентификатор узла (peer) Raft.
node_idИдентификатор узла Raft в метриках автопилота.
databaseБаза BoltDB Raft: logstore или fsm.
nameИмя квоты.
snapshot_config_nameИмя конфигурации автоматических снимков.
roleИмя роли PKI.
termПериод (term) связки ключей барьера.
typeЗависит от метрики: тип таблицы монтирования (auth, logical), тип клиента журнала активности (entity, direct_token) или режим репликации узла.
localtrue для локальных точек монтирования, false для реплицируемых.
dbTypeТип базы данных экземпляра плагина.
queue_idИдентификатор очереди менеджера заданий истечения срока (accessor точки монтирования).
rpcTypeТип RPC Raft.
methodОперация вызовов RPC репликации: get или update.
resultРезультат запуска репликации KV: success или error.
local_namespace, local_mount_pathПространство имён и путь локальной точки монтирования репликации KV.
source_address, source_namespace, source_mount_pathАдрес исходного кластера, пространство имён и путь исходной точки монтирования репликации KV.

Метрики, используемые в алертах DP

Алерты модуля Deckhouse используют следующие метрики. Сами алерты описаны на странице «Мониторинг».

АлертМетрики
D8StrongholdNoActiveNodesstronghold_core_active
D8StrongholdSealedNodesPresentstronghold_core_unsealed, stronghold_runtime_num_goroutines
D8StrongholdClusterNotHealthystronghold_autopilot_healthy
D8StrongholdQuorumInCriticalStatestronghold_autopilot_failure_tolerance
D8StrongholdAbsentMetricsstronghold_runtime_num_goroutines
D8StrongholdAutoSnapshotFailedstronghold_core_snapshot_auto_failed
D8StrongholdAutoSnapshotRotationFailedstronghold_autosnapshots_rotate_failed

Метрики по подсистемам

Таблицы сгруппированы по подсистемам. Тип — это тип в выводе Prometheus; таймеры (summary) измеряются в миллисекундах, если не указано иное.

Ядро, состояние запечатывания и HA

Gauge-метрики состояния обновляются каждую секунду на всех узлах кластера, а также в момент события (распечатывание, запечатывание, смена лидера).

Состояние

МетрикаТипОписаниеЛейблы
stronghold_core_unsealedgauge1 — узел распечатан, 0 — запечатан.cluster
stronghold_core_activegauge1 — активный (лидер) узел, 0 — ведомый узел.cluster
stronghold_core_performance_standbygauge1 — узел является performance standby, иначе 0.cluster
stronghold_core_in_flight_requestsgaugeЧисло запросов, обрабатываемых узлом в данный момент.cluster
stronghold_core_locked_usersgaugeЧисло пользователей, заблокированных из-за неудачных попыток входа, суммарно по всем пространствам имён и точкам монтирования. Пересчитывается на активном узле при старте и далее каждые 15 минут.—
stronghold_core_mount_table_num_entriesgaugeЧисло записей в таблице монтирования (механизмы секретов или методы аутентификации). Обновляется при сохранении таблицы.cluster, type, local
stronghold_core_mount_table_sizegaugeРазмер сериализованной (сжатой) таблицы монтирования в байтах, до шифрования барьером.cluster, type, local
stronghold_core_license_expiration_time_epochgaugeВремя истечения лицензии в формате Unix timestamp (секунды). Устанавливается при загрузке или обновлении лицензии.—

Таймеры

МетрикаТипОписаниеЛейблы
stronghold_core_unsealsummaryДлительность операции распечатывания, мс.quantile
stronghold_core_post_unsealsummaryДлительность пост-настройки после распечатывания (запуск подсистем), мс.quantile
stronghold_core_pre_sealsummaryДлительность остановки подсистем перед запечатыванием, мс.quantile
stronghold_core_sealsummaryДлительность операции запечатывания, мс.quantile
stronghold_core_seal_with_requestsummaryДлительность запечатывания по запросу (sys/seal), мс.quantile
stronghold_core_seal_internalsummaryДлительность внутреннего запечатывания ядра, мс.quantile
stronghold_core_step_downsummaryДлительность операции передачи лидерства (step-down), мс.quantile
stronghold_core_leadership_setup_failedsummaryДлительность активного периода узла, у которого не удалась настройка лидерства (время от получения роли активного узла до ошибки), мс.quantile
stronghold_core_leadership_lostsummaryДлительность времени, в течение которого узел был активным до потери лидерства, мс.quantile

Запечатывание и защита ключа распечатывания

Метрики вызовов шифрования и расшифрования ключа распечатывания (механизм защиты ключа: Shamir, KMS, Transit, PKCS#11 и другие). Метрики с <type> в имени дублируются для каждого типа обёртки: shamir, aead, awskms, azurekeyvault, gcpckms, alicloudkms, ocikms, transit, pkcs11, hsm-auto (превращается в hsm_auto) и т. д.

МетрикаТипОписаниеЛейблы
stronghold_seal_unreachable_timegaugeВремя в миллисекундах с последней успешной проверки доступности механизма запечатывания, 0 пока он доступен. Обновляется проверкой состояния auto-unseal (раз в 10 минут, раз в минуту при недоступности).cluster
stronghold_seal_encrypt_timesummaryДлительность вызова шифрования через механизм запечатывания (все типы), мс.quantile
stronghold_seal_<type>_encrypt_timesummaryДлительность вызова шифрования для указанного типа обёртки, мс.quantile
stronghold_seal_encryptcounterЧисло вызовов шифрования (все типы).—
stronghold_seal_<type>_encryptcounterЧисло вызовов шифрования для указанного типа обёртки.—
stronghold_seal_encrypt_errorcounterЧисло неудачных вызовов шифрования (все типы).—
stronghold_seal_<type>_encrypt_errorcounterЧисло неудачных вызовов шифрования для указанного типа обёртки.—
stronghold_seal_decrypt_timesummaryДлительность вызова расшифрования через механизм запечатывания (все типы), мс.quantile
stronghold_seal_<type>_decrypt_timesummaryДлительность вызова расшифрования для указанного типа обёртки, мс.quantile
stronghold_seal_decryptcounterЧисло вызовов расшифрования (все типы).—
stronghold_seal_<type>_decryptcounterЧисло вызовов расшифрования для указанного типа обёртки.—
stronghold_seal_decrypt_errorcounterЧисло неудачных вызовов расшифрования (все типы).—
stronghold_seal_<type>_decrypt_errorcounterЧисло неудачных вызовов расшифрования для указанного типа обёртки.—
stronghold_seal_envelope_encryptsummaryДлительность envelope-шифрования значения, мс.quantile
stronghold_seal_envelope_decryptsummaryДлительность envelope-расшифрования значения, мс.quantile

Запросы, вход и маршрутизация

Обработка запросов

МетрикаТипОписаниеЛейблы
stronghold_core_handle_requestsummaryДлительность обработки запроса в ядре, мс.quantile
stronghold_core_handle_login_requestsummaryДлительность обработки запроса на вход (login), мс.quantile
stronghold_core_fetch_acl_and_tokensummaryДлительность построения ACL и поиска токена запроса, мс.quantile
stronghold_core_check_tokensummaryДлительность проверки токена и политик запроса (проверка ACL), мс.quantile
stronghold_route_<operation>_mountsummaryДлительность маршрутизации запроса указанной операции в точку монтирования. <operation> — операция запроса: create, read, update, patch, delete, list, help, alias-lookahead (становится alias_lookahead), resolve-role (resolve_role), header, revoke, renew, rollback, period-task (period_task). Не эмитируется для проверок существования, мс.quantile, namespace, mount_path

Пересылка запросов между узлами (ведомые узлы)

МетрикаТипОписаниеЛейблы
stronghold_ha_rpc_client_forwardsummaryДлительность пересылки запроса с ведомого узла на активный, мс.quantile
stronghold_ha_rpc_client_forward_errorscounterЧисло неудачных пересылок запроса на активный узел.—
stronghold_ha_rpc_client_echosummaryДлительность периодического echo-вызова (heartbeat) с ведомого узла на активный, мс.quantile
stronghold_ha_rpc_client_echo_errorscounterЧисло неудачных echo-вызовов с ведомого узла на активный.—

Менеджер отката и события

МетрикаТипОписаниеЛейблы
stronghold_rollback_queuedgaugeЧисло операций отката (rollback), ожидающих в очереди.—
stronghold_rollback_inflightgaugeЧисло выполняемых операций отката (rollback).—
stronghold_rollback_waitingsummaryДлительность ожидания операции отката в очереди до выполнения, мс.quantile
stronghold_rollback_attemptsummaryДлительность одной попытки отката, мс.quantile
stronghold_events_subscriptionsgaugeЧисло подписок на события во всех шинах событий процесса.—

Токены, аренды секретов и gauge-метрики использования

Gauge-метрики использования (token_count*, expire_leases_by_expiration, secret_kv_count, identity_entity_*count, identity_entity_active_partial_month) собираются только на активном узле фоновыми процессами сбора. Период задаётся параметром usage_gauge_period (по умолчанию 10 минут; none отключает сбор), число рядов одной метрики ограничено maximum_gauge_cardinality (по умолчанию 500, остаются ряды с наибольшими значениями). На ведомых узлах и вторичных DR-кластерах сбор не выполняется. Если сбор занимает больше заданной доли периода, период удваивается до перезапуска.

Создание и операции

МетрикаТипОписаниеЛейблы
stronghold_token_creationcounterЧисло созданных токенов. auth_method — тип метода аутентификации, token для токенов, созданных через хранилище токенов, или response_wrapping для токенов обёртывания ответа; creation_ttl — корзина TTL (1m, 10m, 20m, 1h, 2h, 1d, 2d, 7d, 30d, +Inf); token_type — тип токена (service, batch, default и т. д.).cluster, namespace, auth_method, mount_point, creation_ttl, token_type
stronghold_secret_lease_creationcounterЧисло созданных аренд секретов. creation_ttl — корзина TTL, как у stronghold_token_creation.cluster, namespace, secret_engine, mount_point, creation_ttl
stronghold_token_create_rootcounterЧисло созданных root-токенов.—
stronghold_token_createAccessorsummaryДлительность создания accessor токена, мс.quantile
stronghold_token_createsummaryДлительность создания токена, мс.quantile
stronghold_token_storesummaryДлительность сохранения записи токена, мс.quantile
stronghold_token_lookupsummaryДлительность поиска токена, мс.quantile
stronghold_token_revokesummaryДлительность отзыва токена, мс.quantile
stronghold_token_revoke_treesummaryДлительность отзыва дерева токенов (токена и его дочерних токенов), мс.quantile

Gauge-метрики использования (активный узел)

МетрикаТипОписаниеЛейблы
stronghold_token_countgaugeЧисло токенов (действующих, отслеживаемых менеджером истечения срока) по пространствам имён.cluster, namespace
stronghold_token_count_by_policygaugeЧисло токенов по пространствам имён и политикам. Токен с несколькими политиками учитывается для каждой из них.cluster, namespace, policy
stronghold_token_count_by_authgaugeЧисло токенов по пространствам имён и методам аутентификации (префикс пути монтирования токена; unknown, если определить не удалось).cluster, namespace, auth_method
stronghold_token_count_by_ttlgaugeЧисло токенов по пространствам имён и корзинам TTL при создании (1m … 30d, +Inf; токены с нулевым TTL попадают в +Inf).cluster, namespace, creation_ttl
stronghold_expire_leases_by_expirationgaugeЧисло аренд по времени истечения, округлённому до lease_metrics_epsilon (по умолчанию 1 час); учитываются только аренды, истекающие в пределах окна из num_lease_metrics_buckets корзин (по умолчанию 168). Лейбл namespace присутствует, если add_lease_metrics_namespace_labels = true.cluster, expiring, namespace
stronghold_secret_kv_countgaugeЧисло секретов в точках монтирования KV (KV v1 и v2; для v2 считаются ключи в metadata/). Сбор перебирает все ключи и может быть затратным: его можно отключить переменной окружения VAULT_DISABLE_KV_GAUGE.cluster, namespace, mount_point

Служебные метрики сбора gauge-метрик

МетрикаТипОписаниеЛейблы
stronghold_metrics_collection_intervalsummaryНастроенный интервал сбора gauge-метрики использования, мс. Фиксируется при каждом сборе. gauge — имя процесса сбора (например, token_by_namespace, token_by_policy, token_by_auth, token_by_ttl, leases_by_expiration, kv_secrets_by_mountpoint, identity_by_namespace, identity_by_mountpoint, identity_active_month).quantile, cluster, gauge
stronghold_metrics_collectionsummaryДлительность одного сбора gauge-метрики использования, мс. Если она превышает целевую долю интервала, интервал удваивается. Лейблы те же, что у stronghold_metrics_collection_interval.quantile, cluster, gauge
stronghold_metrics_collection_errorcounterЧисло неудачных сборов gauge-метрики использования (ошибка сборщика или ошибка при перечислении ключей KV).cluster, gauge

Аренды и истечение срока

Метрики менеджера истечения срока. expire_num_leases и expire_num_irrevocable_leases эмитируются каждую секунду только активным узлом.

Счётчики и очередь

МетрикаТипОписаниеЛейблы
stronghold_expire_num_leasesgaugeОбщее число аренд (включая токены с арендами), отслеживаемых менеджером истечения срока.—
stronghold_expire_num_irrevocable_leasesgaugeЧисло аренд, которые не удалось отозвать (неотзываемые аренды).—
stronghold_expire_lease_expirationcounterЧисло заданий на отзыв аренды, запущенных рабочими процессами истечения срока (истечение аренды запускает отзыв).cluster, namespace
stronghold_expire_lease_expiration_time_in_queuesummaryДлительность ожидания задания на отзыв аренды в очереди (от постановки в очередь до начала выполнения), мс.quantile, cluster, namespace
stronghold_expire_lease_expiration_errorcounterЧисло неудачных заданий на отзыв аренды.cluster, namespace
stronghold_expire_job_manager_queue_lengthsummaryДлина очереди заданий менеджера заданий истечения срока, фиксируется при добавлении и извлечении задания. queue_id — идентификатор очереди (accessor точки монтирования, к которой относятся аренды).quantile, cluster, queue_id
stronghold_expire_job_manager_total_jobssummaryОбщее число заданий во всех очередях менеджера заданий истечения срока, фиксируется при добавлении и извлечении задания.quantile, cluster

Таймеры

МетрикаТипОписаниеЛейблы
stronghold_expire_revokesummaryДлительность отзыва аренды, мс.quantile
stronghold_expire_lazy_revokesummaryДлительность отложенного отзыва аренды (lazy revoke), мс.quantile
stronghold_expire_revoke_commonsummaryДлительность общей части отзыва аренды, мс.quantile
stronghold_expire_revoke_forcesummaryДлительность принудительного отзыва аренд, мс.quantile
stronghold_expire_revoke_prefixsummaryДлительность отзыва всех аренд по префиксу пути, мс.quantile
stronghold_expire_revoke_by_tokensummaryДлительность отзыва всех аренд токена, мс.quantile
stronghold_expire_renewsummaryДлительность продления аренды, мс.quantile
stronghold_expire_renew_tokensummaryДлительность продления токена, мс.quantile
stronghold_expire_registersummaryДлительность регистрации аренды секрета, мс.quantile
stronghold_expire_register_authsummaryДлительность регистрации аренды токена аутентификации, мс.quantile
stronghold_expire_fetch_lease_timessummaryДлительность получения временных данных аренды, мс.quantile
stronghold_expire_fetch_lease_times_by_tokensummaryДлительность получения временных данных аренды токена, мс.quantile

Идентификация и активность клиентов

МетрикаТипОписаниеЛейблы
stronghold_identity_num_entitiesgaugeОбщее число сущностей (entity) identity. Обновляется каждые 10 минут на активном узле (не на ведомых узлах и вторичных DR-кластерах).—
stronghold_identity_entity_countgaugeЧисло сущностей (entity) по пространствам имён.cluster, namespace
stronghold_identity_entity_alias_countgaugeЧисло сущностей (entity) по точкам монтирования методов аутентификации. mount_point содержит префикс auth/.cluster, namespace, auth_method, mount_point
stronghold_identity_entity_active_partial_monthgaugeЧисло активных клиентов (entity) в текущем, ещё не завершённом месяце журнала активности. Эмитируется только при включённом журнале активности.cluster
stronghold_identity_entity_active_monthlygaugeЧисло активных клиентов-сущностей (entity) в пространстве имён за последний месяц журнала активности. Устанавливается при обработке сегментов журнала активности.cluster, namespace
stronghold_identity_nonentity_active_monthlygaugeЧисло активных клиентов без сущности (токены без entity) в пространстве имён за последний месяц журнала активности.cluster, namespace
stronghold_identity_entity_active_reporting_periodgaugeЧисло активных клиентов-сущностей (entity) в пространстве имён за первый месяц отчётного периода (периода хранения) журнала активности.cluster, namespace
stronghold_identity_nonentity_active_reporting_periodgaugeЧисло активных клиентов без сущности в пространстве имён за первый месяц отчётного периода журнала активности.cluster, namespace
stronghold_identity_entity_creationcounterЧисло созданных сущностей (entity). Если сущность создаётся вместе с alias при входе, добавляются лейблы auth_method и mount_point.cluster, namespace, auth_method, mount_point
stronghold_core_activity_fragment_sizecounterЧисло клиентов во фрагментах журнала активности, записанных в хранилище: type="entity" — клиенты-сущности, type="direct_token" — токены без сущности.cluster, type
stronghold_core_activity_segment_writesummaryДлительность записи сегмента журнала активности в хранилище, мс.quantile, cluster
stronghold_identity_create_entitysummaryДлительность создания сущности (entity), мс.quantile
stronghold_identity_create_or_fetch_entitysummaryДлительность создания или получения сущности (entity) при входе, мс.quantile
stronghold_identity_upsert_entitysummaryДлительность создания или обновления сущности (entity), мс.quantile
stronghold_identity_upsert_entity_txnsummaryДлительность создания или обновления сущности (entity) в рамках транзакции, мс.quantile
stronghold_identity_upsert_groupsummaryДлительность создания или обновления группы, мс.quantile
stronghold_identity_upsert_group_txnsummaryДлительность создания или обновления группы в рамках транзакции, мс.quantile
stronghold_identity_refresh_external_groupssummaryДлительность обновления внешних групп сущности (entity), мс.quantile

Аудит

В метриках с <device> значение <device> — имя устройства аудита (путь монтирования, в котором - и / заменены на _). Счётчики сбоев увеличиваются на 1 при неудачной записи запроса или ответа и на 0 при успехе.

МетрикаТипОписаниеЛейблы
stronghold_audit_log_requestsummaryДлительность записи запроса во все устройства аудита, мс.quantile
stronghold_audit_log_responsesummaryДлительность записи ответа во все устройства аудита, мс.quantile
stronghold_audit_log_request_failurecounterЧисло запросов, которые не удалось записать устройствами аудита.—
stronghold_audit_log_response_failurecounterЧисло ответов, которые не удалось записать устройствами аудита.—
stronghold_audit_<device>_log_requestsummaryДлительность записи запроса в указанное устройство аудита, мс.quantile
stronghold_audit_<device>_log_responsesummaryДлительность записи ответа в указанное устройство аудита, мс.quantile
stronghold_audit_fallback_successcounterЧисло запросов и ответов, успешно записанных резервным (fallback) устройством аудита.—
stronghold_audit_fallback_misscounterЧисло запросов и ответов, которые резервному (fallback) устройству аудита записать не удалось.—
stronghold_audit_<fallback_device>_log_requestsummaryДлительность записи запроса в резервное (fallback) устройство аудита, мс.quantile
stronghold_audit_<fallback_device>_log_responsesummaryДлительность записи ответа в резервное (fallback) устройство аудита, мс.quantile

Политики и ACL

МетрикаТипОписаниеЛейблы
stronghold_policy_set_policysummaryДлительность создания или обновления политики, мс.quantile
stronghold_policy_get_policysummaryДлительность чтения политики, мс.quantile
stronghold_policy_list_policiessummaryДлительность получения списка политик, мс.quantile
stronghold_policy_delete_policysummaryДлительность удаления политики, мс.quantile

Барьер, кеш и бэкенды хранилища

Барьер шифрует все данные перед записью в физический бэкенд. Таймеры хранилища измеряют вызовы ядра Stronghold к бэкенду; метрики Raft описаны в разделе «Хранилище Raft».

Барьер

МетрикаТипОписаниеЛейблы
stronghold_barrier_putsummaryДлительность записи ключа через барьер (шифрование и запись в бэкенд), мс.quantile
stronghold_barrier_getsummaryДлительность чтения ключа через барьер (чтение из бэкенда и расшифрование), мс.quantile
stronghold_barrier_deletesummaryДлительность удаления ключа через барьер, мс.quantile
stronghold_barrier_listsummaryДлительность получения списка ключей через барьер, мс.quantile
stronghold_barrier_estimated_encryptionscounterЧисло операций шифрования, выполненных ключом барьера указанного периода (ключ барьера автоматически ротируется после лимита операций). term — период (term) связки ключей барьера.term
stronghold_barrier_auto_rotationcounterЧисло автоматических ротаций ключа барьера.—

Кэш физического хранилища

МетрикаТипОписаниеЛейблы
stronghold_cache_writecounterЧисло записей в кеш физического хранилища.—
stronghold_cache_hitcounterЧисло чтений, обслуженных из кеша физического хранилища.—
stronghold_cache_misscounterЧисло чтений, не найденных в кеше физического хранилища.—
stronghold_cache_deletecounterЧисло удалений ключей из кеша физического хранилища.—

Storage packer

МетрикаТипОписаниеЛейблы
stronghold_storage_packer_get_itemsummaryДлительность чтения элемента из storage packer (корзины identity), мс.quantile
stronghold_storage_packer_put_itemsummaryДлительность записи элемента в storage packer, мс.quantile
stronghold_storage_packer_put_bucketsummaryДлительность записи корзины в storage packer, мс.quantile
stronghold_storage_packer_delete_itemssummaryДлительность удаления элементов из storage packer, мс.quantile

Другие бэкенды хранилища (только для настроенного бэкенда)

МетрикаТипОписаниеЛейблы
stronghold_consul_getsummaryДлительность вызова get бэкенда Consul, мс.quantile
stronghold_consul_listsummaryДлительность вызова list бэкенда Consul, мс.quantile
stronghold_consul_transactionsummaryДлительность транзакции на бэкенде Consul, мс.quantile
stronghold_etcd_putsummaryДлительность вызова put бэкенда etcd, мс.quantile
stronghold_etcd_getsummaryДлительность вызова get бэкенда etcd, мс.quantile
stronghold_etcd_deletesummaryДлительность вызова delete бэкенда etcd, мс.quantile
stronghold_etcd_listsummaryДлительность вызова list бэкенда etcd, мс.quantile
stronghold_postgres_putsummaryДлительность вызова put бэкенда PostgreSQL, мс.quantile
stronghold_postgres_getsummaryДлительность вызова get бэкенда PostgreSQL, мс.quantile
stronghold_postgres_deletesummaryДлительность вызова delete бэкенда PostgreSQL, мс.quantile
stronghold_postgres_listsummaryДлительность вызова list бэкенда PostgreSQL, мс.quantile
stronghold_postgres_transactionsummaryДлительность транзакции на бэкенде PostgreSQL, мс.quantile

Хранилище Raft

Метрики интегрированного хранилища Raft, которые эмитирует сам Stronghold. Gauge-метрики raft_storage_stats_* и raft_storage_bolt_* обновляются каждую секунду на каждом узле. Лейбл database у статистики BoltDB — logstore (raft.db, хранилище журнала) или fsm (база FSM). Метрики библиотеки Raft описаны в следующем разделе.

Статистика Raft

МетрикаТипОписаниеЛейблы
stronghold_raft_storage_stats_termgaugeТекущий терм (term) Raft узла.cluster, peer_id
stronghold_raft_storage_stats_commit_indexgaugeИндекс последней зафиксированной записи журнала Raft, известной узлу.cluster, peer_id
stronghold_raft_storage_stats_applied_indexgaugeИндекс последней записи журнала Raft, применённой к FSM на узле.cluster, peer_id
stronghold_raft_storage_stats_fsm_pendinggaugeЧисло записей журнала Raft, ожидающих применения к FSM.cluster, peer_id

Статистика BoltDB

МетрикаТипОписаниеЛейблы
stronghold_raft_storage_bolt_freelist_free_pagesgaugeЧисло свободных страниц в базе BoltDB.cluster, database
stronghold_raft_storage_bolt_freelist_pending_pagesgaugeЧисло ожидающих (pending) страниц в списке свободных страниц BoltDB.cluster, database
stronghold_raft_storage_bolt_freelist_allocated_bytesgaugeБайт, выделенных под список свободных страниц BoltDB.cluster, database
stronghold_raft_storage_bolt_freelist_used_bytesgaugeБайт, используемых списком свободных страниц BoltDB.cluster, database
stronghold_raft_storage_bolt_transaction_started_read_transactionsgaugeОбщее число начатых транзакций чтения.cluster, database
stronghold_raft_storage_bolt_transaction_currently_open_read_transactionsgaugeЧисло открытых в данный момент транзакций чтения.cluster, database
stronghold_raft_storage_bolt_page_countgaugeЧисло выделений страниц (накопительное значение TxStats BoltDB).cluster, database
stronghold_raft_storage_bolt_page_bytes_allocatedgaugeБайт, выделенных под страницы (накопительное значение TxStats BoltDB).cluster, database
stronghold_raft_storage_bolt_cursor_countgaugeЧисло созданных курсоров (накопительное значение TxStats BoltDB).cluster, database
stronghold_raft_storage_bolt_node_countgaugeЧисло выделений узлов (накопительное значение TxStats BoltDB).cluster, database
stronghold_raft_storage_bolt_node_dereferencesgaugeЧисло разыменований узлов (накопительное значение TxStats BoltDB).cluster, database
stronghold_raft_storage_bolt_rebalance_countgaugeЧисло перебалансировок узлов (накопительное значение TxStats BoltDB).cluster, database
stronghold_raft_storage_bolt_rebalance_timesummaryНакопительное время перебалансировок BoltDB (TxStats), мс, фиксируется каждую секунду.quantile, cluster, database
stronghold_raft_storage_bolt_split_countgaugeЧисло разделений узлов (накопительное значение TxStats BoltDB).cluster, database
stronghold_raft_storage_bolt_spill_countgaugeЧисло сбросов (spill) узлов (накопительное значение TxStats BoltDB).cluster, database
stronghold_raft_storage_bolt_spill_timesummaryНакопительное время сбросов (spill) BoltDB (TxStats), мс, фиксируется каждую секунду.quantile, cluster, database
stronghold_raft_storage_bolt_write_countgaugeЧисло записей на диск (накопительное значение TxStats BoltDB).cluster, database
stronghold_raft_storage_bolt_write_timecounterНакопительное время записи BoltDB на диск (TxStats), мс. Счётчик увеличивается каждую секунду на значение TxStats, поэтому используйте его только для относительных сравнений.cluster, database

Ведомые узлы (эмитирует лидер Raft)

МетрикаТипОписаниеЛейблы
stronghold_raft_storage_follower_last_heartbeat_msgaugeВремя в миллисекундах с последнего heartbeat от ведомого узла. Эмитируется лидером каждую секунду для каждого ведомого узла.peer_id
stronghold_raft_storage_follower_applied_index_deltagaugeРазница между applied index лидера и ведомого узла. Эмитируется лидером каждую секунду.peer_id

Таймеры операций

МетрикаТипОписаниеЛейблы
stronghold_raft_storage_getsummaryДлительность вызова get бэкенда Raft, мс.quantile
stronghold_raft_storage_putsummaryДлительность вызова put бэкенда Raft, мс.quantile
stronghold_raft_storage_deletesummaryДлительность вызова delete бэкенда Raft, мс.quantile
stronghold_raft_storage_listsummaryДлительность вызова list бэкенда Raft, мс.quantile
stronghold_raft_storage_transactionsummaryДлительность транзакции на бэкенде Raft, мс.quantile
stronghold_raft_storage_entry_sizesummaryРазмер в байтах команды Raft (пакета операций хранилища), отправляемой в журнал.quantile
stronghold_raft_getsummaryДлительность чтения из FSM Raft (дублирует stronghold_raft_storage_fsm_get), мс.quantile
stronghold_raft_listsummaryДлительность получения списка ключей в FSM Raft (дублирует stronghold_raft_storage_fsm_list), мс.quantile
stronghold_raft_storage_fsm_getsummaryДлительность чтения из FSM Raft, мс.quantile
stronghold_raft_storage_fsm_putsummaryДлительность записи в FSM Raft, мс.quantile
stronghold_raft_storage_fsm_deletesummaryДлительность удаления ключа в FSM Raft, мс.quantile
stronghold_raft_storage_fsm_delete_prefixsummaryДлительность удаления ключей по префиксу в FSM Raft, мс.quantile
stronghold_raft_storage_fsm_listsummaryДлительность получения списка ключей в FSM Raft, мс.quantile
stronghold_raft_storage_fsm_open_db_filesummaryДлительность открытия файла базы данных FSM, мс.quantile
stronghold_raft_storage_fsm_write_snapshotsummaryДлительность записи снимка FSM, мс.quantile
stronghold_raft_storage_fsm_restore_snapshotsummaryДлительность восстановления FSM из снимка, мс.quantile

Библиотека Raft

Метрики хранилища Raft. Лейбла cluster у них нет. Метрики, которые эмитирует только лидер или только ведомые узлы, отмечены в описании. Stronghold также эмитирует устаревшие метрики с идентификатором узла в суффиксе имени (stronghold_raft_replication_heartbeat_<peer_id>, stronghold_raft_replication_installSnapshot_<peer_id>, stronghold_raft_replication_appendEntries_rpc_<peer_id>, stronghold_raft_replication_appendEntries_logs_<peer_id>), они дублируют метрики с лейблами; используйте метрики с лейблами. Лейбл rpcType у raft_net_* принимает значения Heartbeat, AppendEntries, RequestVote, RequestPreVote, InstallSnapshot, TimeoutNow. Метрики задержек — в миллисекундах.

Состояние и выборы

МетрикаТипОписаниеЛейблы
stronghold_raft_state_followercounterЧисло переходов узла в состояние follower.—
stronghold_raft_state_candidatecounterЧисло переходов узла в состояние candidate (начал выборов).—
stronghold_raft_state_leadercounterЧисло переходов узла в состояние leader.—
stronghold_raft_transition_heartbeat_timeoutcounterЧисло истечений тайм-аута heartbeat: ведомый узел не получил heartbeat от лидера и начал выборы.—
stronghold_raft_transition_leader_lease_timeoutcounterЧисло случаев, когда лидер потерял lease, не сумев связаться с кворумом ведомых узлов.—
stronghold_raft_peersgaugeЧисло серверов в последней конфигурации Raft. Обновляется лидером при запуске и остановке репликации.—
stronghold_raft_candidate_electSelfsummaryДлительность попытки выборов узла (запрос голосов у всех участников), мс.quantile
stronghold_raft_candidate_preElectSelfsummaryДлительность фазы пред-голосования (pre-vote) выборов, мс.quantile

Репликация журнала и RPC

МетрикаТипОписаниеЛейблы
stronghold_raft_applycounterЧисло записей, переданных в Raft на применение (вызовы Apply) на лидере.—
stronghold_raft_barriercounterЧисло вызовов Barrier на лидере.—
stronghold_raft_verify_leadercounterЧисло вызовов VerifyLeader.—
stronghold_raft_restorecounterЧисло восстановлений Raft из снимка (вызовы Restore).—
stronghold_raft_commitTimesummaryДлительность фиксации записи журнала (от отправки до подтверждения кворумом) на лидере, мс.quantile
stronghold_raft_commitNumLogsgaugeЧисло записей журнала в последнем пакете, зафиксированном лидером.—
stronghold_raft_leader_dispatchLogsummaryДлительность записи лидером пакета записей в собственное хранилище журнала, мс.quantile
stronghold_raft_leader_dispatchNumLogsgaugeЧисло записей в последнем пакете, записанном лидером в своё хранилище журнала.—
stronghold_raft_leader_lastContactsummaryВремя в миллисекундах с последнего контакта с ведомым узлом; лидер фиксирует его для каждого ведомого узла при проверке lease лидера. Рост значения указывает на проблемы с ведомым узлом или сетью.quantile
stronghold_raft_leader_oldestLogAgegaugeВозраст в миллисекундах самой старой записи в хранилище журнала лидера. Эмитируется лидером.—
stronghold_raft_rpc_appendEntriessummaryДлительность обработки AppendEntries RPC на ведомом узле, мс.quantile
stronghold_raft_rpc_appendEntries_storeLogssummaryДлительность сохранения записей журнала, полученных в AppendEntries, на ведомом узле, мс.quantile
stronghold_raft_rpc_appendEntries_processLogssummaryДлительность обработки (фиксации) записей журнала, полученных в AppendEntries, на ведомом узле, мс.quantile
stronghold_raft_rpc_processHeartbeatsummaryДлительность обработки heartbeat RPC на ведомом узле, мс.quantile
stronghold_raft_rpc_requestVotesummaryДлительность обработки RequestVote RPC, мс.quantile
stronghold_raft_rpc_installSnapshotsummaryДлительность обработки InstallSnapshot RPC на ведомом узле, мс.quantile

Репликация с лидера и сетевой транспорт

МетрикаТипОписаниеЛейблы
stronghold_raft_replication_heartbeatsummaryДлительность отправки лидером heartbeat ведомому узлу, мс.quantile, peer_id
stronghold_raft_replication_installSnapshotsummaryДлительность отправки лидером снимка ведомому узлу, мс.quantile, peer_id
stronghold_raft_replication_appendEntries_rpcsummaryДлительность вызова AppendEntries RPC от лидера к ведомому узлу, мс.quantile, peer_id
stronghold_raft_replication_appendEntries_logscounterЧисло записей журнала, реплицированных лидером на ведомый узел.peer_id
stronghold_raft_net_getRPCTypesummaryДлительность чтения типа RPC из соединения в сетевом транспорте, мс.quantile
stronghold_raft_net_rpcDecodesummaryДлительность декодирования входящего RPC в сетевом транспорте, мс.quantile, rpcType
stronghold_raft_net_rpcEnqueuesummaryДлительность постановки входящего RPC в очередь обработки ядра Raft, мс.quantile, rpcType
stronghold_raft_net_rpcRespondsummaryДлительность ожидания и отправки ответа на RPC, мс.quantile, rpcType

FSM, снимки и загрузка горутин

МетрикаТипОписаниеЛейблы
stronghold_raft_fsm_applysummaryДлительность применения одной записи журнала к FSM, мс.quantile
stronghold_raft_fsm_applyBatchsummaryДлительность применения пакета записей журнала к FSM, мс.quantile
stronghold_raft_fsm_applyBatchNumsummaryЧисло записей журнала в пакете, применяемом к FSM.quantile
stronghold_raft_fsm_enqueuesummaryДлительность постановки записей журнала в очередь FSM, мс.quantile
stronghold_raft_fsm_store_configsummaryДлительность применения изменения конфигурации к FSM, мс.quantile
stronghold_raft_fsm_snapshotsummaryДлительность создания снимка FSM, мс.quantile
stronghold_raft_fsm_restoresummaryДлительность восстановления FSM из снимка, мс.quantile
stronghold_raft_fsm_lastRestoreDurationgaugeДлительность последнего восстановления FSM из снимка, мс.—
stronghold_raft_snapshot_takeSnapshotsummaryДлительность всего процесса создания снимка (включая сжатие журнала), мс.quantile
stronghold_raft_snapshot_createsummaryДлительность создания снимка (снимок FSM), мс.quantile
stronghold_raft_snapshot_persistsummaryДлительность записи снимка в хранилище снимков, мс.quantile
stronghold_raft_compactLogssummaryДлительность сжатия журнала Raft, мс.quantile
stronghold_raft_removeOldLogssummaryДлительность удаления старых записей журнала после снимка, мс.quantile
stronghold_raft_restoreUserSnapshotsummaryДлительность восстановления пользовательского снимка (восстановление через sys/storage/raft/snapshot), мс.quantile
stronghold_raft_thread_main_saturationsummaryЗагрузка основной горутины Raft: доля времени (от 0 до 1), в течение которой горутина работала, а не ожидала, за интервал в 1 секунду. Значение, близкое к 1, означает перегрузку ядра Raft.quantile
stronghold_raft_thread_fsm_saturationsummaryЗагрузка горутины FSM: доля времени (от 0 до 1), в течение которой горутина применяла записи, за интервал в 1 секунду.quantile

Хранилище журнала BoltDB (raft-boltdb)

МетрикаТипОписаниеЛейблы
stronghold_raft_boltdb_getLogsummaryДлительность чтения записи журнала из хранилища журнала BoltDB, мс.quantile
stronghold_raft_boltdb_storeLogssummaryДлительность записи пакета записей журнала в хранилище журнала BoltDB (включая фиксацию на диск), мс.quantile
stronghold_raft_boltdb_logSizesummaryРазмер в байтах записи журнала, записываемой в хранилище журнала.quantile
stronghold_raft_boltdb_logsPerBatchsummaryЧисло записей журнала в пакете, записываемом в хранилище журнала.quantile
stronghold_raft_boltdb_logBatchSizesummaryСуммарный размер в байтах пакета записей журнала, записываемого в хранилище журнала.quantile
stronghold_raft_boltdb_writeCapacitysummaryОценка пропускной способности записи хранилища журнала: число записей журнала в секунду при скорости последнего пакета.quantile

Автопилот Raft и состояние кластера

Метрики автопилота эмитирует лидер Raft при каждом обновлении состояния автопилота. Лейбла cluster у них нет (для подсчёта узлов используйте sum/max по рядам со всех узлов). Собственные метрики библиотеки автопилота не экспортируются, состояние публикует Stronghold.

МетрикаТипОписаниеЛейблы
stronghold_autopilot_healthygauge1 — кластер в целом здоров по оценке автопилота, иначе 0.—
stronghold_autopilot_failure_tolerancegaugeЧисло узлов, отказ которых не приведёт к потере кворума. 0 означает, что потеря ещё одного узла сделает кластер недоступным.—
stronghold_autopilot_node_healthygauge1 — узел здоров по оценке автопилота, иначе 0. node_id — идентификатор узла Raft.node_id

Репликация (PR, DR) и WAL

Метрики компонентов репликации (WAL, деревья Меркла, доставка журнала, RPC репликации) и ролей репликации. Доступны в Stronghold EE. Эмитируются, только если узел использует соответствующий режим репликации. Лейбла cluster у них нет, кроме gauge-метрик ролей core_replication_*.

Роли репликации (каждую секунду на всех узлах)

МетрикаТипОписаниеЛейблы
stronghold_core_replication_performance_primarygauge1 — кластер является первичным (primary) кластером performance-репликации, иначе 0.cluster
stronghold_core_replication_performance_secondarygauge1 — кластер является вторичным (secondary) кластером performance-репликации, иначе 0.cluster
stronghold_core_replication_dr_primarygauge1 — кластер является первичным (primary) кластером DR-репликации, иначе 0.cluster
stronghold_core_replication_dr_secondarygauge1 — кластер является вторичным (secondary) кластером DR-репликации, иначе 0.cluster
stronghold_core_replication_write_undo_logsgauge1 — на узле включена запись undo-журналов, иначе 0.cluster

WAL

МетрикаТипОписаниеЛейблы
stronghold_replication_wal_last_walgaugeИндекс последней записи WAL на узле.—
stronghold_replication_wal_last_dr_walgaugeИндекс последней записи WAL типа DR, применённой на узле.—
stronghold_replication_wal_last_performance_walgaugeИндекс последней записи WAL реплицируемого (performance) типа, применённой на узле.—
stronghold_replication_fsm_last_remote_walgaugeИндекс последней записи WAL, применённой с удалённого (первичного) кластера.—
stronghold_replication_merkle_commit_indexgaugeИндекс последней записи WAL, зафиксированной в дереве Меркла.—
stronghold_wal_gc_totalgaugeЧисло записей WAL между первым индексом WAL и последним зафиксированным индексом WAL на момент очистки.—
stronghold_wal_gc_deletedgaugeЧисло записей WAL, подлежащих удалению проходом очистки (до буферизованного индекса последней фиксации).—
stronghold_replication_wal_gcsummaryДлительность прохода очистки (GC) WAL, мс.quantile
stronghold_wal_flushReadysummaryДлительность сброса пакета записей WAL в хранилище, мс.quantile
stronghold_wal_flushReady_queue_lensummaryДлина очереди сброса WAL в момент сброса пакета.quantile
stronghold_wal_flushReady_batch_sizesummaryРазмер группы записей WAL, сохранённой при сбросе.quantile
stronghold_wal_persistWALssummaryДлительность сохранения записей WAL, мс.quantile
stronghold_wal_loadWALsummaryДлительность загрузки записи WAL, мс.quantile
stronghold_wal_deleteWALssummaryДлительность удаления записей WAL, мс.quantile

Деревья Меркла и синхронизация

МетрикаТипОписаниеЛейблы
stronghold_merkle_saveCheckpointsummaryДлительность сохранения контрольной точки дерева Меркла, мс.quantile
stronghold_merkle_saveCheckpoint_num_dirtygaugeЧисло изменённых (dirty) страниц дерева Меркла на момент сохранения контрольной точки.—
stronghold_merkle_flushDirtysummaryДлительность сброса изменённых (dirty) страниц дерева Меркла, мс.quantile
stronghold_merkle_flushDirtyUntilsummaryДлительность сброса изменённых (dirty) страниц дерева Меркла до указанного индекса, мс.quantile
stronghold_merkle_flushDirty_num_pagesgaugeЧисло страниц, сброшенных при последнем сбросе.—
stronghold_merkle_flushDirty_num_pages_outstandinggaugeЧисло изменённых страниц, оставшихся после последнего сброса.—
stronghold_merkle_copy_on_writecounterЧисло операций copy-on-write над страницами дерева Меркла.—
stronghold_merkle_reindexsummaryДлительность переиндексации дерева Меркла, мс.quantile
stronghold_merkle_reindex_flush_treessummaryДлительность сброса деревьев при завершении переиндексации, мс.quantile
stronghold_merkle_reindex_fixedsummaryЧисло повреждённых страниц, исправленных переиндексацией.quantile
stronghold_merkle_remote_state_snapshotsummaryДлительность получения снимка состояния удалённого дерева Меркла, мс.quantile
stronghold_merkle_composite_remote_state_snapshotsummaryДлительность получения снимка состояния удалённого составного дерева Меркла, мс.quantile
stronghold_merkle_diff_conflictsgaugeЧисло конфликтующих ключей, найденных при последнем сравнении деревьев Меркла.—
stronghold_replication_merkleDiffsummaryДлительность сравнения деревьев Меркла с удалённым кластером, мс.quantile
stronghold_replication_merkleSyncsummaryДлительность синхронизации деревьев Меркла с удалённым кластером, мс.quantile
stronghold_replication_fetchRemoteKeyssummaryДлительность получения ключей с удалённого кластера, мс.quantile

Доставщик журнала (log shipper)

МетрикаТипОписаниеЛейблы
stronghold_logshipper_fetchKeyssummaryДлительность получения ключей доставщиком журнала (log shipper), мс.quantile
stronghold_logshipper_streamWALs_missing_guardcounterЧисло запросов потока WAL, для которых не найден guard.—
stronghold_logshipper_streamWALs_guard_foundcounterЧисло запросов потока WAL, для которых guard найден в буфере.—
stronghold_logshipper_streamWALs_buffer_over_runcounterЧисло переполнений буфера при потоковой передаче записей WAL.—
stronghold_logshipper_streamWALs_scanned_entriessummaryЧисло записей буфера, просмотренных при поиске guard запроса потока WAL. type — режим репликации узла.quantile, type
stronghold_logshipper_buffer_lengthgaugeТекущее число записей в буфере доставщика журнала.type
stronghold_logshipper_buffer_sizegaugeТекущий размер буфера доставщика журнала в байтах.type
stronghold_logshipper_buffer_max_lengthgaugeМаксимальное число записей буфера доставщика журнала.type
stronghold_logshipper_buffer_max_sizegaugeМаксимальный размер буфера доставщика журнала в байтах.type

RPC репликации: сервер

МетрикаТипОписаниеЛейблы
stronghold_replication_rpc_server_sync_counter_requestsummaryДлительность обработки вызова sync_counter_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_auth_requestsummaryДлительность обработки вызова auth_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_fetch_keys_requestsummaryДлительность обработки вызова fetch_keys_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_bootstrap_requestsummaryДлительность обработки вызова bootstrap_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_conflicting_pages_requestsummaryДлительность обработки вызова conflicting_pages_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_sub_page_hashes_requestsummaryДлительность обработки вызова sub_page_hashes_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_finalize_merkle_diff_requestsummaryДлительность обработки вызова finalize_merkle_diff_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_forwarding_requestsummaryДлительность обработки вызова forwarding_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_upsert_group_requestsummaryДлительность обработки вызова upsert_group_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_persist_persona_requestsummaryДлительность обработки вызова persist_persona_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_register_local_alias_requestsummaryДлительность обработки вызова register_local_alias_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_create_entity_requestsummaryДлительность обработки вызова create_entity_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_persist_alias_requestsummaryДлительность обработки вызова persist_alias_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_guard_hash_requestsummaryДлительность обработки вызова guard_hash_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_stream_wals_requestsummaryДлительность обработки вызова stream_wals_request на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_echosummaryДлительность обработки вызова echo на RPC-сервере репликации, мс.quantile
stronghold_replication_rpc_server_save_mfa_response_authsummaryДлительность обработки вызова save_mfa_response_auth на RPC-сервере репликации, мс.quantile

Лейбл method (get или update) присутствует у метрик user_failed_login_info.

RPC репликации: клиент

МетрикаТипОписаниеЛейблы
stronghold_replication_rpc_client_conflicting_pagessummaryДлительность RPC-вызова conflicting_pages от клиента репликации, мс.quantile
stronghold_replication_rpc_client_sub_page_hashessummaryДлительность RPC-вызова sub_page_hashes от клиента репликации, мс.quantile
stronghold_replication_rpc_client_finalize_merkle_diffsummaryДлительность RPC-вызова finalize_merkle_diff от клиента репликации, мс.quantile
stronghold_replication_rpc_client_sync_countersummaryДлительность RPC-вызова sync_counter от клиента репликации, мс.quantile
stronghold_replication_rpc_client_fetch_keyssummaryДлительность RPC-вызова fetch_keys от клиента репликации, мс.quantile
stronghold_replication_rpc_client_forwardsummaryДлительность RPC-вызова forward от клиента репликации, мс.quantile
stronghold_replication_rpc_client_register_local_aliassummaryДлительность RPC-вызова register_local_alias от клиента репликации, мс.quantile
stronghold_replication_rpc_client_create_entitysummaryДлительность RPC-вызова create_entity от клиента репликации, мс.quantile
stronghold_replication_rpc_client_persist_aliassummaryДлительность RPC-вызова persist_alias от клиента репликации, мс.quantile
stronghold_replication_rpc_client_save_mfa_auth_responsesummaryДлительность RPC-вызова save_mfa_auth_response от клиента репликации, мс.quantile
stronghold_replication_rpc_client_upsert_groupsummaryДлительность RPC-вызова upsert_group от клиента репликации, мс.quantile
stronghold_replication_rpc_client_stream_walssummaryДлительность RPC-вызова stream_wals от клиента репликации, мс.quantile
stronghold_replication_rpc_client_guard_hashsummaryДлительность RPC-вызова guard_hash от клиента репликации, мс.quantile
stronghold_replication_rpc_client_register_leasesummaryДлительность RPC-вызова register_lease от клиента репликации, мс.quantile
stronghold_replication_rpc_client_create_token_register_auth_leasesummaryДлительность RPC-вызова create_token_register_auth_lease от клиента репликации, мс.quantile
stronghold_replication_rpc_client_register_authsummaryДлительность RPC-вызова register_auth от клиента репликации, мс.quantile
stronghold_replication_rpc_client_user_failed_login_infosummaryДлительность RPC-вызова user_failed_login_info от клиента репликации, мс.quantile, method
stronghold_replication_rpc_client_wrap_in_cubbyholesummaryДлительность RPC-вызова wrap_in_cubbyhole от клиента репликации, мс.quantile
stronghold_replication_rpc_client_activity_log_fragmentsummaryДлительность RPC-вызова activity_log_fragment от клиента репликации, мс.quantile

RPC репликации: сервер для ведомых узлов

МетрикаТипОписаниеЛейблы
stronghold_replication_rpc_standby_server_echosummaryДлительность обработки вызова echo на RPC-сервере ведомых узлов, мс.quantile
stronghold_replication_rpc_standby_server_register_lease_requestsummaryДлительность обработки вызова register_lease_request на RPC-сервере ведомых узлов, мс.quantile
stronghold_replication_rpc_standby_server_register_auth_requestsummaryДлительность обработки вызова register_auth_request на RPC-сервере ведомых узлов, мс.quantile
stronghold_replication_rpc_standby_server_create_token_register_auth_lease_requestsummaryДлительность обработки вызова create_token_register_auth_lease_request на RPC-сервере ведомых узлов, мс.quantile
stronghold_replication_rpc_standby_server_user_failed_login_info_requestsummaryДлительность обработки вызова user_failed_login_info_request на RPC-сервере ведомых узлов, мс.quantile, method
stronghold_replication_rpc_standby_server_wrap_token_requestsummaryДлительность обработки вызова wrap_token_request на RPC-сервере ведомых узлов, мс.quantile

RPC репликации: DR-сервер

МетрикаТипОписаниеЛейблы
stronghold_replication_rpc_dr_server_fetch_keys_requestsummaryДлительность обработки вызова fetch_keys_request на RPC-сервере DR-репликации, мс.quantile
stronghold_replication_rpc_dr_server_echosummaryДлительность обработки вызова echo на RPC-сервере DR-репликации, мс.quantile

Репликация KV

Метрики репликации секретов KV между точками монтирования. Записи идентифицируются парой «исходная точка монтирования — локальная точка монтирования». Gauge-метрики экспортируются каждую секунду; summary-метрики и счётчик обновляются после каждого запуска репликации. Лейбла cluster у метрик нет.

МетрикаТипОписаниеЛейблы
stronghold_core_replication_local_mount_countgaugeЧисло локальных точек монтирования, для которых настроена репликация KV.—
stronghold_core_replication_source_mounts_countgaugeЧисло уникальных исходных точек монтирования репликации KV.—
stronghold_core_replication_source_addresses_countgaugeЧисло уникальных исходных адресов (кластеров) репликации KV.—
stronghold_core_replication_ttlgaugeTTL токена репликации в секундах.local_namespace, local_mount_path, source_address, source_namespace, source_mount_path
stronghold_core_replication_repl_periodgaugeПериод репликации в минутах.local_namespace, local_mount_path, source_address, source_namespace, source_mount_path
stronghold_core_replication_secret_path_countgaugeЧисло путей секретов, обработанных при последнем запуске репликации.local_namespace, local_mount_path, source_address, source_namespace, source_mount_path
stronghold_core_replication_errorsgaugeЧисло ошибок при последнем запуске репликации.local_namespace, local_mount_path, source_address, source_namespace, source_mount_path
stronghold_core_replication_successgauge1 — последний запуск репликации завершился успешно, иначе 0.local_namespace, local_mount_path, source_address, source_namespace, source_mount_path
stronghold_core_replication_statuscounterЧисло запусков репликации. result — success или error.local_namespace, local_mount_path, source_address, source_namespace, source_mount_path, result
stronghold_core_replication_bytessummaryЧисло байт, переданных за один запуск репликации.quantile, local_namespace, local_mount_path, source_address, source_namespace, source_mount_path
stronghold_core_replication_recordssummaryЧисло записей, переданных за один запуск репликации.quantile, local_namespace, local_mount_path, source_address, source_namespace, source_mount_path
stronghold_core_replication_durationsummaryДлительность запуска репликации в секундах.quantile, local_namespace, local_mount_path, source_address, source_namespace, source_mount_path

Автоматические снимки

Метрики автоматических снимков Raft (sys/storage/raft/snapshot-auto). Доступны в Stronghold EE. snapshot_config_name — имя конфигурации автоматических снимков. Метрики эмитирует узел, выполняющий снимок (активный узел).

МетрикаТипОписаниеЛейблы
stronghold_autosnapshots_save_durationsummaryДлительность создания и сохранения снимка в настроенное хранилище (только успешные запуски), мс.quantile, cluster, snapshot_config_name
stronghold_autosnapshots_last_success_timegaugeВремя последнего успешного снимка в формате Unix timestamp (секунды).cluster, snapshot_config_name
stronghold_autosnapshots_snapshot_sizesummaryРазмер сохранённого снимка в байтах (только успешные запуски).quantile, cluster, snapshot_config_name
stronghold_autosnapshots_save_errorscounterЧисло неудачных попыток создания снимка.cluster, snapshot_config_name
stronghold_autosnapshots_rotate_durationsummaryДлительность ротации снимков (удаления снимков сверх лимита retain); фиксируется и в том случае, когда удалять нечего, мс.quantile, cluster, snapshot_config_name
stronghold_autosnapshots_snapshots_in_storagegaugeЧисло снимков в хранилище после ротации (устанавливается, если список снимков получен успешно).cluster, snapshot_config_name
stronghold_autosnapshots_total_snapshot_sizegaugeСуммарный размер файлов снимков в локальной директории хранилища в байтах (только для типа хранилища local).cluster, snapshot_config_name
stronghold_autosnapshots_percent_maxspace_usedgaugeДоля лимита места локального хранилища, занятая снимками (значение от 0 до 1; только для типа хранилища local).cluster, snapshot_config_name
stronghold_core_snapshot_auto_failedgaugeПризнак ошибки автоматического снимка: 1, если последняя попытка создать снимок по конфигурации завершилась ошибкой, иначе 0.cluster, config
stronghold_autosnapshots_rotate_failedgaugeПризнак ошибки ротации снимков: 1, если после успешного снимка не удалось удалить старые снимки, иначе 0.cluster, snapshot_config_name

Алерты модуля DP D8StrongholdAutoSnapshotFailed и D8StrongholdAutoSnapshotRotationFailed используют stronghold_core_snapshot_auto_failed и stronghold_autosnapshots_rotate_failed. Для собственных алертов на ошибки автоматических снимков можно также использовать stronghold_autosnapshots_save_errors и stronghold_autosnapshots_last_success_time. Пример алерта приведён в разделе «Примеры правил алертинга».

Механизм секретов PKI

В именах метрик запросов <mount> — точка монтирования механизма PKI без завершающего слэша, в которой /, - и . заменены на _ (например, для точки монтирования pki_int/ получается pki_int). Таймер и счётчик одной операции имеют одинаковое имя, поэтому в выводе Prometheus один из этих рядов может быть отброшен как несогласованный по типу; проверьте вывод на живом узле.

Запросы

МетрикаТипОписаниеЛейблы
stronghold_<mount>_issuesummaryДлительность выпуска сертификата (issue/:role), мс.quantile, role, namespace
stronghold_<mount>_signsummaryДлительность подписания CSR (sign/:role), мс.quantile, role, namespace
stronghold_<mount>_sign_verbatimsummaryДлительность подписания CSR как есть (sign-verbatim), мс.quantile, role, namespace
stronghold_<mount>_revokesummaryДлительность отзыва сертификата, мс.quantile, namespace
stronghold_<mount>_issuecounterЧисло успешных запросов issue.role, namespace
stronghold_<mount>_signcounterЧисло успешных запросов sign.role, namespace
stronghold_<mount>_sign_verbatimcounterЧисло успешных запросов sign-verbatim.role, namespace
stronghold_<mount>_revokecounterЧисло успешных запросов revoke.namespace
stronghold_<mount>_issue_failurecounterЧисло неудачных запросов issue.role, namespace
stronghold_<mount>_sign_failurecounterЧисло неудачных запросов sign.role, namespace
stronghold_<mount>_sign_verbatim_failurecounterЧисло неудачных запросов sign-verbatim.role, namespace
stronghold_<mount>_revoke_failurecounterЧисло неудачных запросов revoke.namespace

Число сертификатов

МетрикаТипОписаниеЛейблы
stronghold_secrets_pki_<mount_uuid>_total_certificates_storedgaugeОбщее число сертификатов, хранящихся в механизме. <mount_uuid> — UUID бэкенда, в котором - заменены на _. Публикуется, только если в настройках tidy задано publish_stored_certificate_count_metrics = true.—
stronghold_secrets_pki_<mount_uuid>_total_revoked_certificates_storedgaugeОбщее число отозванных сертификатов, хранящихся в механизме. Публикуется, только если задано publish_stored_certificate_count_metrics = true.—

Операция tidy

МетрикаТипОписаниеЛейблы
stronghold_secrets_pki_tidy_start_time_epochgaugeВремя начала текущей операции tidy в формате Unix timestamp (секунды); 0 после завершения tidy.—
stronghold_secrets_pki_tidy_cert_store_total_entriesgaugeЧисло записей в хранилище сертификатов на начало очистки хранилища сертификатов.—
stronghold_secrets_pki_tidy_cert_store_current_entrygaugeИндекс обрабатываемой записи хранилища сертификатов.—
stronghold_secrets_pki_tidy_cert_store_total_entries_remaininggaugeЧисло записей хранилища сертификатов, оставшихся для обработки.—
stronghold_secrets_pki_tidy_revoked_cert_total_entriesgaugeЧисло записей отозванных сертификатов на начало очистки отозванных сертификатов.—
stronghold_secrets_pki_tidy_revoked_cert_current_entrygaugeИндекс обрабатываемой записи отозванного сертификата.—
stronghold_secrets_pki_tidy_revoked_cert_total_entries_remaininggaugeЧисло записей отозванных сертификатов, оставшихся для обработки.—
stronghold_secrets_pki_tidy_revoked_cert_entries_incorrect_issuersgaugeЧисло записей отозванных сертификатов с отсутствующим или некорректным издателем.—
stronghold_secrets_pki_tidy_revoked_cert_entries_fixed_issuersgaugeЧисло записей отозванных сертификатов, у которых tidy исправил издателя.—
stronghold_secrets_pki_tidy_durationsummaryДлительность операции tidy (фиксируется по её завершении), мс.quantile
stronghold_secrets_pki_tidy_cert_store_deleted_countcounterЧисло записей хранилища сертификатов, удалённых операцией tidy.—
stronghold_secrets_pki_tidy_revoked_cert_deleted_countcounterЧисло записей отозванных сертификатов, удалённых операцией tidy.—
stronghold_secrets_pki_tidy_successcounterЧисло успешно завершённых операций tidy.—
stronghold_secrets_pki_tidy_failurecounterЧисло неудачных операций tidy.—

Механизм секретов Database

Метрики эмитирует обёртка плагинов баз данных. В именах <operation> — операция плагина, <db_type> — тип базы данных, который возвращает плагин (например, postgresql; - заменяется на _). Операции плагинов текущего интерфейса: Initialize, NewUser, UpdateUser, DeleteUser, Close, PluginVersion; устаревших плагинов: Initialize, CreateUser, RenewUser, RevokeUser, RotateRootCredentials, GenerateCredentials, SetCredentials, Close. Таймер и счётчик операции имеют одинаковое имя, как описано в разделе «Механизм секретов PKI».

МетрикаТипОписаниеЛейблы
stronghold_database_<operation>summaryДлительность операции плагина базы данных (все типы баз данных), мс.quantile
stronghold_database_<db_type>_<operation>summaryДлительность операции плагина базы данных для указанного типа базы данных, мс.quantile
stronghold_database_<operation>counterЧисло вызовов операции плагина базы данных (все типы баз данных).—
stronghold_database_<db_type>_<operation>counterЧисло вызовов операции для указанного типа базы данных.—
stronghold_database_<operation>_errorcounterЧисло неудачных вызовов операции (все типы баз данных).—
stronghold_database_<db_type>_<operation>_errorcounterЧисло неудачных вызовов операции для указанного типа базы данных.—
stronghold_secrets_database_backend_pluginInstances_countgaugeЧисло открытых экземпляров плагинов (соединений) в точке монтирования механизма Database по типам баз данных. Собирается каждые 10 минут.dbType

Процесс сбора secrets_database_backend_pluginInstances_count публикует собственные метрики stronghold_metrics_collection_interval, stronghold_metrics_collection и stronghold_metrics_collection_error без лейблов. Эти метрики описаны в разделе «Токены, аренды секретов и gauge-метрики использования».

Другие механизмы секретов и плагины

МетрикаТипОписаниеЛейблы
stronghold_ldap_check_out_unavailable_<set_name>counterЧисло запросов check-out механизма секретов LDAP (библиотека сервисных учётных записей), для которых в наборе <set_name> не нашлось свободной учётной записи.—
stronghold_builtin_ent_plugin_<type>gaugeЧисло точек монтирования встроенного плагина указанного типа, доступного только в Stronghold EE. Обновляется каждую секунду из кеша циклических gauge-метрик.cluster

Квоты

Метрики квот на частоту запросов и на число аренд. Квоты описаны в разделе «Квоты».

МетрикаТипОписаниеЛейблы
stronghold_quota_rate_limit_violationcounterЧисло запросов, отклонённых из-за превышения квоты на частоту запросов. name — имя квоты.cluster, name
stronghold_quota_lease_count_maxgaugeМаксимальное число аренд, разрешённое квотой на число аренд. Обновляется при проверке запроса по квоте.cluster, name
stronghold_quota_lease_count_countergaugeТекущее число аренд, учтённое квотой на число аренд. Обновляется при проверке запроса по квоте.cluster, name
stronghold_quota_lease_count_violationcounterЧисло запросов, отклонённых из-за превышения квоты на число аренд.cluster, name

Среда выполнения и процесс

Метрики среды выполнения Go собираются каждую секунду (включены по умолчанию). Лейбла cluster у них нет. Кроме того, вывод Prometheus содержит стандартные метрики Go и процесса библиотеки client_golang (go_*, process_*), которые здесь не описываются.

МетрикаТипОписаниеЛейблы
stronghold_runtime_num_goroutinesgaugeЧисло горутин. Используется алертами модуля DP для определения узлов, экспортирующих метрики.—
stronghold_runtime_alloc_bytesgaugeБайт в выделенных объектах кучи (Alloc среды выполнения Go).—
stronghold_runtime_sys_bytesgaugeОбщее число байт памяти, полученной средой выполнения Go от ОС (Sys).—
stronghold_runtime_malloc_countgaugeНакопительное число выделений объектов кучи (Mallocs).—
stronghold_runtime_free_countgaugeНакопительное число освобождённых объектов кучи (Frees).—
stronghold_runtime_heap_objectsgaugeЧисло выделенных объектов кучи (HeapObjects).—
stronghold_runtime_total_gc_pause_nsgaugeНакопительное время пауз stop-the-world сборщика мусора в наносекундах (PauseTotalNs).—
stronghold_runtime_total_gc_runsgaugeЧисло завершённых циклов сборки мусора (NumGC).—
stronghold_runtime_gc_pause_nssummaryДлительность пауз последних циклов сборки мусора в наносекундах (не в миллисекундах): по одному значению на цикл с момента предыдущего измерения.quantile