Подавляющий объём работы BiHA происходит автоматически, лишь некоторые из параметров можно редактировать вручную.
Полезные параметры конфигурации:
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.
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.
Все перечисленные ниже функции следует вызывать из базы данных 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. Если узел не отвечает при попытке показать представление, попробуйте выполнить тот же запрос на любом другом узле, чтобы узнать фактическое состояние узлов кластера.
Чтобы обращаться к перечисленным ниже представлениям, необходимо подключиться к базе данных biha_db.
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 | Сколько раз узел подключался к сети с момента запуска кластера. |
biha.status_v #В этом представлении показывается состояние узлов в кластере.
Таблица 25.2. Представление biha.status_v
| Имя столбца | Описание |
|---|---|
id | Идентификатор узла. |
leader_id | Идентификатор узла-лидера. |
term | Поколение узла. Используется при голосовании по выбору нового узла-лидера. |
online | Показывает подключён ли узел к сети. |
state |
Состояние узла. В этом столбце может отображаться одно из следующих значений:
|
last_known_state | Последнее известное состояние узла. |
since_last_hb | Время, прошедшее с момента получения последнего сообщения о контроле состояния. |