На этой странице перечислены метрики, которые 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 строится из ключа метрики по следующим правилам:
- Имя начинается с префикса
stronghold_. Префикс задаётся параметромmetrics_prefixблокаtelemetry(по умолчаниюstronghold). На этой странице имена приведены с префиксом по умолчанию. - Части ключа соединяются символом
_, затем символы пробела,.,=,-и/заменяются на_. Регистр сохраняется: ключraft,commitTimeдаётstronghold_raft_commitTime; ключcore,seal-with-requestдаётstronghold_core_seal_with_request. - Имена с изменяемыми частями записаны с заполнителем в угловых скобках, например
stronghold_audit_<device>_log_request. - Если включён только приёмник Prometheus, имя узла (hostname) в имена метрик не добавляется. Если включены два и более приёмника и
disable_hostname = false, имя узла вставляется в имена gauge-метрик (и только их), напримерstronghold_<hostname>_core_active. Приdisable_hostname = trueимена метрик на всех узлах совпадают. Приenable_hostname_label = trueко всем метрикам вместо этого добавляется лейблhostс именем узла.
Соответствие видов метрик типам Prometheus:
| Вид | Тип Prometheus | Примечания |
|---|---|---|
| Gauge | gauge | Последнее установленное значение. |
| Счётчик | 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) или режим репликации узла. |
local | true для локальных точек монтирования, 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 используют следующие метрики. Сами алерты описаны на странице «Мониторинг».
| Алерт | Метрики |
|---|---|
D8StrongholdNoActiveNodes | stronghold_core_active |
D8StrongholdSealedNodesPresent | stronghold_core_unsealed, stronghold_runtime_num_goroutines |
D8StrongholdClusterNotHealthy | stronghold_autopilot_healthy |
D8StrongholdQuorumInCriticalState | stronghold_autopilot_failure_tolerance |
D8StrongholdAbsentMetrics | stronghold_runtime_num_goroutines |
D8StrongholdAutoSnapshotFailed | stronghold_core_snapshot_auto_failed |
D8StrongholdAutoSnapshotRotationFailed | stronghold_autosnapshots_rotate_failed |
Метрики по подсистемам
Таблицы сгруппированы по подсистемам. Тип — это тип в выводе Prometheus; таймеры (summary) измеряются в миллисекундах, если не указано иное.
Ядро, состояние запечатывания и HA
Gauge-метрики состояния обновляются каждую секунду на всех узлах кластера, а также в момент события (распечатывание, запечатывание, смена лидера).
Состояние
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_core_unsealed | gauge | 1 — узел распечатан, 0 — запечатан. | cluster |
stronghold_core_active | gauge | 1 — активный (лидер) узел, 0 — ведомый узел. | cluster |
stronghold_core_performance_standby | gauge | 1 — узел является performance standby, иначе 0. | cluster |
stronghold_core_in_flight_requests | gauge | Число запросов, обрабатываемых узлом в данный момент. | cluster |
stronghold_core_locked_users | gauge | Число пользователей, заблокированных из-за неудачных попыток входа, суммарно по всем пространствам имён и точкам монтирования. Пересчитывается на активном узле при старте и далее каждые 15 минут. | — |
stronghold_core_mount_table_num_entries | gauge | Число записей в таблице монтирования (механизмы секретов или методы аутентификации). Обновляется при сохранении таблицы. | cluster, type, local |
stronghold_core_mount_table_size | gauge | Размер сериализованной (сжатой) таблицы монтирования в байтах, до шифрования барьером. | cluster, type, local |
stronghold_core_license_expiration_time_epoch | gauge | Время истечения лицензии в формате Unix timestamp (секунды). Устанавливается при загрузке или обновлении лицензии. | — |
Таймеры
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_core_unseal | summary | Длительность операции распечатывания, мс. | quantile |
stronghold_core_post_unseal | summary | Длительность пост-настройки после распечатывания (запуск подсистем), мс. | quantile |
stronghold_core_pre_seal | summary | Длительность остановки подсистем перед запечатыванием, мс. | quantile |
stronghold_core_seal | summary | Длительность операции запечатывания, мс. | quantile |
stronghold_core_seal_with_request | summary | Длительность запечатывания по запросу (sys/seal), мс. | quantile |
stronghold_core_seal_internal | summary | Длительность внутреннего запечатывания ядра, мс. | quantile |
stronghold_core_step_down | summary | Длительность операции передачи лидерства (step-down), мс. | quantile |
stronghold_core_leadership_setup_failed | summary | Длительность активного периода узла, у которого не удалась настройка лидерства (время от получения роли активного узла до ошибки), мс. | quantile |
stronghold_core_leadership_lost | summary | Длительность времени, в течение которого узел был активным до потери лидерства, мс. | quantile |
Запечатывание и защита ключа распечатывания
Метрики вызовов шифрования и расшифрования ключа распечатывания (механизм защиты ключа: Shamir, KMS, Transit, PKCS#11 и другие). Метрики с <type> в имени дублируются для каждого типа обёртки: shamir, aead, awskms, azurekeyvault, gcpckms, alicloudkms, ocikms, transit, pkcs11, hsm-auto (превращается в hsm_auto) и т. д.
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_seal_unreachable_time | gauge | Время в миллисекундах с последней успешной проверки доступности механизма запечатывания, 0 пока он доступен. Обновляется проверкой состояния auto-unseal (раз в 10 минут, раз в минуту при недоступности). | cluster |
stronghold_seal_encrypt_time | summary | Длительность вызова шифрования через механизм запечатывания (все типы), мс. | quantile |
stronghold_seal_<type>_encrypt_time | summary | Длительность вызова шифрования для указанного типа обёртки, мс. | quantile |
stronghold_seal_encrypt | counter | Число вызовов шифрования (все типы). | — |
stronghold_seal_<type>_encrypt | counter | Число вызовов шифрования для указанного типа обёртки. | — |
stronghold_seal_encrypt_error | counter | Число неудачных вызовов шифрования (все типы). | — |
stronghold_seal_<type>_encrypt_error | counter | Число неудачных вызовов шифрования для указанного типа обёртки. | — |
stronghold_seal_decrypt_time | summary | Длительность вызова расшифрования через механизм запечатывания (все типы), мс. | quantile |
stronghold_seal_<type>_decrypt_time | summary | Длительность вызова расшифрования для указанного типа обёртки, мс. | quantile |
stronghold_seal_decrypt | counter | Число вызовов расшифрования (все типы). | — |
stronghold_seal_<type>_decrypt | counter | Число вызовов расшифрования для указанного типа обёртки. | — |
stronghold_seal_decrypt_error | counter | Число неудачных вызовов расшифрования (все типы). | — |
stronghold_seal_<type>_decrypt_error | counter | Число неудачных вызовов расшифрования для указанного типа обёртки. | — |
stronghold_seal_envelope_encrypt | summary | Длительность envelope-шифрования значения, мс. | quantile |
stronghold_seal_envelope_decrypt | summary | Длительность envelope-расшифрования значения, мс. | quantile |
Запросы, вход и маршрутизация
Обработка запросов
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_core_handle_request | summary | Длительность обработки запроса в ядре, мс. | quantile |
stronghold_core_handle_login_request | summary | Длительность обработки запроса на вход (login), мс. | quantile |
stronghold_core_fetch_acl_and_token | summary | Длительность построения ACL и поиска токена запроса, мс. | quantile |
stronghold_core_check_token | summary | Длительность проверки токена и политик запроса (проверка ACL), мс. | quantile |
stronghold_route_<operation>_mount | summary | Длительность маршрутизации запроса указанной операции в точку монтирования. <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_forward | summary | Длительность пересылки запроса с ведомого узла на активный, мс. | quantile |
stronghold_ha_rpc_client_forward_errors | counter | Число неудачных пересылок запроса на активный узел. | — |
stronghold_ha_rpc_client_echo | summary | Длительность периодического echo-вызова (heartbeat) с ведомого узла на активный, мс. | quantile |
stronghold_ha_rpc_client_echo_errors | counter | Число неудачных echo-вызовов с ведомого узла на активный. | — |
Менеджер отката и события
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_rollback_queued | gauge | Число операций отката (rollback), ожидающих в очереди. | — |
stronghold_rollback_inflight | gauge | Число выполняемых операций отката (rollback). | — |
stronghold_rollback_waiting | summary | Длительность ожидания операции отката в очереди до выполнения, мс. | quantile |
stronghold_rollback_attempt | summary | Длительность одной попытки отката, мс. | quantile |
stronghold_events_subscriptions | gauge | Число подписок на события во всех шинах событий процесса. | — |
Токены, аренды секретов и 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_creation | counter | Число созданных токенов. 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_creation | counter | Число созданных аренд секретов. creation_ttl — корзина TTL, как у stronghold_token_creation. | cluster, namespace, secret_engine, mount_point, creation_ttl |
stronghold_token_create_root | counter | Число созданных root-токенов. | — |
stronghold_token_createAccessor | summary | Длительность создания accessor токена, мс. | quantile |
stronghold_token_create | summary | Длительность создания токена, мс. | quantile |
stronghold_token_store | summary | Длительность сохранения записи токена, мс. | quantile |
stronghold_token_lookup | summary | Длительность поиска токена, мс. | quantile |
stronghold_token_revoke | summary | Длительность отзыва токена, мс. | quantile |
stronghold_token_revoke_tree | summary | Длительность отзыва дерева токенов (токена и его дочерних токенов), мс. | quantile |
Gauge-метрики использования (активный узел)
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_token_count | gauge | Число токенов (действующих, отслеживаемых менеджером истечения срока) по пространствам имён. | cluster, namespace |
stronghold_token_count_by_policy | gauge | Число токенов по пространствам имён и политикам. Токен с несколькими политиками учитывается для каждой из них. | cluster, namespace, policy |
stronghold_token_count_by_auth | gauge | Число токенов по пространствам имён и методам аутентификации (префикс пути монтирования токена; unknown, если определить не удалось). | cluster, namespace, auth_method |
stronghold_token_count_by_ttl | gauge | Число токенов по пространствам имён и корзинам TTL при создании (1m … 30d, +Inf; токены с нулевым TTL попадают в +Inf). | cluster, namespace, creation_ttl |
stronghold_expire_leases_by_expiration | gauge | Число аренд по времени истечения, округлённому до lease_metrics_epsilon (по умолчанию 1 час); учитываются только аренды, истекающие в пределах окна из num_lease_metrics_buckets корзин (по умолчанию 168). Лейбл namespace присутствует, если add_lease_metrics_namespace_labels = true. | cluster, expiring, namespace |
stronghold_secret_kv_count | gauge | Число секретов в точках монтирования KV (KV v1 и v2; для v2 считаются ключи в metadata/). Сбор перебирает все ключи и может быть затратным: его можно отключить переменной окружения VAULT_DISABLE_KV_GAUGE. | cluster, namespace, mount_point |
Служебные метрики сбора gauge-метрик
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_metrics_collection_interval | summary | Настроенный интервал сбора 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_collection | summary | Длительность одного сбора gauge-метрики использования, мс. Если она превышает целевую долю интервала, интервал удваивается. Лейблы те же, что у stronghold_metrics_collection_interval. | quantile, cluster, gauge |
stronghold_metrics_collection_error | counter | Число неудачных сборов gauge-метрики использования (ошибка сборщика или ошибка при перечислении ключей KV). | cluster, gauge |
Аренды и истечение срока
Метрики менеджера истечения срока. expire_num_leases и expire_num_irrevocable_leases эмитируются каждую секунду только активным узлом.
Счётчики и очередь
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_expire_num_leases | gauge | Общее число аренд (включая токены с арендами), отслеживаемых менеджером истечения срока. | — |
stronghold_expire_num_irrevocable_leases | gauge | Число аренд, которые не удалось отозвать (неотзываемые аренды). | — |
stronghold_expire_lease_expiration | counter | Число заданий на отзыв аренды, запущенных рабочими процессами истечения срока (истечение аренды запускает отзыв). | cluster, namespace |
stronghold_expire_lease_expiration_time_in_queue | summary | Длительность ожидания задания на отзыв аренды в очереди (от постановки в очередь до начала выполнения), мс. | quantile, cluster, namespace |
stronghold_expire_lease_expiration_error | counter | Число неудачных заданий на отзыв аренды. | cluster, namespace |
stronghold_expire_job_manager_queue_length | summary | Длина очереди заданий менеджера заданий истечения срока, фиксируется при добавлении и извлечении задания. queue_id — идентификатор очереди (accessor точки монтирования, к которой относятся аренды). | quantile, cluster, queue_id |
stronghold_expire_job_manager_total_jobs | summary | Общее число заданий во всех очередях менеджера заданий истечения срока, фиксируется при добавлении и извлечении задания. | quantile, cluster |
Таймеры
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_expire_revoke | summary | Длительность отзыва аренды, мс. | quantile |
stronghold_expire_lazy_revoke | summary | Длительность отложенного отзыва аренды (lazy revoke), мс. | quantile |
stronghold_expire_revoke_common | summary | Длительность общей части отзыва аренды, мс. | quantile |
stronghold_expire_revoke_force | summary | Длительность принудительного отзыва аренд, мс. | quantile |
stronghold_expire_revoke_prefix | summary | Длительность отзыва всех аренд по префиксу пути, мс. | quantile |
stronghold_expire_revoke_by_token | summary | Длительность отзыва всех аренд токена, мс. | quantile |
stronghold_expire_renew | summary | Длительность продления аренды, мс. | quantile |
stronghold_expire_renew_token | summary | Длительность продления токена, мс. | quantile |
stronghold_expire_register | summary | Длительность регистрации аренды секрета, мс. | quantile |
stronghold_expire_register_auth | summary | Длительность регистрации аренды токена аутентификации, мс. | quantile |
stronghold_expire_fetch_lease_times | summary | Длительность получения временных данных аренды, мс. | quantile |
stronghold_expire_fetch_lease_times_by_token | summary | Длительность получения временных данных аренды токена, мс. | quantile |
Идентификация и активность клиентов
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_identity_num_entities | gauge | Общее число сущностей (entity) identity. Обновляется каждые 10 минут на активном узле (не на ведомых узлах и вторичных DR-кластерах). | — |
stronghold_identity_entity_count | gauge | Число сущностей (entity) по пространствам имён. | cluster, namespace |
stronghold_identity_entity_alias_count | gauge | Число сущностей (entity) по точкам монтирования методов аутентификации. mount_point содержит префикс auth/. | cluster, namespace, auth_method, mount_point |
stronghold_identity_entity_active_partial_month | gauge | Число активных клиентов (entity) в текущем, ещё не завершённом месяце журнала активности. Эмитируется только при включённом журнале активности. | cluster |
stronghold_identity_entity_active_monthly | gauge | Число активных клиентов-сущностей (entity) в пространстве имён за последний месяц журнала активности. Устанавливается при обработке сегментов журнала активности. | cluster, namespace |
stronghold_identity_nonentity_active_monthly | gauge | Число активных клиентов без сущности (токены без entity) в пространстве имён за последний месяц журнала активности. | cluster, namespace |
stronghold_identity_entity_active_reporting_period | gauge | Число активных клиентов-сущностей (entity) в пространстве имён за первый месяц отчётного периода (периода хранения) журнала активности. | cluster, namespace |
stronghold_identity_nonentity_active_reporting_period | gauge | Число активных клиентов без сущности в пространстве имён за первый месяц отчётного периода журнала активности. | cluster, namespace |
stronghold_identity_entity_creation | counter | Число созданных сущностей (entity). Если сущность создаётся вместе с alias при входе, добавляются лейблы auth_method и mount_point. | cluster, namespace, auth_method, mount_point |
stronghold_core_activity_fragment_size | counter | Число клиентов во фрагментах журнала активности, записанных в хранилище: type="entity" — клиенты-сущности, type="direct_token" — токены без сущности. | cluster, type |
stronghold_core_activity_segment_write | summary | Длительность записи сегмента журнала активности в хранилище, мс. | quantile, cluster |
stronghold_identity_create_entity | summary | Длительность создания сущности (entity), мс. | quantile |
stronghold_identity_create_or_fetch_entity | summary | Длительность создания или получения сущности (entity) при входе, мс. | quantile |
stronghold_identity_upsert_entity | summary | Длительность создания или обновления сущности (entity), мс. | quantile |
stronghold_identity_upsert_entity_txn | summary | Длительность создания или обновления сущности (entity) в рамках транзакции, мс. | quantile |
stronghold_identity_upsert_group | summary | Длительность создания или обновления группы, мс. | quantile |
stronghold_identity_upsert_group_txn | summary | Длительность создания или обновления группы в рамках транзакции, мс. | quantile |
stronghold_identity_refresh_external_groups | summary | Длительность обновления внешних групп сущности (entity), мс. | quantile |
Аудит
В метриках с <device> значение <device> — имя устройства аудита (путь монтирования, в котором - и / заменены на _). Счётчики сбоев увеличиваются на 1 при неудачной записи запроса или ответа и на 0 при успехе.
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_audit_log_request | summary | Длительность записи запроса во все устройства аудита, мс. | quantile |
stronghold_audit_log_response | summary | Длительность записи ответа во все устройства аудита, мс. | quantile |
stronghold_audit_log_request_failure | counter | Число запросов, которые не удалось записать устройствами аудита. | — |
stronghold_audit_log_response_failure | counter | Число ответов, которые не удалось записать устройствами аудита. | — |
stronghold_audit_<device>_log_request | summary | Длительность записи запроса в указанное устройство аудита, мс. | quantile |
stronghold_audit_<device>_log_response | summary | Длительность записи ответа в указанное устройство аудита, мс. | quantile |
stronghold_audit_fallback_success | counter | Число запросов и ответов, успешно записанных резервным (fallback) устройством аудита. | — |
stronghold_audit_fallback_miss | counter | Число запросов и ответов, которые резервному (fallback) устройству аудита записать не удалось. | — |
stronghold_audit_<fallback_device>_log_request | summary | Длительность записи запроса в резервное (fallback) устройство аудита, мс. | quantile |
stronghold_audit_<fallback_device>_log_response | summary | Длительность записи ответа в резервное (fallback) устройство аудита, мс. | quantile |
Политики и ACL
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_policy_set_policy | summary | Длительность создания или обновления политики, мс. | quantile |
stronghold_policy_get_policy | summary | Длительность чтения политики, мс. | quantile |
stronghold_policy_list_policies | summary | Длительность получения списка политик, мс. | quantile |
stronghold_policy_delete_policy | summary | Длительность удаления политики, мс. | quantile |
Барьер, кеш и бэкенды хранилища
Барьер шифрует все данные перед записью в физический бэкенд. Таймеры хранилища измеряют вызовы ядра Stronghold к бэкенду; метрики Raft описаны в разделе «Хранилище Raft».
Барьер
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_barrier_put | summary | Длительность записи ключа через барьер (шифрование и запись в бэкенд), мс. | quantile |
stronghold_barrier_get | summary | Длительность чтения ключа через барьер (чтение из бэкенда и расшифрование), мс. | quantile |
stronghold_barrier_delete | summary | Длительность удаления ключа через барьер, мс. | quantile |
stronghold_barrier_list | summary | Длительность получения списка ключей через барьер, мс. | quantile |
stronghold_barrier_estimated_encryptions | counter | Число операций шифрования, выполненных ключом барьера указанного периода (ключ барьера автоматически ротируется после лимита операций). term — период (term) связки ключей барьера. | term |
stronghold_barrier_auto_rotation | counter | Число автоматических ротаций ключа барьера. | — |
Кэш физического хранилища
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_cache_write | counter | Число записей в кеш физического хранилища. | — |
stronghold_cache_hit | counter | Число чтений, обслуженных из кеша физического хранилища. | — |
stronghold_cache_miss | counter | Число чтений, не найденных в кеше физического хранилища. | — |
stronghold_cache_delete | counter | Число удалений ключей из кеша физического хранилища. | — |
Storage packer
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_storage_packer_get_item | summary | Длительность чтения элемента из storage packer (корзины identity), мс. | quantile |
stronghold_storage_packer_put_item | summary | Длительность записи элемента в storage packer, мс. | quantile |
stronghold_storage_packer_put_bucket | summary | Длительность записи корзины в storage packer, мс. | quantile |
stronghold_storage_packer_delete_items | summary | Длительность удаления элементов из storage packer, мс. | quantile |
Другие бэкенды хранилища (только для настроенного бэкенда)
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_consul_get | summary | Длительность вызова get бэкенда Consul, мс. | quantile |
stronghold_consul_list | summary | Длительность вызова list бэкенда Consul, мс. | quantile |
stronghold_consul_transaction | summary | Длительность транзакции на бэкенде Consul, мс. | quantile |
stronghold_etcd_put | summary | Длительность вызова put бэкенда etcd, мс. | quantile |
stronghold_etcd_get | summary | Длительность вызова get бэкенда etcd, мс. | quantile |
stronghold_etcd_delete | summary | Длительность вызова delete бэкенда etcd, мс. | quantile |
stronghold_etcd_list | summary | Длительность вызова list бэкенда etcd, мс. | quantile |
stronghold_postgres_put | summary | Длительность вызова put бэкенда PostgreSQL, мс. | quantile |
stronghold_postgres_get | summary | Длительность вызова get бэкенда PostgreSQL, мс. | quantile |
stronghold_postgres_delete | summary | Длительность вызова delete бэкенда PostgreSQL, мс. | quantile |
stronghold_postgres_list | summary | Длительность вызова list бэкенда PostgreSQL, мс. | quantile |
stronghold_postgres_transaction | summary | Длительность транзакции на бэкенде 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_term | gauge | Текущий терм (term) Raft узла. | cluster, peer_id |
stronghold_raft_storage_stats_commit_index | gauge | Индекс последней зафиксированной записи журнала Raft, известной узлу. | cluster, peer_id |
stronghold_raft_storage_stats_applied_index | gauge | Индекс последней записи журнала Raft, применённой к FSM на узле. | cluster, peer_id |
stronghold_raft_storage_stats_fsm_pending | gauge | Число записей журнала Raft, ожидающих применения к FSM. | cluster, peer_id |
Статистика BoltDB
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_raft_storage_bolt_freelist_free_pages | gauge | Число свободных страниц в базе BoltDB. | cluster, database |
stronghold_raft_storage_bolt_freelist_pending_pages | gauge | Число ожидающих (pending) страниц в списке свободных страниц BoltDB. | cluster, database |
stronghold_raft_storage_bolt_freelist_allocated_bytes | gauge | Байт, выделенных под список свободных страниц BoltDB. | cluster, database |
stronghold_raft_storage_bolt_freelist_used_bytes | gauge | Байт, используемых списком свободных страниц BoltDB. | cluster, database |
stronghold_raft_storage_bolt_transaction_started_read_transactions | gauge | Общее число начатых транзакций чтения. | cluster, database |
stronghold_raft_storage_bolt_transaction_currently_open_read_transactions | gauge | Число открытых в данный момент транзакций чтения. | cluster, database |
stronghold_raft_storage_bolt_page_count | gauge | Число выделений страниц (накопительное значение TxStats BoltDB). | cluster, database |
stronghold_raft_storage_bolt_page_bytes_allocated | gauge | Байт, выделенных под страницы (накопительное значение TxStats BoltDB). | cluster, database |
stronghold_raft_storage_bolt_cursor_count | gauge | Число созданных курсоров (накопительное значение TxStats BoltDB). | cluster, database |
stronghold_raft_storage_bolt_node_count | gauge | Число выделений узлов (накопительное значение TxStats BoltDB). | cluster, database |
stronghold_raft_storage_bolt_node_dereferences | gauge | Число разыменований узлов (накопительное значение TxStats BoltDB). | cluster, database |
stronghold_raft_storage_bolt_rebalance_count | gauge | Число перебалансировок узлов (накопительное значение TxStats BoltDB). | cluster, database |
stronghold_raft_storage_bolt_rebalance_time | summary | Накопительное время перебалансировок BoltDB (TxStats), мс, фиксируется каждую секунду. | quantile, cluster, database |
stronghold_raft_storage_bolt_split_count | gauge | Число разделений узлов (накопительное значение TxStats BoltDB). | cluster, database |
stronghold_raft_storage_bolt_spill_count | gauge | Число сбросов (spill) узлов (накопительное значение TxStats BoltDB). | cluster, database |
stronghold_raft_storage_bolt_spill_time | summary | Накопительное время сбросов (spill) BoltDB (TxStats), мс, фиксируется каждую секунду. | quantile, cluster, database |
stronghold_raft_storage_bolt_write_count | gauge | Число записей на диск (накопительное значение TxStats BoltDB). | cluster, database |
stronghold_raft_storage_bolt_write_time | counter | Накопительное время записи BoltDB на диск (TxStats), мс. Счётчик увеличивается каждую секунду на значение TxStats, поэтому используйте его только для относительных сравнений. | cluster, database |
Ведомые узлы (эмитирует лидер Raft)
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_raft_storage_follower_last_heartbeat_ms | gauge | Время в миллисекундах с последнего heartbeat от ведомого узла. Эмитируется лидером каждую секунду для каждого ведомого узла. | peer_id |
stronghold_raft_storage_follower_applied_index_delta | gauge | Разница между applied index лидера и ведомого узла. Эмитируется лидером каждую секунду. | peer_id |
Таймеры операций
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_raft_storage_get | summary | Длительность вызова get бэкенда Raft, мс. | quantile |
stronghold_raft_storage_put | summary | Длительность вызова put бэкенда Raft, мс. | quantile |
stronghold_raft_storage_delete | summary | Длительность вызова delete бэкенда Raft, мс. | quantile |
stronghold_raft_storage_list | summary | Длительность вызова list бэкенда Raft, мс. | quantile |
stronghold_raft_storage_transaction | summary | Длительность транзакции на бэкенде Raft, мс. | quantile |
stronghold_raft_storage_entry_size | summary | Размер в байтах команды Raft (пакета операций хранилища), отправляемой в журнал. | quantile |
stronghold_raft_get | summary | Длительность чтения из FSM Raft (дублирует stronghold_raft_storage_fsm_get), мс. | quantile |
stronghold_raft_list | summary | Длительность получения списка ключей в FSM Raft (дублирует stronghold_raft_storage_fsm_list), мс. | quantile |
stronghold_raft_storage_fsm_get | summary | Длительность чтения из FSM Raft, мс. | quantile |
stronghold_raft_storage_fsm_put | summary | Длительность записи в FSM Raft, мс. | quantile |
stronghold_raft_storage_fsm_delete | summary | Длительность удаления ключа в FSM Raft, мс. | quantile |
stronghold_raft_storage_fsm_delete_prefix | summary | Длительность удаления ключей по префиксу в FSM Raft, мс. | quantile |
stronghold_raft_storage_fsm_list | summary | Длительность получения списка ключей в FSM Raft, мс. | quantile |
stronghold_raft_storage_fsm_open_db_file | summary | Длительность открытия файла базы данных FSM, мс. | quantile |
stronghold_raft_storage_fsm_write_snapshot | summary | Длительность записи снимка FSM, мс. | quantile |
stronghold_raft_storage_fsm_restore_snapshot | summary | Длительность восстановления 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_follower | counter | Число переходов узла в состояние follower. | — |
stronghold_raft_state_candidate | counter | Число переходов узла в состояние candidate (начал выборов). | — |
stronghold_raft_state_leader | counter | Число переходов узла в состояние leader. | — |
stronghold_raft_transition_heartbeat_timeout | counter | Число истечений тайм-аута heartbeat: ведомый узел не получил heartbeat от лидера и начал выборы. | — |
stronghold_raft_transition_leader_lease_timeout | counter | Число случаев, когда лидер потерял lease, не сумев связаться с кворумом ведомых узлов. | — |
stronghold_raft_peers | gauge | Число серверов в последней конфигурации Raft. Обновляется лидером при запуске и остановке репликации. | — |
stronghold_raft_candidate_electSelf | summary | Длительность попытки выборов узла (запрос голосов у всех участников), мс. | quantile |
stronghold_raft_candidate_preElectSelf | summary | Длительность фазы пред-голосования (pre-vote) выборов, мс. | quantile |
Репликация журнала и RPC
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_raft_apply | counter | Число записей, переданных в Raft на применение (вызовы Apply) на лидере. | — |
stronghold_raft_barrier | counter | Число вызовов Barrier на лидере. | — |
stronghold_raft_verify_leader | counter | Число вызовов VerifyLeader. | — |
stronghold_raft_restore | counter | Число восстановлений Raft из снимка (вызовы Restore). | — |
stronghold_raft_commitTime | summary | Длительность фиксации записи журнала (от отправки до подтверждения кворумом) на лидере, мс. | quantile |
stronghold_raft_commitNumLogs | gauge | Число записей журнала в последнем пакете, зафиксированном лидером. | — |
stronghold_raft_leader_dispatchLog | summary | Длительность записи лидером пакета записей в собственное хранилище журнала, мс. | quantile |
stronghold_raft_leader_dispatchNumLogs | gauge | Число записей в последнем пакете, записанном лидером в своё хранилище журнала. | — |
stronghold_raft_leader_lastContact | summary | Время в миллисекундах с последнего контакта с ведомым узлом; лидер фиксирует его для каждого ведомого узла при проверке lease лидера. Рост значения указывает на проблемы с ведомым узлом или сетью. | quantile |
stronghold_raft_leader_oldestLogAge | gauge | Возраст в миллисекундах самой старой записи в хранилище журнала лидера. Эмитируется лидером. | — |
stronghold_raft_rpc_appendEntries | summary | Длительность обработки AppendEntries RPC на ведомом узле, мс. | quantile |
stronghold_raft_rpc_appendEntries_storeLogs | summary | Длительность сохранения записей журнала, полученных в AppendEntries, на ведомом узле, мс. | quantile |
stronghold_raft_rpc_appendEntries_processLogs | summary | Длительность обработки (фиксации) записей журнала, полученных в AppendEntries, на ведомом узле, мс. | quantile |
stronghold_raft_rpc_processHeartbeat | summary | Длительность обработки heartbeat RPC на ведомом узле, мс. | quantile |
stronghold_raft_rpc_requestVote | summary | Длительность обработки RequestVote RPC, мс. | quantile |
stronghold_raft_rpc_installSnapshot | summary | Длительность обработки InstallSnapshot RPC на ведомом узле, мс. | quantile |
Репликация с лидера и сетевой транспорт
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_raft_replication_heartbeat | summary | Длительность отправки лидером heartbeat ведомому узлу, мс. | quantile, peer_id |
stronghold_raft_replication_installSnapshot | summary | Длительность отправки лидером снимка ведомому узлу, мс. | quantile, peer_id |
stronghold_raft_replication_appendEntries_rpc | summary | Длительность вызова AppendEntries RPC от лидера к ведомому узлу, мс. | quantile, peer_id |
stronghold_raft_replication_appendEntries_logs | counter | Число записей журнала, реплицированных лидером на ведомый узел. | peer_id |
stronghold_raft_net_getRPCType | summary | Длительность чтения типа RPC из соединения в сетевом транспорте, мс. | quantile |
stronghold_raft_net_rpcDecode | summary | Длительность декодирования входящего RPC в сетевом транспорте, мс. | quantile, rpcType |
stronghold_raft_net_rpcEnqueue | summary | Длительность постановки входящего RPC в очередь обработки ядра Raft, мс. | quantile, rpcType |
stronghold_raft_net_rpcRespond | summary | Длительность ожидания и отправки ответа на RPC, мс. | quantile, rpcType |
FSM, снимки и загрузка горутин
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_raft_fsm_apply | summary | Длительность применения одной записи журнала к FSM, мс. | quantile |
stronghold_raft_fsm_applyBatch | summary | Длительность применения пакета записей журнала к FSM, мс. | quantile |
stronghold_raft_fsm_applyBatchNum | summary | Число записей журнала в пакете, применяемом к FSM. | quantile |
stronghold_raft_fsm_enqueue | summary | Длительность постановки записей журнала в очередь FSM, мс. | quantile |
stronghold_raft_fsm_store_config | summary | Длительность применения изменения конфигурации к FSM, мс. | quantile |
stronghold_raft_fsm_snapshot | summary | Длительность создания снимка FSM, мс. | quantile |
stronghold_raft_fsm_restore | summary | Длительность восстановления FSM из снимка, мс. | quantile |
stronghold_raft_fsm_lastRestoreDuration | gauge | Длительность последнего восстановления FSM из снимка, мс. | — |
stronghold_raft_snapshot_takeSnapshot | summary | Длительность всего процесса создания снимка (включая сжатие журнала), мс. | quantile |
stronghold_raft_snapshot_create | summary | Длительность создания снимка (снимок FSM), мс. | quantile |
stronghold_raft_snapshot_persist | summary | Длительность записи снимка в хранилище снимков, мс. | quantile |
stronghold_raft_compactLogs | summary | Длительность сжатия журнала Raft, мс. | quantile |
stronghold_raft_removeOldLogs | summary | Длительность удаления старых записей журнала после снимка, мс. | quantile |
stronghold_raft_restoreUserSnapshot | summary | Длительность восстановления пользовательского снимка (восстановление через sys/storage/raft/snapshot), мс. | quantile |
stronghold_raft_thread_main_saturation | summary | Загрузка основной горутины Raft: доля времени (от 0 до 1), в течение которой горутина работала, а не ожидала, за интервал в 1 секунду. Значение, близкое к 1, означает перегрузку ядра Raft. | quantile |
stronghold_raft_thread_fsm_saturation | summary | Загрузка горутины FSM: доля времени (от 0 до 1), в течение которой горутина применяла записи, за интервал в 1 секунду. | quantile |
Хранилище журнала BoltDB (raft-boltdb)
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_raft_boltdb_getLog | summary | Длительность чтения записи журнала из хранилища журнала BoltDB, мс. | quantile |
stronghold_raft_boltdb_storeLogs | summary | Длительность записи пакета записей журнала в хранилище журнала BoltDB (включая фиксацию на диск), мс. | quantile |
stronghold_raft_boltdb_logSize | summary | Размер в байтах записи журнала, записываемой в хранилище журнала. | quantile |
stronghold_raft_boltdb_logsPerBatch | summary | Число записей журнала в пакете, записываемом в хранилище журнала. | quantile |
stronghold_raft_boltdb_logBatchSize | summary | Суммарный размер в байтах пакета записей журнала, записываемого в хранилище журнала. | quantile |
stronghold_raft_boltdb_writeCapacity | summary | Оценка пропускной способности записи хранилища журнала: число записей журнала в секунду при скорости последнего пакета. | quantile |
Автопилот Raft и состояние кластера
Метрики автопилота эмитирует лидер Raft при каждом обновлении состояния автопилота. Лейбла cluster у них нет (для подсчёта узлов используйте sum/max по рядам со всех узлов). Собственные метрики библиотеки автопилота не экспортируются, состояние публикует Stronghold.
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_autopilot_healthy | gauge | 1 — кластер в целом здоров по оценке автопилота, иначе 0. | — |
stronghold_autopilot_failure_tolerance | gauge | Число узлов, отказ которых не приведёт к потере кворума. 0 означает, что потеря ещё одного узла сделает кластер недоступным. | — |
stronghold_autopilot_node_healthy | gauge | 1 — узел здоров по оценке автопилота, иначе 0. node_id — идентификатор узла Raft. | node_id |
Репликация (PR, DR) и WAL
Метрики компонентов репликации (WAL, деревья Меркла, доставка журнала, RPC репликации) и ролей репликации. Доступны в Stronghold EE. Эмитируются, только если узел использует соответствующий режим репликации. Лейбла cluster у них нет, кроме gauge-метрик ролей core_replication_*.
Роли репликации (каждую секунду на всех узлах)
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_core_replication_performance_primary | gauge | 1 — кластер является первичным (primary) кластером performance-репликации, иначе 0. | cluster |
stronghold_core_replication_performance_secondary | gauge | 1 — кластер является вторичным (secondary) кластером performance-репликации, иначе 0. | cluster |
stronghold_core_replication_dr_primary | gauge | 1 — кластер является первичным (primary) кластером DR-репликации, иначе 0. | cluster |
stronghold_core_replication_dr_secondary | gauge | 1 — кластер является вторичным (secondary) кластером DR-репликации, иначе 0. | cluster |
stronghold_core_replication_write_undo_logs | gauge | 1 — на узле включена запись undo-журналов, иначе 0. | cluster |
WAL
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_replication_wal_last_wal | gauge | Индекс последней записи WAL на узле. | — |
stronghold_replication_wal_last_dr_wal | gauge | Индекс последней записи WAL типа DR, применённой на узле. | — |
stronghold_replication_wal_last_performance_wal | gauge | Индекс последней записи WAL реплицируемого (performance) типа, применённой на узле. | — |
stronghold_replication_fsm_last_remote_wal | gauge | Индекс последней записи WAL, применённой с удалённого (первичного) кластера. | — |
stronghold_replication_merkle_commit_index | gauge | Индекс последней записи WAL, зафиксированной в дереве Меркла. | — |
stronghold_wal_gc_total | gauge | Число записей WAL между первым индексом WAL и последним зафиксированным индексом WAL на момент очистки. | — |
stronghold_wal_gc_deleted | gauge | Число записей WAL, подлежащих удалению проходом очистки (до буферизованного индекса последней фиксации). | — |
stronghold_replication_wal_gc | summary | Длительность прохода очистки (GC) WAL, мс. | quantile |
stronghold_wal_flushReady | summary | Длительность сброса пакета записей WAL в хранилище, мс. | quantile |
stronghold_wal_flushReady_queue_len | summary | Длина очереди сброса WAL в момент сброса пакета. | quantile |
stronghold_wal_flushReady_batch_size | summary | Размер группы записей WAL, сохранённой при сбросе. | quantile |
stronghold_wal_persistWALs | summary | Длительность сохранения записей WAL, мс. | quantile |
stronghold_wal_loadWAL | summary | Длительность загрузки записи WAL, мс. | quantile |
stronghold_wal_deleteWALs | summary | Длительность удаления записей WAL, мс. | quantile |
Деревья Меркла и синхронизация
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_merkle_saveCheckpoint | summary | Длительность сохранения контрольной точки дерева Меркла, мс. | quantile |
stronghold_merkle_saveCheckpoint_num_dirty | gauge | Число изменённых (dirty) страниц дерева Меркла на момент сохранения контрольной точки. | — |
stronghold_merkle_flushDirty | summary | Длительность сброса изменённых (dirty) страниц дерева Меркла, мс. | quantile |
stronghold_merkle_flushDirtyUntil | summary | Длительность сброса изменённых (dirty) страниц дерева Меркла до указанного индекса, мс. | quantile |
stronghold_merkle_flushDirty_num_pages | gauge | Число страниц, сброшенных при последнем сбросе. | — |
stronghold_merkle_flushDirty_num_pages_outstanding | gauge | Число изменённых страниц, оставшихся после последнего сброса. | — |
stronghold_merkle_copy_on_write | counter | Число операций copy-on-write над страницами дерева Меркла. | — |
stronghold_merkle_reindex | summary | Длительность переиндексации дерева Меркла, мс. | quantile |
stronghold_merkle_reindex_flush_trees | summary | Длительность сброса деревьев при завершении переиндексации, мс. | quantile |
stronghold_merkle_reindex_fixed | summary | Число повреждённых страниц, исправленных переиндексацией. | quantile |
stronghold_merkle_remote_state_snapshot | summary | Длительность получения снимка состояния удалённого дерева Меркла, мс. | quantile |
stronghold_merkle_composite_remote_state_snapshot | summary | Длительность получения снимка состояния удалённого составного дерева Меркла, мс. | quantile |
stronghold_merkle_diff_conflicts | gauge | Число конфликтующих ключей, найденных при последнем сравнении деревьев Меркла. | — |
stronghold_replication_merkleDiff | summary | Длительность сравнения деревьев Меркла с удалённым кластером, мс. | quantile |
stronghold_replication_merkleSync | summary | Длительность синхронизации деревьев Меркла с удалённым кластером, мс. | quantile |
stronghold_replication_fetchRemoteKeys | summary | Длительность получения ключей с удалённого кластера, мс. | quantile |
Доставщик журнала (log shipper)
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_logshipper_fetchKeys | summary | Длительность получения ключей доставщиком журнала (log shipper), мс. | quantile |
stronghold_logshipper_streamWALs_missing_guard | counter | Число запросов потока WAL, для которых не найден guard. | — |
stronghold_logshipper_streamWALs_guard_found | counter | Число запросов потока WAL, для которых guard найден в буфере. | — |
stronghold_logshipper_streamWALs_buffer_over_run | counter | Число переполнений буфера при потоковой передаче записей WAL. | — |
stronghold_logshipper_streamWALs_scanned_entries | summary | Число записей буфера, просмотренных при поиске guard запроса потока WAL. type — режим репликации узла. | quantile, type |
stronghold_logshipper_buffer_length | gauge | Текущее число записей в буфере доставщика журнала. | type |
stronghold_logshipper_buffer_size | gauge | Текущий размер буфера доставщика журнала в байтах. | type |
stronghold_logshipper_buffer_max_length | gauge | Максимальное число записей буфера доставщика журнала. | type |
stronghold_logshipper_buffer_max_size | gauge | Максимальный размер буфера доставщика журнала в байтах. | type |
RPC репликации: сервер
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_replication_rpc_server_sync_counter_request | summary | Длительность обработки вызова sync_counter_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_auth_request | summary | Длительность обработки вызова auth_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_fetch_keys_request | summary | Длительность обработки вызова fetch_keys_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_bootstrap_request | summary | Длительность обработки вызова bootstrap_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_conflicting_pages_request | summary | Длительность обработки вызова conflicting_pages_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_sub_page_hashes_request | summary | Длительность обработки вызова sub_page_hashes_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_finalize_merkle_diff_request | summary | Длительность обработки вызова finalize_merkle_diff_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_forwarding_request | summary | Длительность обработки вызова forwarding_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_upsert_group_request | summary | Длительность обработки вызова upsert_group_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_persist_persona_request | summary | Длительность обработки вызова persist_persona_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_register_local_alias_request | summary | Длительность обработки вызова register_local_alias_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_create_entity_request | summary | Длительность обработки вызова create_entity_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_persist_alias_request | summary | Длительность обработки вызова persist_alias_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_guard_hash_request | summary | Длительность обработки вызова guard_hash_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_stream_wals_request | summary | Длительность обработки вызова stream_wals_request на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_echo | summary | Длительность обработки вызова echo на RPC-сервере репликации, мс. | quantile |
stronghold_replication_rpc_server_save_mfa_response_auth | summary | Длительность обработки вызова save_mfa_response_auth на RPC-сервере репликации, мс. | quantile |
Лейбл method (get или update) присутствует у метрик user_failed_login_info.
RPC репликации: клиент
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_replication_rpc_client_conflicting_pages | summary | Длительность RPC-вызова conflicting_pages от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_sub_page_hashes | summary | Длительность RPC-вызова sub_page_hashes от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_finalize_merkle_diff | summary | Длительность RPC-вызова finalize_merkle_diff от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_sync_counter | summary | Длительность RPC-вызова sync_counter от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_fetch_keys | summary | Длительность RPC-вызова fetch_keys от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_forward | summary | Длительность RPC-вызова forward от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_register_local_alias | summary | Длительность RPC-вызова register_local_alias от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_create_entity | summary | Длительность RPC-вызова create_entity от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_persist_alias | summary | Длительность RPC-вызова persist_alias от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_save_mfa_auth_response | summary | Длительность RPC-вызова save_mfa_auth_response от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_upsert_group | summary | Длительность RPC-вызова upsert_group от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_stream_wals | summary | Длительность RPC-вызова stream_wals от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_guard_hash | summary | Длительность RPC-вызова guard_hash от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_register_lease | summary | Длительность RPC-вызова register_lease от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_create_token_register_auth_lease | summary | Длительность RPC-вызова create_token_register_auth_lease от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_register_auth | summary | Длительность RPC-вызова register_auth от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_user_failed_login_info | summary | Длительность RPC-вызова user_failed_login_info от клиента репликации, мс. | quantile, method |
stronghold_replication_rpc_client_wrap_in_cubbyhole | summary | Длительность RPC-вызова wrap_in_cubbyhole от клиента репликации, мс. | quantile |
stronghold_replication_rpc_client_activity_log_fragment | summary | Длительность RPC-вызова activity_log_fragment от клиента репликации, мс. | quantile |
RPC репликации: сервер для ведомых узлов
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_replication_rpc_standby_server_echo | summary | Длительность обработки вызова echo на RPC-сервере ведомых узлов, мс. | quantile |
stronghold_replication_rpc_standby_server_register_lease_request | summary | Длительность обработки вызова register_lease_request на RPC-сервере ведомых узлов, мс. | quantile |
stronghold_replication_rpc_standby_server_register_auth_request | summary | Длительность обработки вызова register_auth_request на RPC-сервере ведомых узлов, мс. | quantile |
stronghold_replication_rpc_standby_server_create_token_register_auth_lease_request | summary | Длительность обработки вызова create_token_register_auth_lease_request на RPC-сервере ведомых узлов, мс. | quantile |
stronghold_replication_rpc_standby_server_user_failed_login_info_request | summary | Длительность обработки вызова user_failed_login_info_request на RPC-сервере ведомых узлов, мс. | quantile, method |
stronghold_replication_rpc_standby_server_wrap_token_request | summary | Длительность обработки вызова wrap_token_request на RPC-сервере ведомых узлов, мс. | quantile |
RPC репликации: DR-сервер
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_replication_rpc_dr_server_fetch_keys_request | summary | Длительность обработки вызова fetch_keys_request на RPC-сервере DR-репликации, мс. | quantile |
stronghold_replication_rpc_dr_server_echo | summary | Длительность обработки вызова echo на RPC-сервере DR-репликации, мс. | quantile |
Репликация KV
Метрики репликации секретов KV между точками монтирования. Записи идентифицируются парой «исходная точка монтирования — локальная точка монтирования». Gauge-метрики экспортируются каждую секунду; summary-метрики и счётчик обновляются после каждого запуска репликации. Лейбла cluster у метрик нет.
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_core_replication_local_mount_count | gauge | Число локальных точек монтирования, для которых настроена репликация KV. | — |
stronghold_core_replication_source_mounts_count | gauge | Число уникальных исходных точек монтирования репликации KV. | — |
stronghold_core_replication_source_addresses_count | gauge | Число уникальных исходных адресов (кластеров) репликации KV. | — |
stronghold_core_replication_ttl | gauge | TTL токена репликации в секундах. | local_namespace, local_mount_path, source_address, source_namespace, source_mount_path |
stronghold_core_replication_repl_period | gauge | Период репликации в минутах. | local_namespace, local_mount_path, source_address, source_namespace, source_mount_path |
stronghold_core_replication_secret_path_count | gauge | Число путей секретов, обработанных при последнем запуске репликации. | local_namespace, local_mount_path, source_address, source_namespace, source_mount_path |
stronghold_core_replication_errors | gauge | Число ошибок при последнем запуске репликации. | local_namespace, local_mount_path, source_address, source_namespace, source_mount_path |
stronghold_core_replication_success | gauge | 1 — последний запуск репликации завершился успешно, иначе 0. | local_namespace, local_mount_path, source_address, source_namespace, source_mount_path |
stronghold_core_replication_status | counter | Число запусков репликации. result — success или error. | local_namespace, local_mount_path, source_address, source_namespace, source_mount_path, result |
stronghold_core_replication_bytes | summary | Число байт, переданных за один запуск репликации. | quantile, local_namespace, local_mount_path, source_address, source_namespace, source_mount_path |
stronghold_core_replication_records | summary | Число записей, переданных за один запуск репликации. | quantile, local_namespace, local_mount_path, source_address, source_namespace, source_mount_path |
stronghold_core_replication_duration | summary | Длительность запуска репликации в секундах. | 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_duration | summary | Длительность создания и сохранения снимка в настроенное хранилище (только успешные запуски), мс. | quantile, cluster, snapshot_config_name |
stronghold_autosnapshots_last_success_time | gauge | Время последнего успешного снимка в формате Unix timestamp (секунды). | cluster, snapshot_config_name |
stronghold_autosnapshots_snapshot_size | summary | Размер сохранённого снимка в байтах (только успешные запуски). | quantile, cluster, snapshot_config_name |
stronghold_autosnapshots_save_errors | counter | Число неудачных попыток создания снимка. | cluster, snapshot_config_name |
stronghold_autosnapshots_rotate_duration | summary | Длительность ротации снимков (удаления снимков сверх лимита retain); фиксируется и в том случае, когда удалять нечего, мс. | quantile, cluster, snapshot_config_name |
stronghold_autosnapshots_snapshots_in_storage | gauge | Число снимков в хранилище после ротации (устанавливается, если список снимков получен успешно). | cluster, snapshot_config_name |
stronghold_autosnapshots_total_snapshot_size | gauge | Суммарный размер файлов снимков в локальной директории хранилища в байтах (только для типа хранилища local). | cluster, snapshot_config_name |
stronghold_autosnapshots_percent_maxspace_used | gauge | Доля лимита места локального хранилища, занятая снимками (значение от 0 до 1; только для типа хранилища local). | cluster, snapshot_config_name |
stronghold_core_snapshot_auto_failed | gauge | Признак ошибки автоматического снимка: 1, если последняя попытка создать снимок по конфигурации завершилась ошибкой, иначе 0. | cluster, config |
stronghold_autosnapshots_rotate_failed | gauge | Признак ошибки ротации снимков: 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>_issue | summary | Длительность выпуска сертификата (issue/:role), мс. | quantile, role, namespace |
stronghold_<mount>_sign | summary | Длительность подписания CSR (sign/:role), мс. | quantile, role, namespace |
stronghold_<mount>_sign_verbatim | summary | Длительность подписания CSR как есть (sign-verbatim), мс. | quantile, role, namespace |
stronghold_<mount>_revoke | summary | Длительность отзыва сертификата, мс. | quantile, namespace |
stronghold_<mount>_issue | counter | Число успешных запросов issue. | role, namespace |
stronghold_<mount>_sign | counter | Число успешных запросов sign. | role, namespace |
stronghold_<mount>_sign_verbatim | counter | Число успешных запросов sign-verbatim. | role, namespace |
stronghold_<mount>_revoke | counter | Число успешных запросов revoke. | namespace |
stronghold_<mount>_issue_failure | counter | Число неудачных запросов issue. | role, namespace |
stronghold_<mount>_sign_failure | counter | Число неудачных запросов sign. | role, namespace |
stronghold_<mount>_sign_verbatim_failure | counter | Число неудачных запросов sign-verbatim. | role, namespace |
stronghold_<mount>_revoke_failure | counter | Число неудачных запросов revoke. | namespace |
Число сертификатов
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_secrets_pki_<mount_uuid>_total_certificates_stored | gauge | Общее число сертификатов, хранящихся в механизме. <mount_uuid> — UUID бэкенда, в котором - заменены на _. Публикуется, только если в настройках tidy задано publish_stored_certificate_count_metrics = true. | — |
stronghold_secrets_pki_<mount_uuid>_total_revoked_certificates_stored | gauge | Общее число отозванных сертификатов, хранящихся в механизме. Публикуется, только если задано publish_stored_certificate_count_metrics = true. | — |
Операция tidy
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_secrets_pki_tidy_start_time_epoch | gauge | Время начала текущей операции tidy в формате Unix timestamp (секунды); 0 после завершения tidy. | — |
stronghold_secrets_pki_tidy_cert_store_total_entries | gauge | Число записей в хранилище сертификатов на начало очистки хранилища сертификатов. | — |
stronghold_secrets_pki_tidy_cert_store_current_entry | gauge | Индекс обрабатываемой записи хранилища сертификатов. | — |
stronghold_secrets_pki_tidy_cert_store_total_entries_remaining | gauge | Число записей хранилища сертификатов, оставшихся для обработки. | — |
stronghold_secrets_pki_tidy_revoked_cert_total_entries | gauge | Число записей отозванных сертификатов на начало очистки отозванных сертификатов. | — |
stronghold_secrets_pki_tidy_revoked_cert_current_entry | gauge | Индекс обрабатываемой записи отозванного сертификата. | — |
stronghold_secrets_pki_tidy_revoked_cert_total_entries_remaining | gauge | Число записей отозванных сертификатов, оставшихся для обработки. | — |
stronghold_secrets_pki_tidy_revoked_cert_entries_incorrect_issuers | gauge | Число записей отозванных сертификатов с отсутствующим или некорректным издателем. | — |
stronghold_secrets_pki_tidy_revoked_cert_entries_fixed_issuers | gauge | Число записей отозванных сертификатов, у которых tidy исправил издателя. | — |
stronghold_secrets_pki_tidy_duration | summary | Длительность операции tidy (фиксируется по её завершении), мс. | quantile |
stronghold_secrets_pki_tidy_cert_store_deleted_count | counter | Число записей хранилища сертификатов, удалённых операцией tidy. | — |
stronghold_secrets_pki_tidy_revoked_cert_deleted_count | counter | Число записей отозванных сертификатов, удалённых операцией tidy. | — |
stronghold_secrets_pki_tidy_success | counter | Число успешно завершённых операций tidy. | — |
stronghold_secrets_pki_tidy_failure | counter | Число неудачных операций 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>_error | counter | Число неудачных вызовов операции (все типы баз данных). | — |
stronghold_database_<db_type>_<operation>_error | counter | Число неудачных вызовов операции для указанного типа базы данных. | — |
stronghold_secrets_database_backend_pluginInstances_count | gauge | Число открытых экземпляров плагинов (соединений) в точке монтирования механизма 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_violation | counter | Число запросов, отклонённых из-за превышения квоты на частоту запросов. name — имя квоты. | cluster, name |
stronghold_quota_lease_count_max | gauge | Максимальное число аренд, разрешённое квотой на число аренд. Обновляется при проверке запроса по квоте. | cluster, name |
stronghold_quota_lease_count_counter | gauge | Текущее число аренд, учтённое квотой на число аренд. Обновляется при проверке запроса по квоте. | cluster, name |
stronghold_quota_lease_count_violation | counter | Число запросов, отклонённых из-за превышения квоты на число аренд. | cluster, name |
Среда выполнения и процесс
Метрики среды выполнения Go собираются каждую секунду (включены по умолчанию). Лейбла cluster у них нет. Кроме того, вывод Prometheus содержит стандартные метрики Go и процесса библиотеки client_golang (go_*, process_*), которые здесь не описываются.
| Метрика | Тип | Описание | Лейблы |
|---|---|---|---|
stronghold_runtime_num_goroutines | gauge | Число горутин. Используется алертами модуля DP для определения узлов, экспортирующих метрики. | — |
stronghold_runtime_alloc_bytes | gauge | Байт в выделенных объектах кучи (Alloc среды выполнения Go). | — |
stronghold_runtime_sys_bytes | gauge | Общее число байт памяти, полученной средой выполнения Go от ОС (Sys). | — |
stronghold_runtime_malloc_count | gauge | Накопительное число выделений объектов кучи (Mallocs). | — |
stronghold_runtime_free_count | gauge | Накопительное число освобождённых объектов кучи (Frees). | — |
stronghold_runtime_heap_objects | gauge | Число выделенных объектов кучи (HeapObjects). | — |
stronghold_runtime_total_gc_pause_ns | gauge | Накопительное время пауз stop-the-world сборщика мусора в наносекундах (PauseTotalNs). | — |
stronghold_runtime_total_gc_runs | gauge | Число завершённых циклов сборки мусора (NumGC). | — |
stronghold_runtime_gc_pause_ns | summary | Длительность пауз последних циклов сборки мусора в наносекундах (не в миллисекундах): по одному значению на цикл с момента предыдущего измерения. | quantile |