Действия

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

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

(Новая страница: «===== '''Общее описание''' ===== Сервис предназначен для обеспечения контроля доступа к отчетам и элементам интерфейса системы kibana на основании стандартных механизмов безопасности системы Флора. ===== '''Термины и определения''' ===== Universal Report Service (URS) – сервис про...»)
 
 
(не показано 13 промежуточных версий 2 участников)
Строка 1: Строка 1:
===== '''Общее описание''' =====
===== '''Общее описание''' =====
Сервис предназначен для обеспечения контроля доступа к отчетам и элементам интерфейса системы kibana на основании стандартных механизмов безопасности системы Флора.
Сервис предназначен для обеспечения контроля доступа к отчетам и элементам интерфейса системы Kibana на основании стандартных механизмов безопасности системы Флора.
 
===== '''Термины и определения''' =====
===== '''Термины и определения''' =====
Universal Report Service (URS) – сервис проксирования запросов к отчетам kibana с авторизацией через Флору. Сервис позволяет фильтровать возвращаемые элементы интерфейса kibana согласно конфигурационным файлам
Universal Report Service (URS) – сервис проксирования запросов к отчетам Kibana с авторизацией через Флору. Сервис позволяет фильтровать возвращаемые элементы интерфейса Kibana согласно конфигурационным файлам.
 
===== '''Требования к окружению''' =====
===== '''Требования к окружению''' =====
Для нормальной работы сервис должен быть установлен на сервере с вэб частью Флоры. В процессе работы сервис взаимодействует со следующими сервисами:
Для нормальной работы сервис должен быть установлен на сервере с вэб частью Флоры. В процессе работы сервис взаимодействует со следующими сервисами:
    • вэб часть Флоры – настройка осуществляется в интерфейсе Флоры
   • вэб часть Флоры – настройка осуществляется в интерфейсе Флоры
    • Kibana – настраивается через файл параметров params.conf
 
    • elasticsearch - настраивается через файл параметров params.conf
   • Kibana – настраивается через файл параметров params.conf
    • MySQL - настраивается через файл параметров params.conf
 
===== '''Установка''' =====  
   • elasticsearch - настраивается через файл параметров params.conf
Дистрибутив распространяется в виде универсального установочного пакета и файлов настроек для kibana. Загрузите установочный пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом.
 
      Команда sudo./urs-<версия>-install  - при необходимости установит пакеты из стандартных репозиториев и установит сервис URS.
   • MySQL - настраивается через файл параметров params.conf.
          Не забудьте включить сервис в системе и запустить команду:
 
      sudo systemctl enable urs.service && sudo systemctl start urs.service
 
===== '''Установка URS''' =====  
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/urs&fileid=479 Дистрибутив] распространяется в виде универсального установочного пакета. Пакет может быть установлен в онлайн-режиме (при наличии доступа к репозиториям) или оффлайн (с предварительно собранными пакетами). Для установки в оффлайн-режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версия и ядро ОС) с доступом к репозиториям. Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку. Например, «Установить Ursus онлайн» <code>./urs-X.XXX-universal.sh -i -on</code>
-Установить urs оффлайн
<code>./urs-X.XXX-universal.sh -i -off</code>
-Собрать все пакеты для установки оффлайн urs и elasticsearch
<code>./urs-X.XXX-universal.sh --build</code>
-Собрать пакеты для установки оффлайн только elasticsearch
<code>./urs-X.XXX-universal.sh -b -e</code>
-Установить elasticsearch онлайн
<code>./urs-X.XXX-universal.sh -i -e -on</code>
-Установить elasticsearch оффлайн (необходимо предварительно собрать с ключами -b -e)
<code>./urs-X.XXX-universal.sh -i -e -off</code>
-Прописать параметры в конфиг файл elasticsearch
<code>./urs-X.XXX-universal.sh -e -c ip_elastic_host</code>
-Установить kibana оффлайн (не надо собирать с ключом -b)
<code>./urs-X.XXX-universal.sh -i -k -off</code>
-Прописать параметры в конфиг файл kibana
<code>./urs-X.XXX-universal.sh -k -c ip_kibana_host ip_elastic_host</code>
-Импортировать шаблоны kibana
<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 -x -d</code>
-Запаковать архив в скрипт
<code>./urs-X.XXX-universal.sh --pack urs-offline.tgz</code>
-Сжать каталог и запаковать архив в скрипт
<code>./urs-X.XXX-universal.sh --pack -d archive</code>
-Удалить внутренний архив из скрипта
<code>./urs-X.XXX-universal.sh --null</code>
 
Не забудьте включить сервис в системе и запустить команду:
 
<code>.sudo systemctl enable urs.service && sudo systemctl start urs.service</code>
 
Удостоверьтесь, что сервис стартовал. Разрешите доступ к порту 6180 на нужном интерфейсе по протоколу tcp.
==='''Настройка'''===
===='''Файл params.conf'''====
Основной файл конфигурации сервиса URS - /opt/urs/params.conf состоит из нескольких разделов:
*"proxy" – основной раздел
{| class="wikitable"
|+
!Параметр
!Назначение
|-
|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" — параметры подключения к базе данных с токенами авторизации и данными о звонках.
 
===='''Настройки интерфейса Флоры'''====
[[Файл:Urs1.jpg|мини|300x300пкс|<small>''Рис. 1 Настройка ролей в Kibana''</small>]]
Для правильной работы прокси сервера необходимо:
 
* '''настроить для ролей пользователей разрешения''' для доступа к отчетам и конструктору создания отчетов настройка -> безопасность -> роли:
 
* '''внести в настройки адрес страницы с отчетами и страницы конструктора отчетов''':
 
      Адрес страницы с отчетами можно сформировать, зайдя напрямую
 
(по стандартному порту Kibana) на страницу, выбрав и настроив параметры отчета,
 
затем скопировать адрес страницы, заменив в нем порт на 6180, а адрес на 127.0.0.1,
 
так как сервис URS рекомендуется располагать на одном сервере с веб-частью Флоры.
      Адрес страницы с конструктором отчетов можно сформировать аналогично адресу отчетов,
 
выбрав в качестве исходной страницы домашнюю страницу Kibana.
[[Файл:Urs2.jpg|мини|300x300пкс|''<small>Рис. 2 Настройка путей в Kibana</small>'']]
 
 
Настройки располагаются по пути:
 
настройки -> система -> основные -> настройка модулей.
 
 
[[Файл:Urs3.jpg|мини|300x300пкс|''<small>Рис. 3 Настройка часового пояса</small>'']]
 
==== '''Настройка kibana''' ====
В Kibana необходимо выставить часовой пояс UTC±0:00:
 
Также в Kibana необходимо импортировать файлы dashboard-calls.json
 
и index-patterns.json из комплекта поставки URS.
===='''Настройка отправки информации в  elasticsearch'''====
В URS можно настроить периодичность отправки. Периодичность может быть не чаще чем раз в час, чтобы не нагружать систему.
==='''Протоколы и порты'''===
Для своей работы сервис использует порт 6180/tcp.
==='''Журналы работы'''===
Для проверки состояния сервиса выполните <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" — параметры подключения к базе данных с токенами авторизации и данными о звонках.

Настройки интерфейса Флоры

Рис. 1 Настройка ролей в Kibana

Для правильной работы прокси сервера необходимо:

  • настроить для ролей пользователей разрешения для доступа к отчетам и конструктору создания отчетов настройка -> безопасность -> роли:
  • внести в настройки адрес страницы с отчетами и страницы конструктора отчетов:
     Адрес страницы с отчетами можно сформировать, зайдя напрямую 
(по стандартному порту Kibana) на страницу, выбрав и настроив параметры отчета, 
затем скопировать адрес страницы, заменив в нем порт на 6180, а адрес на 127.0.0.1, 
так как сервис URS рекомендуется располагать на одном сервере с веб-частью Флоры.
     Адрес страницы с конструктором отчетов можно сформировать аналогично адресу отчетов, 
выбрав в качестве исходной страницы домашнюю страницу Kibana.
Рис. 2 Настройка путей в Kibana


Настройки располагаются по пути:

настройки -> система -> основные -> настройка модулей.


Рис. 3 Настройка часового пояса

Настройка 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.