Руководство администратора | Mq_Ee
Руководство администратора

Руководство администратора

В руководстве администратора описаны сценарии эксплуатации и администрирования Tarantool Queue Enterprise, функциональность MQ (далее по тексту – TQE(MQ).

Введение

TQE(MQ) состоит из двух компонентов:

  • модуль API – предоставляет интерфейс для взаимодействия с очередью посредством gRPC-протокола;

  • ядро – выполняет функцию хранилища и представляет собой кластерное приложение на Tarantool.

Сценарии использования в данном руководстве разделены согласно компонентам TQE(MQ).

Сценарии охватывают следующие роли пользователей TQE(MQ):

  • инженер по эксплуатации;

  • администратор.

Сценарии использования

Инженер по эксплуатации выполняет следующие сценарии:

Администратор выполняет следующие сценарии:

Проверка статусов компонентов TQE(MQ)

Проверка статуса ядра

Проверка статуса ядра выполняется с помощью команды:

$ curl localhost:8081/health

Примечание: здесь и далее адрес localhost используется в случае локального выполнения примеров команд. В промышленной эксплуатации значению localhost может соответствовать адрес/сетевое имя соответствующего удаленного сервера.

В случае штатного режима работы ядра возвращаемый ответ:

app is OK

Проверка статуса модуля API

Проверка статуса модуля API выполняется с помощью команды:

$ curl localhost:18184/readyz

В случае штатного режима работы модуля API возвращаемый ответ:

{
    "consumer-tarantool": "OK",
    "publisher-tarantool": "OK",
    "started": "OK"
}

Где:

  • started обязательное значение. Указывает на статус работы модуля API. Принимает значения «OK» или текст ошибки.

  • consumer-tarantool необязательное значение. Указывает на статус подключения сервиса подписки на сообщения к ядру TQE(MQ). Принимает значения «OK» или текст ошибки.

  • publisher-tarantool необязательное значение. Указывает на статус подключения сервиса публикации сообщений к ядру TQE(MQ). Принимает значения «OK» или текст ошибки.

Получение метрик компонентов TQE MQ

Встроенный инструментарий TQE(MQ) предоставляет метрики для оценки процесса работы с сообщениями в очередях.

Эти метрики предоставляют диагностическую информацию для использования в стороннем программном обеспечении.

Получение метрик ядра

Метрики ядра TQE(MQ) соответствуют стандартному набору метрик tarantool. С перечнем метрик можно ознакомиться здесь

В дополнение реализованы метрики, специфичные для TQE(MQ):

  • mqee_tnt_duplicates_total – счетчик дубликатов

Метрики ядра TQE(MQ) доступны по адресу (endpoint):

$ curl localhost:8081/metrics

Ожидаемый ответ содержит перечень метрик, отражающих текущее состояние очереди сообщений TQE(MQ). Пример частичного вывода метрик ядра:

# HELP tnt_vinyl_disk_index_size Amount of index stored in files
# TYPE tnt_vinyl_disk_index_size gauge
tnt_vinyl_disk_index_size{alias="app"} 0
# HELP tnt_read_only Is instance read only
# TYPE tnt_read_only gauge
tnt_read_only{alias="app"} 0
# HELP tnt_vinyl_disk_data_size Amount of data stored in files
# TYPE tnt_vinyl_disk_data_size gauge
tnt_vinyl_disk_data_size{alias="app"} 0
...

Полный список метрик компонента ядра приведен в документе «Справочники».

Получение метрик модуля API

Метрики модуля API доступны по адресу (endpoint):

$ curl localhost:18184/metrics

Ожидаемый ответ содержит перечень метрик, отражающих текущее состояние модуля API. Пример частичного вывода метрик модуля API:

# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 5.3002e-05
go_gc_duration_seconds{quantile="0.25"} 7.574e-05
go_gc_duration_seconds{quantile="0.5"} 9.047e-05
go_gc_duration_seconds{quantile="0.75"} 0.000111856
go_gc_duration_seconds{quantile="1"} 0.000338263
go_gc_duration_seconds_sum 1.305067544
go_gc_duration_seconds_count 11608
...

Полный список метрик компонента модуля API приведен в документе «Справочники».

Установка компонентов TQE(MQ)

Установка компонентов TQE(MQ) выполняется с помощью инсталлятора Ansible Tarantool Enterprise (ATE). Подготовка ATE к работе и процедуры установки компонентов TQE(MQ) описаны в документации ATE.

Конфигурация компонентов TQE(MQ)

Конфигурация компонентов TQE(MQ) включает в себя раздельные настройки для ядра и для модуля API. Настройки описываются в формате YAML.

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

Конфигурация ядра

Конфигурация ядра состоит из нескольких секций, описываемых далее.

Конфигурация ядра основана на clusterwide-конфигурации.

Применить внесенные изменения в конфигурацию ядра можно с помощью выполнения HTTP-запроса.

Пример выполнения HTTP-запроса для создания конфигурации ядра:

$ curl -v "localhost:8081/admin/config" -X PUT --data-binary @- <<EOF
---
queues: ["queue1","queue2"]
creds:
  user: user
  pass: pass
...
EOF

Примечание: в запросе передаваемые параметры queue1,queue2 являются названиями создаваемых очередей сообщений

Конфигурация модуля API

Примечание: параметры конфигурации компонента модуля API должны быть определены до его запуска и запуска TQE(MQ) во избежание проблем с подключением к очереди сообщений и аварийным завершением работы модуля API.

YAML-файл конфигурации модуля API имеет несколько секций. Полный перечень настроек представлен в следующем примере:

app_name: MESSAGE_QUEUE_EE_API
app_version: test
core_host: 0.0.0.0
core_port: 18184
grpc_host: 0.0.0.0
grpc_port: 18182

publisher:
  enabled: true
  tarantool:
    user: user
    pass: pass
    queues:
      queue:
        connections:
          routers:
            - "localhost:3301"
consumer:
  enabled: true
  polling_timeout: 500ms
  tarantool:
    user: user
    pass: pass
    queues:
      queue:
        connections:
          storage-1:
            - "localhost:3301"

log:
  file: log.jsonl
  format: json
  level: info

Резервное копирование

Для резервного копирования данных TQE(MQ) необходимо выполнить процедуру бэкапа ядра (кластерного приложения) c помощью инсталлятора Ansible Tarantool Enterprise.

Found what you were looking for?
Feedback