Перейти к содержанию

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

В данном разделе приведена информация о мониторинге запущенного кластера Picodata.

Мониторинг состояния кластера возможен после подключения к кластеру в консоли. После этого можно использовать команды, показывающие состояние raft-группы, отдельных инстансов, собранных из них репликасетов и т.д.

Получение лидера raft-группы

Узнать лидера raft-группы, а также ID и статус текущего инстанса:

pico.raft_status()

Пример вывода:

---
- term: 2
  leader_id: 1
  raft_state: Leader
  id: 1
...

Получение состава raft-группы

Просмотр состава raft-группы и данных инстансов:

box.space._pico_instance:fselect()

Пример вывода:

---
- - ​+-----------+--------------------------------------+-------+-------------+--------------------------------------+-------------+------------+--------------+
  - ​|instance_id|            instance_uuid             |raft_id|replicaset_id|           replicaset_uuid            |current_grade|target_grade|failure_domain|
  - ​+-----------+--------------------------------------+-------+-------------+--------------------------------------+-------------+------------+--------------+
  - ​|   "i1"    |"68d4a766-4144-3248-aeb4-e212356716e4"|   1   |    "r1"     |"e0df68c5-e7f9-395f-86b3-30ad9e1b7b07"|["Online",1] |["Online",1]|      {}      |
  - ​|   "i2"    |"24c4ac5f-4981-3441-879c-aee1edb608a6"|   2   |    "r1"     |"e0df68c5-e7f9-395f-86b3-30ad9e1b7b07"|["Online",1] |["Online",1]|      {}      |
  - ​|   "i3"    |"5d7a7353-3e82-30fd-af0d-261436544389"|   3   |    "r2"     |"eff4449e-feb2-3d73-87bc-75807cb23191"|["Online",1] |["Online",1]|      {}      |
  - ​|   "i4"    |"826cbe5e-6979-3191-9e22-e39deef142f0"|   4   |    "r2"     |"eff4449e-feb2-3d73-87bc-75807cb23191"|["Online",1] |["Online",1]|      {}      |
  - ​+-----------+--------------------------------------+-------+-------------+--------------------------------------+-------------+------------+--------------+
...

Можно отдельно посмотреть список репликасетов, их UUID и вес:

box.space._pico_replicaset:fselect()

Пример вывода:

---
- — ​+-------------+--------------------------------------+---------+------+
  - ​|replicaset_id|           replicaset_uuid            |master_id|weight|
  - ​+-------------+--------------------------------------+---------+------+
  - ​|    "r1"     |"e0df68c5-e7f9-395f-86b3-30ad9e1b7b07"|  "i1"   |  1   |
  - ​|    "r2"     |"eff4449e-feb2-3d73-87bc-75807cb23191"|  "i3"   |  1   |
  - ​+-------------+--------------------------------------+---------+------+
...

Таблицы выше позволяют узнать текущий и целевой уровень (grade) каждого инстанса, а также вес (weight) репликасета. Уровни отражают конфигурацию остальных инстансов относительно текущего, а вес репликасета — его наполненность репликами согласно фактору репликации (см. подробнее). Вес репликасета определяет его приоритет при распределении бакетов с данными.

Получение версии схемы данных

Узнать текущую версию схему данных можно с помощью команды:

box.space._pico_property:get("current_schema_version")
---
- ['current_schema_version', 1]
...

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

Подробнее о работе с данными в Picodata см. в разделе Работа с данными SQL.