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.