Действия

RES. Руководство администратора: различия между версиями

Материал из Флора AI

Строка 91: Строка 91:
==== '''Установка и настройка kibana + elasticsearch''' ====
==== '''Установка и настройка kibana + elasticsearch''' ====


Для работы res нужно установить и настроить elasticsearch и kibana.
Для работы res нужно установить и соответствующим образом настроить elasticsearch и kibana. Без настроенного подключения к рабочим elasticsearch и kibana RES не стартует и пишет в логи ошибку.
 
Пример установки на один хост, без кластера.
 
Устанавливаем elasticsearch
 
<code><small>dpkg -i elasticsearch-8.15.3-amd64.deb</small></code>
 
Инсталлятор должен выдать
 
<small><code>--------------------------- Security autoconfiguration information ------------------------------</code></small>
 
.........
 
<small><code>The generated password for the elastic built-in superuser is : j9Of2HyCHcK55ElgziyW</code></small>
 
.........
 
<small><code>-------------------------------------------------------------------------------------------------</code></small>
 
Копируем пароль - он будет использован в разделе servers.elastic.password файла конфигурации RES.
 
Генерируем CA
 
<code><small>/usr/share/elasticsearch/bin/elasticsearch-certutil ca --pem --out /etc/elasticsearch/certs/ca.zip;</small></code>
 
<code><small>cd /etc/elasticsearch/certs/;</small></code>
 
<code><small>unzip ca.zip;</small></code>
 
С использованием CA генерируем сертификаты для elastik
 
<small>/usr/share/elasticsearch/bin/elasticsearch-certutil cert \</small>
 
<small>--out /etc/elasticsearch/certs/elastic.zip \</small>
 
<small>--name elastic \</small>
 
<small>--ip 10.2.0.30, 127.0.0.1 \</small>
 
<small>--ca-cert /etc/elasticsearch/certs/ca/ca.crt \</small>
 
<small>--ca-key /etc/elasticsearch/certs/ca/ca.key \</small>
 
<small>--pem;</small>
 
Правим конфиг elasticsearch <small><code>/etc/elasticsearch/elasticsearch.yml</code></small>
 
Результат:
 
<small>cluster.name: res # имя кластера - призвольно</small>
 
<small>path.data: /var/lib/elasticsearch</small>
 
<small>path.logs: /var/log/elasticsearch</small>
 
<small>network.host: deb-elkibana.local</small>
 
<small>http.port: 9200</small>
 
<small>xpack.security.enabled: true</small>
 
<small>xpack.security.enrollment.enabled: true</small>
 
<small>xpack.security.http.ssl:</small>
 
<small>  enabled: true</small>
 
<small>  key: /etc/elasticsearch/certs/elastic/elastic.key</small>
 
<small>  certificate: /etc/elasticsearch/certs/elastic/elastic.crt</small>
 
<small>  certificate_authorities: /etc/elasticsearch/certs/ca/ca.crt</small>
 
<small>xpack.security.transport.ssl:</small>
 
<small>  enabled: true</small>
 
<small>  verification_mode: certificate</small>
 
<small>  keystore.path: certs/transport.p12</small>
 
<small>  truststore.path: certs/transport.p12</small>
 
<small>cluster.initial_master_nodes: ["hostname"] # здесь подставить имя хроста</small>
 
<small>http.host: 0.0.0.0</small>


==='''Протоколы и порты'''===
==='''Протоколы и порты'''===

Версия от 10:59, 1 ноября 2024

Общее описание

Сервис предназначен для обеспечения доступа к отчетам kibana в интерфейсе URS и отправки в elasticsearch статистики работы роботов ses.

Термины и определения

Report Engine Service (RES) – сервис проксирования запросов к отчетам kibana в интерфейсе UPS. Сервис отображает все отчеты kibana.

Требования к окружению

Для нормальной работы сервис должен быть установлен на сервере с UPS. В процессе работы сервис взаимодействует со следующими сервисами:

   • UPS – настройка осуществляется через файл /opt/ups/config.json
   • Kibana – настраивается через файл /opt/res/config.json. kibana может быть расположена на другом хосте
   • elasticsearch - настраивается через файл /opt/res/config.json. elasticsearch может быть расположена на другом хосте
   • SES – настраивается через файл /opt/res/config.json. SES может быть расположена на другом хосте
Установка RES

Раздел в разработке

Настройка

Файл config.json

Настройка параметров сервиса res производится в файле /opt/res/config.json

Описание параметров приведено в таблице

Параметр По умолчанию Назначение
port 6189 порт api интерфейса, используется в UPS - настройка servers.res в конфиге UPS
servers.ses.urls "http://127.0.0.1:6190/ses" список серверов ses для получения статистики
servers.ses.timers.connect 60 таймаут на подключение к серверам ses. При превышении в журнал будет записана ошибка таймаута
servers.ses.timers.read 120 таймаут на чтение статистики с серверов ses. При превышении в журнал будет записана ошибка таймаута
servers.elastic.url "https://10.2.0.30:9200" сервер elasticsearch для выгрузки статистики
servers.elastic.username "elastic" пользователь elasticsearch
servers.elastic.password " " пароль пользователя elasticsearch
servers.elastic.timers.connect 60 таймаут на подключение к серверам elasticsearch. При превышении в журнал будет записана ошибка таймаута
servers.elastic.timers.read 120 таймаут на выгрузку статистики на сервер elasticsearch. При превышении в журнал будет записана ошибка таймаута
servers.kibana.url "https://10.2.0.30:5601" сервер kibana для получения отчетов
servers.kibana.timers.connect 60 таймаут на подключение к серверу kibana. При превышении в журнал будет записана ошибка таймаута
servers.kibana.timers.read 120 таймаут на чтение отчетов с сервера kibana. При превышении в журнал будет записана ошибка таймаута
loader.time ["05:00", "17:00"] ежедневное расписание загрузки статистики
logs.path "logs/" папка хранения журналов
logs.backups 10 максимальное количество журнальных файлов
logs.maxSize 5242880 максимальный размер журнального файла

Установка и настройка kibana + elasticsearch

Для работы res нужно установить и соответствующим образом настроить elasticsearch и kibana. Без настроенного подключения к рабочим elasticsearch и kibana RES не стартует и пишет в логи ошибку.

Пример установки на один хост, без кластера.

Устанавливаем elasticsearch

dpkg -i elasticsearch-8.15.3-amd64.deb

Инсталлятор должен выдать

--------------------------- Security autoconfiguration information ------------------------------

.........

The generated password for the elastic built-in superuser is : j9Of2HyCHcK55ElgziyW

.........

-------------------------------------------------------------------------------------------------

Копируем пароль - он будет использован в разделе servers.elastic.password файла конфигурации RES.

Генерируем CA

/usr/share/elasticsearch/bin/elasticsearch-certutil ca --pem --out /etc/elasticsearch/certs/ca.zip;

cd /etc/elasticsearch/certs/;

unzip ca.zip;

С использованием CA генерируем сертификаты для elastik

/usr/share/elasticsearch/bin/elasticsearch-certutil cert \

--out /etc/elasticsearch/certs/elastic.zip \

--name elastic \

--ip 10.2.0.30, 127.0.0.1 \

--ca-cert /etc/elasticsearch/certs/ca/ca.crt \

--ca-key /etc/elasticsearch/certs/ca/ca.key \

--pem;

Правим конфиг elasticsearch /etc/elasticsearch/elasticsearch.yml

Результат:

cluster.name: res # имя кластера - призвольно

path.data: /var/lib/elasticsearch

path.logs: /var/log/elasticsearch

network.host: deb-elkibana.local

http.port: 9200

xpack.security.enabled: true

xpack.security.enrollment.enabled: true

xpack.security.http.ssl:

  enabled: true

  key: /etc/elasticsearch/certs/elastic/elastic.key

  certificate: /etc/elasticsearch/certs/elastic/elastic.crt

  certificate_authorities: /etc/elasticsearch/certs/ca/ca.crt

xpack.security.transport.ssl:

  enabled: true

  verification_mode: certificate

  keystore.path: certs/transport.p12

  truststore.path: certs/transport.p12

cluster.initial_master_nodes: ["hostname"] # здесь подставить имя хроста

http.host: 0.0.0.0

Протоколы и порты

Сервис использует порты 6157/tcp, 6170/tcp для реверс-прокси и порт 6189/tcp для доступа к api интерфейсу. Порт доступа к api может быть изменен в конфигурационном файлк

Журналы работы

Для проверки состояния сервиса выполните sudo systemctl status res.

Журнал ошибок пишется в системный журнал, для просмотра можно воспользоваться командой sudo journalctl -u res

Для увеличения информативности журналов можно выполнить от суперпользователя команду: sed -i 's/log-level error/log-level debug/g' /etc/systemd/system/res.service && systemctl daemon-reload && systemctl restart res.service

Удаление и обновление URS

Для удаления выполните команду:

/opt/res/uninstall

Команда удалит сервис и рабочий каталог, включая все файлы конфигурации. Для обновления запустите скрипт установки как указано в п 4. При этом, обновление не изменяет файл /opt/res/config.json.