URS. Руководство администратора: различия между версиями
Материал из Флора AI
Нет описания правки Метка: визуальный редактор отключён |
E.Elagina (обсуждение | вклад) |
||
| (не показано 6 промежуточных версий 2 участников) | |||
| Строка 1: | Строка 1: | ||
===== '''Общее описание''' ===== | ===== '''Общее описание''' ===== | ||
Сервис предназначен для обеспечения контроля доступа к отчетам и элементам интерфейса системы | Сервис предназначен для обеспечения контроля доступа к отчетам и элементам интерфейса системы Kibana на основании стандартных механизмов безопасности системы Флора. | ||
===== '''Термины и определения''' ===== | ===== '''Термины и определения''' ===== | ||
Universal Report Service (URS) – сервис проксирования запросов к отчетам | Universal Report Service (URS) – сервис проксирования запросов к отчетам Kibana с авторизацией через Флору. Сервис позволяет фильтровать возвращаемые элементы интерфейса Kibana согласно конфигурационным файлам. | ||
===== '''Требования к окружению''' ===== | ===== '''Требования к окружению''' ===== | ||
Для нормальной работы сервис должен быть установлен на сервере с вэб частью Флоры. В процессе работы сервис взаимодействует со следующими сервисами: | Для нормальной работы сервис должен быть установлен на сервере с вэб частью Флоры. В процессе работы сервис взаимодействует со следующими сервисами: | ||
• вэб часть Флоры – настройка осуществляется в интерфейсе Флоры | |||
• Kibana – настраивается через файл параметров params.conf | |||
===== '''Установка''' ===== | • elasticsearch - настраивается через файл параметров params.conf | ||
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/urs&fileid=479 Дистрибутив] распространяется в виде универсального установочного пакета. | |||
Пакет может быть установлен в | • MySQL - настраивается через файл параметров params.conf. | ||
Для установки в оффлайн режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версия и ядро ОС) с доступом к репозиториям. | |||
Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку. | |||
Например | |||
===== '''Установка URS''' ===== | |||
<code>./urs-X.XXX-universal.sh -i -on</code> | [https://cloud.connect2ai.net/index.php/apps/files/?dir=/urs&fileid=479 Дистрибутив] распространяется в виде универсального установочного пакета. Пакет может быть установлен в онлайн-режиме (при наличии доступа к репозиториям) или оффлайн (с предварительно собранными пакетами). Для установки в оффлайн-режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версия и ядро ОС) с доступом к репозиториям. Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку. Например, «Установить Ursus онлайн» <code>./urs-X.XXX-universal.sh -i -on</code> | ||
-Установить urs оффлайн | -Установить urs оффлайн | ||
<code>./urs-X.XXX-universal.sh -i -off</code> | <code>./urs-X.XXX-universal.sh -i -off</code> | ||
| Строка 25: | Строка 27: | ||
-Установить elasticsearch онлайн | -Установить elasticsearch онлайн | ||
<code>./urs-X.XXX-universal.sh -i -e -on</code> | <code>./urs-X.XXX-universal.sh -i -e -on</code> | ||
-Установить elasticsearch оффлайн(необходимо предварительно собрать с ключами -b -e) | -Установить elasticsearch оффлайн (необходимо предварительно собрать с ключами -b -e) | ||
<code>./urs-X.XXX-universal.sh -i -e -off</code> | <code>./urs-X.XXX-universal.sh -i -e -off</code> | ||
-Прописать параметры в конфиг файл elasticsearch | -Прописать параметры в конфиг файл elasticsearch | ||
<code>./urs-X.XXX-universal.sh -e -c ip_elastic_host</code> | <code>./urs-X.XXX-universal.sh -e -c ip_elastic_host</code> | ||
-Установить kibana оффлайн(не надо собирать с | -Установить kibana оффлайн (не надо собирать с ключом -b) | ||
<code>./urs-X.XXX-universal.sh -i -k -off</code> | <code>./urs-X.XXX-universal.sh -i -k -off</code> | ||
-Прописать параметры в конфиг файл kibana | -Прописать параметры в конфиг файл kibana | ||
| Строка 35: | Строка 37: | ||
-Импортировать шаблоны kibana | -Импортировать шаблоны kibana | ||
<code>./urs-X.XXX-universal.sh -k -it ip_kibana_host</code> | <code>./urs-X.XXX-universal.sh -k -it ip_kibana_host</code> | ||
-Скопировать внутренний архив рядом со скриптом не распаковывая в папку | -Скопировать внутренний архив рядом со скриптом, не распаковывая в папку | ||
<code>./urs-X.XXX-universal.sh --extract</code> | <code>./urs-X.XXX-universal.sh --extract</code> | ||
-Распаковать внутренний архив рядом со скриптом в каталог | -Распаковать внутренний архив рядом со скриптом в каталог | ||
| Строка 47: | Строка 49: | ||
Не забудьте включить сервис в системе и запустить команду: | Не забудьте включить сервис в системе и запустить команду: | ||
<code>.sudo systemctl enable urs.service && sudo systemctl start urs.service</code> | <code>.sudo systemctl enable urs.service && sudo systemctl start urs.service</code> | ||
Удостоверьтесь, что сервис стартовал. Разрешите доступ к порту 6180 на нужном интерфейсе по протоколу tcp. | Удостоверьтесь, что сервис стартовал. Разрешите доступ к порту 6180 на нужном интерфейсе по протоколу tcp. | ||
==='''Настройка'''=== | ==='''Настройка'''=== | ||
| Строка 59: | Строка 63: | ||
|- | |- | ||
|ip,port | |ip,port | ||
|адрес и порт на котором сервис слушает запросы | |адрес и порт, на котором сервис слушает запросы | ||
|- | |- | ||
|useAuth | |useAuth | ||
| Строка 76: | Строка 80: | ||
|подключает к страничке с отчетами стили из файла "user.css" | |подключает к страничке с отчетами стили из файла "user.css" | ||
|} | |} | ||
*"cron" | |||
*"kibana" — адрес и порт сервиса Kibana. Как правило располагается на другом сервере. | * "cron" — раздел с настройками периодичности отправки данных о звонках в Elasticsearch (по умолчанию ежедневно, каждые 3600 секунд). | ||
*"elasticsearch" — адрес и порт сервиса | * "kibana" — адрес и порт сервиса Kibana. Как правило, располагается на другом сервере. | ||
*"MySQL" — параметры подключения к базе данных с токенами авторизации и данными о звонках | * "elasticsearch" — адрес и порт сервиса Elasticsearch. Как правило, располагается на другом сервере. | ||
* "MySQL" — параметры подключения к базе данных с токенами авторизации и данными о звонках. | |||
===='''Настройки интерфейса Флоры'''==== | ===='''Настройки интерфейса Флоры'''==== | ||
[[Файл:Urs1.jpg|мини|300x300пкс|<small>''Рис. 1 Настройка ролей в Kibana''</small>]] | |||
Для правильной работы прокси сервера необходимо: | Для правильной работы прокси сервера необходимо: | ||
*'''внести в настройки адрес страницы с отчетами и страницы конструктора отчетов''': | * '''настроить для ролей пользователей разрешения''' для доступа к отчетам и конструктору создания отчетов настройка -> безопасность -> роли: | ||
Адрес страницы с отчетами можно сформировать зайдя напрямую (по стандартному порту | |||
и настроив параметры отчета, затем скопировать адрес страницы заменив в | * '''внести в настройки адрес страницы с отчетами и страницы конструктора отчетов''': | ||
так как сервис URS рекомендуется располагать на одном сервере с | |||
Адрес страницы | Адрес страницы с отчетами можно сформировать, зайдя напрямую | ||
(по стандартному порту Kibana) на страницу, выбрав и настроив параметры отчета, | |||
затем скопировать адрес страницы, заменив в нем порт на 6180, а адрес на 127.0.0.1, | |||
так как сервис URS рекомендуется располагать на одном сервере с веб-частью Флоры. | |||
Адрес страницы с конструктором отчетов можно сформировать аналогично адресу отчетов, | |||
[[Файл:Urs2.jpg| | выбрав в качестве исходной страницы домашнюю страницу Kibana. | ||
[[Файл:Urs2.jpg|мини|300x300пкс|''<small>Рис. 2 Настройка путей в Kibana</small>'']] | |||
Настройки располагаются по пути: | |||
настройки -> система -> основные -> настройка модулей. | |||
[[Файл:Urs3.jpg|мини|300x300пкс|''<small>Рис. 3 Настройка часового пояса</small>'']] | |||
==== '''Настройка kibana''' ==== | ==== '''Настройка kibana''' ==== | ||
В Kibana необходимо выставить часовой пояс UTC±0:00: | В Kibana необходимо выставить часовой пояс UTC±0:00: | ||
Также в Kibana необходимо импортировать файлы dashboard-calls.json | |||
Также в Kibana необходимо импортировать файлы dashboard-calls.json | |||
и index-patterns.json из комплекта поставки URS. | и index-patterns.json из комплекта поставки URS. | ||
===='''Настройка отправки информации в elasticsearch'''==== | ===='''Настройка отправки информации в elasticsearch'''==== | ||
В URS можно настроить | В URS можно настроить периодичность отправки. Периодичность может быть не чаще чем раз в час, чтобы не нагружать систему. | ||
==='''Протоколы и порты'''=== | ==='''Протоколы и порты'''=== | ||
Для своей работы сервис использует порт 6180/tcp. | Для своей работы сервис использует порт 6180/tcp. | ||
==='''Журналы работы'''=== | ==='''Журналы работы'''=== | ||
Для проверки состояния сервиса выполните <code>sudo systemctl status urs</code>. Журнал ошибок пишется в системный журнал, для | Для проверки состояния сервиса выполните <code>sudo systemctl status urs</code>. Журнал ошибок пишется в системный журнал, для просмотра можно воспользоваться командой <code>sudo journalctl -u urs</code> | ||
Для увеличения информативности журналов можно выполнить от суперпользователя команду: | |||
<code>sed -i 's/log-level error/log-level debug/g' /etc/systemd/system/urs.service && systemctl daemon-reload && systemctl restart urs.service</code> | |||
При возникновении проблем в работе сервиса и недостаточной информативности журналов, можно запустить сервис вручную с привилегиями суперпользователя и выводом информации в stdout: | |||
<code>systemctl stop urs.service && source /opt/urs/pve/bin/activate && cd /opt/urs/ && python3 api.py && deactivate</code> | |||
Завершить - <code>Ctrl + C</code> | |||
Журналы отправки данных в elasticsearch расположены по адресам: | |||
<code>/opt/urs/import/ucdialogs.py.log</code> | |||
<code>/opt/urs/import/ucinteractions.py.log</code> | |||
==='''Удаление и обновление URS'''=== | |||
Для удаления выполните команду: | |||
<code>/opt/urs/uninstall</code> | |||
Команда удалит сервис и рабочий каталог, включая все файлы конфигурации. Для обновления запустите скрипт установки, как указано в п. 4. При этом обновление не изменяет файл params.conf. | |||
Текущая версия от 12:17, 20 февраля 2025
Общее описание
Сервис предназначен для обеспечения контроля доступа к отчетам и элементам интерфейса системы Kibana на основании стандартных механизмов безопасности системы Флора.
Термины и определения
Universal Report Service (URS) – сервис проксирования запросов к отчетам Kibana с авторизацией через Флору. Сервис позволяет фильтровать возвращаемые элементы интерфейса Kibana согласно конфигурационным файлам.
Требования к окружению
Для нормальной работы сервис должен быть установлен на сервере с вэб частью Флоры. В процессе работы сервис взаимодействует со следующими сервисами:
• вэб часть Флоры – настройка осуществляется в интерфейсе Флоры
• Kibana – настраивается через файл параметров params.conf
• elasticsearch - настраивается через файл параметров params.conf
• MySQL - настраивается через файл параметров params.conf.
Установка URS
Дистрибутив распространяется в виде универсального установочного пакета. Пакет может быть установлен в онлайн-режиме (при наличии доступа к репозиториям) или оффлайн (с предварительно собранными пакетами). Для установки в оффлайн-режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версия и ядро ОС) с доступом к репозиториям. Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку. Например, «Установить Ursus онлайн» ./urs-X.XXX-universal.sh -i -on
-Установить urs оффлайн
./urs-X.XXX-universal.sh -i -off
-Собрать все пакеты для установки оффлайн urs и elasticsearch
./urs-X.XXX-universal.sh --build
-Собрать пакеты для установки оффлайн только elasticsearch
./urs-X.XXX-universal.sh -b -e
-Установить elasticsearch онлайн
./urs-X.XXX-universal.sh -i -e -on
-Установить elasticsearch оффлайн (необходимо предварительно собрать с ключами -b -e)
./urs-X.XXX-universal.sh -i -e -off
-Прописать параметры в конфиг файл elasticsearch
./urs-X.XXX-universal.sh -e -c ip_elastic_host
-Установить kibana оффлайн (не надо собирать с ключом -b)
./urs-X.XXX-universal.sh -i -k -off
-Прописать параметры в конфиг файл kibana
./urs-X.XXX-universal.sh -k -c ip_kibana_host ip_elastic_host
-Импортировать шаблоны kibana
./urs-X.XXX-universal.sh -k -it ip_kibana_host
-Скопировать внутренний архив рядом со скриптом, не распаковывая в папку
./urs-X.XXX-universal.sh --extract
-Распаковать внутренний архив рядом со скриптом в каталог
./urs-X.XXX-universal.sh -x -d
-Запаковать архив в скрипт
./urs-X.XXX-universal.sh --pack urs-offline.tgz
-Сжать каталог и запаковать архив в скрипт
./urs-X.XXX-universal.sh --pack -d archive
-Удалить внутренний архив из скрипта
./urs-X.XXX-universal.sh --null
Не забудьте включить сервис в системе и запустить команду:
.sudo systemctl enable urs.service && sudo systemctl start urs.service
Удостоверьтесь, что сервис стартовал. Разрешите доступ к порту 6180 на нужном интерфейсе по протоколу tcp.
Настройка
Файл params.conf
Основной файл конфигурации сервиса URS - /opt/urs/params.conf состоит из нескольких разделов:
- "proxy" – основной раздел
| Параметр | Назначение |
|---|---|
| ip,port | адрес и порт, на котором сервис слушает запросы |
| useAuth | для совместимости с устаревшими версиями ПО, которые не поддерживают авторизацию (принимает значение 0 в таком случае) |
| replace | раздел настроек фильтров, состоит по умолчанию с 3 подразделов: |
| show_module_reportbuilder | подключает к страничке создания отчетов стили из файла "admin.css" |
| kbnGlobalNav-isOpen | в этом разделе отключается панель навигации kibana |
| show_module_reports | подключает к страничке с отчетами стили из файла "user.css" |
- "cron" — раздел с настройками периодичности отправки данных о звонках в Elasticsearch (по умолчанию ежедневно, каждые 3600 секунд).
- "kibana" — адрес и порт сервиса Kibana. Как правило, располагается на другом сервере.
- "elasticsearch" — адрес и порт сервиса Elasticsearch. Как правило, располагается на другом сервере.
- "MySQL" — параметры подключения к базе данных с токенами авторизации и данными о звонках.
Настройки интерфейса Флоры
Для правильной работы прокси сервера необходимо:
- настроить для ролей пользователей разрешения для доступа к отчетам и конструктору создания отчетов настройка -> безопасность -> роли:
- внести в настройки адрес страницы с отчетами и страницы конструктора отчетов:
Адрес страницы с отчетами можно сформировать, зайдя напрямую
(по стандартному порту Kibana) на страницу, выбрав и настроив параметры отчета,
затем скопировать адрес страницы, заменив в нем порт на 6180, а адрес на 127.0.0.1,
так как сервис URS рекомендуется располагать на одном сервере с веб-частью Флоры.
Адрес страницы с конструктором отчетов можно сформировать аналогично адресу отчетов,
выбрав в качестве исходной страницы домашнюю страницу Kibana.
Настройки располагаются по пути:
настройки -> система -> основные -> настройка модулей.
Настройка kibana
В Kibana необходимо выставить часовой пояс UTC±0:00:
Также в Kibana необходимо импортировать файлы dashboard-calls.json
и index-patterns.json из комплекта поставки URS.
Настройка отправки информации в elasticsearch
В URS можно настроить периодичность отправки. Периодичность может быть не чаще чем раз в час, чтобы не нагружать систему.
Протоколы и порты
Для своей работы сервис использует порт 6180/tcp.
Журналы работы
Для проверки состояния сервиса выполните sudo systemctl status urs. Журнал ошибок пишется в системный журнал, для просмотра можно воспользоваться командой sudo journalctl -u urs
Для увеличения информативности журналов можно выполнить от суперпользователя команду:
sed -i 's/log-level error/log-level debug/g' /etc/systemd/system/urs.service && systemctl daemon-reload && systemctl restart urs.service
При возникновении проблем в работе сервиса и недостаточной информативности журналов, можно запустить сервис вручную с привилегиями суперпользователя и выводом информации в stdout:
systemctl stop urs.service && source /opt/urs/pve/bin/activate && cd /opt/urs/ && python3 api.py && deactivate
Завершить - Ctrl + C
Журналы отправки данных в elasticsearch расположены по адресам:
/opt/urs/import/ucdialogs.py.log
/opt/urs/import/ucinteractions.py.log
Удаление и обновление URS
Для удаления выполните команду:
/opt/urs/uninstall
Команда удалит сервис и рабочий каталог, включая все файлы конфигурации. Для обновления запустите скрипт установки, как указано в п. 4. При этом обновление не изменяет файл params.conf.