25.3. Справка по расширению BiHA #
Подавляющий объём работы BiHA происходит автоматически, лишь некоторые из параметров можно редактировать вручную.
25.3.1. Параметры конфигурации #
Полезные параметры конфигурации:
biha.can_be_leader(boolean) #Определяет возможность узла стать лидером. Значение по умолчанию —
true. Если задано значениеfalse, узел не может предлагать себя в качестве кандидата на выборах лидера.biha.can_vote(boolean) #Определяет возможность узла голосовать. Значение по умолчанию —
true. Если задать значениеfalse, узел не сможет принимать участие в голосовании, а также не сможет предлагать себя в качестве кандидата в лидеры.biha.flw_ro(boolean) #Определяет доступность последователя для операций на чтение. Если задано значение
off, чтение с этого последователя запрещено. Значение по умолчанию —on.biha.heartbeat_max_lost(integer) #Указывает максимальное число сообщений о контроле состояния, которые можно не получить до того, как узел будет считаться недоступным. Значение по умолчанию —
10.biha.heartbeat_send_period(integer) #Указывает частоту отправки сообщений о контроле состояния в миллисекундах. Значение по умолчанию —
1000.
25.3.2. Уровни протоколирования BiHA #
biha.BihaLog_log_level(enum) #Задаёт уровень протоколирования для предоставления общей информации о работе компонентов BiHA. Значение по умолчанию —
LOG.biha.BcpTransportDebug_log_level(enum) #Задаёт уровень протоколирования для предоставления отладочной информации о работе канала управления. Значение по умолчанию —
DEBUG4.biha.BcpTransportDetails_log_level(enum) #Задаёт уровень протоколирования для предоставления подробной информации о работе канала управления. Значение по умолчанию —
DEBUG4.biha.BcpTransportLog_log_level(enum) #Задаёт уровень протоколирования для предоставления общей информации о работе канала управления. Значение по умолчанию —
DEBUG4.biha.BcpTransportWarn_log_level(enum) #Задаёт уровень протоколирования для вывода предупреждений о возможных проблемах в канале управления. Значение по умолчанию —
DEBUG4.biha.NodeControllerDebug_log_level(enum) #Задаёт уровень протоколирования для предоставления отладочной информации о работе контроллера узла. Значение по умолчанию —
DEBUG4.biha.NodeControllerDetails_log_level(enum) #Задаёт уровень протоколирования для предоставления подробной информации о работе контроллера узла. Значение по умолчанию —
DEBUG4.biha.NodeControllerLog_log_level(enum) #Задаёт уровень протоколирования для предоставления общей информации о работе контроллера узла. Значение по умолчанию —
DEBUG4.biha.NodeControllerWarn_log_level(enum) #Задаёт уровень протоколирования для вывода предупреждений о возможных проблемах в контроллере узла. Значение по умолчанию —
DEBUG4.
25.3.3. Функции #
Все перечисленные ниже функции следует вызывать из базы данных biha_db:
biha.error_details () returns setof record#Возвращает описание причины, по которой узел перешёл в состояние
NODE_ERROR. Возвращаемая запись содержит тип ошибки, подробную информацию о ней, место возникновения с указаниемbegin_lsn,end_lsnи идентификаторов текущей и следующей линии времени, а такжеreplay_lsn.biha.nodes () returns setof record#Определяет представление
biha.nodes_v, подробно описанное в biha.nodes_v.biha.status () returns setof record#Определяет представление
biha.status_v, подробно описанное в biha.status_v. Если узел не отвечает при попытке показать представление, попробуйте выполнить тот же запрос на любом другом узле, чтобы узнать фактическое состояние узлов кластера.
25.3.4. Представления #
Чтобы обращаться к перечисленным ниже представлениям, необходимо подключиться к базе данных biha_db.
25.3.4.1. biha.nodes_v #
В этом представлении показывается состояние подключения узлов в кластере. Для узла, на котором выполняется запрос для представления, следующие столбцы содержат NULL: state, since_conn_start, conn_count.
Таблица 25.1. Представление biha.nodes_v
| Имя столбца | Описание |
|---|---|
id | Идентификатор узла. |
host | Адрес узла. |
port | Порт узла. |
state | Состояние подключения узла. В этом столбце может отображаться одно из следующих значений: ACTIVE, CONNECTING, IDLE или INIT. |
since_conn_start | Время, прошедшее с момента подключения узла к сети. |
conn_count | Сколько раз узел подключался к сети с момента запуска кластера. |
25.3.4.2. biha.status_v #
В этом представлении показывается состояние узлов в кластере.
Таблица 25.2. Представление biha.status_v
| Имя столбца | Описание |
|---|---|
id | Идентификатор узла. |
leader_id | Идентификатор узла-лидера. |
term | Поколение узла. Используется при голосовании по выбору нового узла-лидера. |
online | Показывает подключён ли узел к сети. |
state | Состояние узла. В этом столбце может отображаться одно из следующих значений:
|
last_known_state | Последнее известное состояние узла. |
since_last_hb | Время, прошедшее с момента получения последнего сообщения о контроле состояния. |