Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Метрики встроенного хранилища

Телеметрия хранилища Raft предоставляет информацию о встроенном хранилище StarVault.

1. Стандартные метрики

Далее в таблице перечислены стандартные метрики и их описания:

Название метрики Тип метрики Единицы измерения Описание Примечание

vault.raft.apply

счетчик

число

Количество транзакций в настроенном интервале

Метрика vault.raft.apply обычно является хорошим индикатором нагрузки на запись в вашем внутреннем хранилище Raft.

vault.raft.barrier

счетчик

число

Количество раз, когда узел начал барьер

Узел начинает барьер, выполняя блокирующий вызов, когда хочет убедиться, что все ожидающие операции, которые должны быть применены к конечному автомату, правильно поставлены в очередь.

vault.raft.candidate.electSelf

сводная

мс

Время, необходимое узлу для отправки запроса на голосование на другой узел

---

vault.raft.commitNumLogs

vault.raft.commitNumLogs

число

Количество журналов, обработанных для применения к конечному автомату в одной партии

---

vault.raft.commitTime

сводная

мс

Время, необходимое для фиксации новой записи в журнале Raft на узле-лидере.

---

vault.raft.compactLogs

сводная

мс

Время, необходимое для обрезки ненужных журналов

---

vault.raft.fsm.apply

сводная

число

Количество журналов, примененных конечным автоматом с момента последнего интервала

---

vault.raft.fsm.applyBatch

сводная

мс

Время, необходимое конечному автомату для применения последней партии журналов

---

vault.raft.fsm.applyBatchNum

счетчик

число

Количество журналов, примененных в последней партии

---

vault.raft.fsm.enqueue

сводная

мс

Время, необходимое для постановки партии журналов в очередь для применения конечным автоматом

---

vault.raft.fsm.restore

сводная

мс

Время, необходимое конечному автомату для завершения операции восстановления из снимка

---

vault.raft.fsm.snapshot

сводная

мс

Время, необходимое конечному автомату для записи информации о состоянии для текущего снимка

---

vault.raft.fsm.store_config

сводная

мс

Время, необходимое для сохранения последней конфигурации Raft

---

vault.raft.get

сводная

мс

Время, необходимое для получения записи из базового хранилища

---

vault.raft.leader.dispatchLog

timer

мс

Время, необходимое узлу-лидеру для записи записи журнала на диск

---

vault.raft.leader.dispatchNumLogs

датчик

число

Количество журналов, зафиксированных на диске в последней партии

---

vault.raft.leader.lastContact

сводная

мс

Время с момента последнего контакта лидера с резервными узлами при проверке аренды лидерства

---

vault.raft.list

сводная

мс

Время, необходимое для получения списка ключей из базового хранилища

---

vault.raft.peers

guage

число

Количество узлов в конфигурации кластера Raft

---

vault.raft.replication.appendEntries.log

сводная

число

Количество журналов, реплицированных на узел для установления паритета с журналами лидера

---

vault.raft.replication.appendEntries.rpc

timer

мс

Время, необходимое для репликации записей журнала узла-лидера на все резервные узлы с помощью appendEntries

---

vault.raft.replication.heartbeat

timer

мс

Время, необходимое для вызова appendEntries на узле, чтобы узел не вышел из времени ожидания

---

vault.raft.replication.installSnapshot

timer

мс

Время, необходимое для обработки вызова RPC installSnapshot

Только узлы, находящиеся в состоянии follower, сообщают метрики vault.raft.replication.installSnapshot

vault.raft.restore

счетчик

число

Количество раз, когда узел выполнил операцию восстановления

В контексте хранилища Raft операция восстановления относится к процессу, при котором Raft потребляет внешний снимок для восстановления своего состояния.

vault.raft.restoreUserSnapshot

timer

мс

Время, необходимое для восстановления конечного автомата из пользовательского снимка

---

vault.raft.rpc.appendEntries

timer

мс

Время, необходимое для обработки удаленного вызова appendEntries от узла

---

vault.raft.rpc.appendEntries.processLogs

timer

мс

Время, необходимое для полной обработки ожидающих журналов для данного узла

---

vault.raft.rpc.appendEntries.storeLogs

timer

мс

Время, необходимое для записи любых ожидающих журналов с момента последнего запроса на добавление записей для данного узла

---

vault.raft.rpc.installSnapshot

timer

мс

Время, необходимое для обработки вызова RPC installSnapshot

Только узлы, находящиеся в состоянии follower, сообщают метрики vault.raft.rpc.installSnapshot.

vault.raft.rpc.processHeartbeat

timer

мс

Время, необходимое для обработки запроса на проверку активности

---

vault.raft.rpc.requestVote

сводная

мс

Время, необходимое для завершения вызова requestVote

---

vault.raft.snapshot.create

timer

мс

Время, необходимое для создания нового снимка

---

vault.raft.snapshot.persist

timer

мс

Время, необходимое для записи метаинформации снимка на диск при создании снимков

---

vault.raft.snapshot.takeSnapshot

timer

мс

Общее время, необходимое для создания и сохранения текущего снимка

В большинстве случаев vault.raft.snapshot.takeSnapshot примерно равно vault.raft.snapshot.create + vault.raft.snapshot.persist

vault.raft.state.candidate

счетчик

число

Количество раз, когда сервер Raft инициировал выборы

---

vault.raft.state.follower

сводная

число

Количество раз в настроенном интервале, когда сервер Raft стал резервным узлом

Узлы переходят в состояние follower в следующих случаях: * узел присоединяется к кластеру; * выбирается лидер, но узел не был выбран лидером.

vault.raft.state.leader

счетчик

число

Количество раз, когда сервер Raft стал лидером

---

vault.raft.transition.heartbeat_timeout

сводная

число

Количество раз, когда узел перешел в состояние candidate после того, как не получил сообщение о проверке активности от последнего известного лидера

---

vault.raft.transition.leader_lease_timeout

счетчик

число

Количество раз, когда лидер не смог связаться с кворумом узлов и поэтому отступился от полномочий

---

vault.raft.verify_leader

счетчик

число

Количество раз в настроенном интервале, когда узел подтвердил, что он все еще является лидером

---

2. Метрики автопилота

Автопилот работает только на активном узле, поэтому метрики автопилота снимаются только для текущего активного узла.

Название метрики Тип метрики Единицы измерения Описание Примечание

vault.autopilot.failure_tolerance

датчик

узлы

Количество здоровых узлов, превышающих кворум

Допустимый уровень отказов указывает, сколько текущих здоровых узлов может выйти из строя без потери кворума.

vault.autopilot.healthy

датчик

логическое значение

Указывает, все ли узлы здоровы

  • Значение 1 на датчике означает, что Autopilot считает все узлы здоровыми.

  • Значение 0 на датчике означает, что Autopilot считает, что как минимум 1 узел нездоров.

vault.autopilot.node.healthy

датчик

логическое значение

Указывает, здоров ли активный узел

  • Значение 1 на датчике означает, что Autopilot считает указанный узел (по node_id) здоровым.

  • Значение 0 на датчике означает, что Autopilot не может связаться с указанным узлом (по node_id) или считает узел нездоровым.

3. Метрики изменения лидерства

Метрики изменения лидерства указывают на общую производительность интегрированного хранилища на серверах Raft и сетевого соединения между узлами Raft.

Далее в таблице представлены метрики изменения лидерства и их описания:

Название метрики Тип метрики Единицы измерения Описание Примечание

vault.raft.leader.dispatchLog

timer

мс

Время, необходимое узлу-лидеру для записи записи журнала на диск

---

vault.raft.leader.dispatchNumLogs

датчик

число

Количество журналов, зафиксированных на диске в последней партии

---

vault.raft.leader.lastContact

сводная

мс

Время с момента последнего контакта лидера с резервными узлами при проверке аренды лидерства

---

4. Метрики репликации Raft

Далее в таблице представлены метрики репликации Raft и их описания

Название метрики Тип метрики Единицы измерения Описание Примечание

vault.raft.replication.appendEntries.log

сводная

число

Количество журналов, реплицированных на узел для установления паритета с журналами лидера

---

vault.raft.replication.appendEntries.rpc

timer

мс

Время, необходимое для репликации записей журнала узла-лидера на все резервные узлы с помощью appendEntries

---

vault.raft.replication.heartbeat

timer

мс

Время, необходимое для вызова appendEntries на узле, чтобы узел не вышел из времени ожидания

---

vault.raft.replication.installSnapshot

timer

мс

Время, необходимое для обработки вызова RPC installSnapshot

Только узлы, находящиеся в состоянии follower, сообщают метрики vault.raft.replication.installSnapshot.

5. Метрики хранения данных

Название метрики Тип метрики Единицы измерения Описание Примечание

vault.raft_storage.bolt.cursor.count

датчик

число

Количество курсоров, созданных в базе данных Bolt

---

vault.raft_storage.bolt.freelist.allocated_bytes

датчик

байты

Общее пространство, выделенное для списка свободных страниц в базе данных Bolt

---

vault.raft_storage.bolt.freelist.free_pages

датчик

число

Количество свободных страниц в списке свободных страниц базы данных Bolt

---

vault.raft_storage.bolt.freelist.pending_pages

датчик

число

Количество ожидающих страниц в списке свободных страниц базы данных Bolt

vault.raft_storage.bolt.freelist.used_bytes

датчик

байты

Общее пространство, используемое списком свободных страниц в базе данных Bolt

---

vault.raft_storage.bolt.node.count

датчик

число

Количество выделений узлов для базы данных Bolt

---

vault.raft_storage.bolt.node.dereferences

датчик

число

Общее количество разыменований узлов базой данных Bolt

---

vault.raft_storage.bolt.page.bytes_allocated

датчик

байты

Общее пространство, выделенное для базы данных Bolt

---

vault.raft_storage.bolt.page.count

датчик

число

Количество выделений страниц в базе данных Bolt

---

vault.raft_storage.bolt.rebalance.count

датчик

число

Количество перебалансировок узлов, выполненных базой данных Bolt

---

vault.raft_storage.bolt.rebalance.time

сводная

мс

Время, необходимое базе данных Bolt для перебалансировки узлов

---

vault.raft_storage.bolt.spill.count

датчик

число

Количество узлов, сброшенных базой данных Bolt

---

vault.raft_storage.bolt.spill.time

сводная

мс

Общее время, затраченное на сброс базой данных Bolt

---

vault.raft_storage.bolt.split.count

датчик

число

Количество узлов, разделенных базой данных Bolt

---

vault.raft_storage.bolt.transaction.currently_open_read_transactions

датчик

число

Количество текущих транзакций чтения для базы данных Bolt

---

vault.raft_storage.bolt.transaction.started_read_transactions

датчик

число

Количество начатых транзакций чтения базой данных Bolt

---

vault.raft_storage.bolt.write.count

датчик

число

Количество операций записи, выполненных базой данных Bolt

---

vault.raft_storage.bolt.write.time

счетчик

мс

Общее кумулятивное время, затраченное базой данных Bolt на запись на диск

---

vault.raft_storage.follower.applied_index_delta

датчик

число

Разница между индексом, примененным лидером, и индексом, примененным резервным узлом, как сообщается эхо-запросами

---

vault.raft_storage.follower.last_heartbeat_ms

датчик

мс

Время с момента последнего получения запроса на проверку активности резервным узлом

---

vault.raft_storage.stats.applied_index

датчик

число

Наивысший индекс журнала Raft, примененный к конечному автомату или добавленный в очередь fsm_pending

---

vault.raft_storage.stats.commit_index

датчик

число

Индекс последнего журнала Raft, зафиксированного на диске на узле

---

vault.raft_storage.stats.fsm_pending

датчик

число

Количество журналов Raft, поставленных в очередь узлом для применения конечным автоматом

---

vault.raft-storage.delete

timer

мс

Время, необходимое для вставки записи журнала для удаления пути

---

vault.raft-storage.entry_size

сводная

байты

Общий размер записи Raft во время применения журнала

---

vault.raft-storage.get

timer

мс

Время, необходимое для получения значения по указанному пути из конечного автомата

---

vault.raft-storage.list

timer

мс

Время, необходимое для перечисления всех записей по префиксу из конечного автомата

---

vault.raft-storage.put

timer

мс

Время, необходимое для вставки записи журнала для сохранения пути

---

vault.raft-storage.transaction

timer

мс

Время, необходимое для вставки операций в один журнал

---