7.2 Встановлення та конфігурація Серверу аналізу транзакцій
Сервер аналізу транзакцій складається з наступних програмних компонентів:
- Elasticsearch, що збирає та накопичує відомості про здійснені транзакції;
- Kibana, що виконує функції інтерфейсу користувача та відображає накопичені відомості за критеріями пошуку користувача.
Схема мережевої взаємодії сервера аналізу транзакцій наведена на рисунку 7.1.
З метою організації мережевої взаємодії Оператор (або Суб'єкт електронної взаємодії, якщо він самостійно встановлює та адмініструє локальні компоненти) має забезпечити можливість мережевого з’єднання ШБО з сервером аналізу транзакцій на порт TCP 9200 (у тому числі, налаштувати вбудований міжмережевий екран на шлюзі безпечного обміну, якщо він був увімкнений).
Також Адміністратор локальних компонентів (системний адміністратор) повинен мати можливість підключатися до серверу аналізу транзакцій на порт TCP 5601, на якому розміщена служба вебінтерфейсу аналізу транзакцій.
Рисунок 7.1 – Схема мережевої взаємодії сервера аналізу транзакцій
Під час інсталяції сервер аналізу транзакцій повинен мати підключення до мережі Інтернет з метою встановлення програмних пакетів з програмного репозиторію системи «Трембіта».
Інсталяція та всі відповідні налаштування виконуються Адміністратором локальних компонентів. Кінцевим користувачем, що працюватиме з сервером аналізу транзакцій через вебінтерфейс є Відповідальний за аналіз транзакцій.
7.2.1. Інсталяція сервера аналізу транзакцій
Інсталяційні пакети Elasticsearch і Kibana входять в комплект компоненту uxp‑monitor‑analytics.
Щоб встановити uxp‑monitor‑analytics потрібно виконати наступні дії на сервері:
1. Закрити доступ до сторонніх репозиторіїв за допомогою виконання наступної команди:
sudo sed -i 's/^[A-Za-z0-9]/#&/' /etc/apt/sources.list
2. Додати у операційну систему репозиторій з пакетами системи «Трембіта»:
echo 'deb https://project-repo.trembita.gov.ua:8081/repository/trembita-member_archive/ certified main' | sudo tee -a /etc/apt/sources.list
Перевірити результат виконання команд можна за допомогою текстового редактора nano, відкривши файл на редагування за допомогою виконання наступної команди:
sudo nano /etc/apt/sources.list
3. Додати GPG ключ репозиторію за допомогою виконання наступної команди:
sudo wget -O - https://project-repo.trembita.gov.ua:8081//public-keys/public.key.txt | sudo apt-key add -
Якщо команду виконано успішно, буде виведено повідомлення «ОК».
4. Провести системне очищення та оновити списки доступних пакетів за допомогою послідовного виконання наступних команд:
sudo apt autoremove && sudo apt clean && sudo apt autoclean
sudo apt update
5. Встановити пакет uxp‑monitor‑analytics на сервері аналізу транзакцій за допомогою виконання наступної команди:
sudo apt install -y uxp-monitor-analytics
6. Додати Elasticsearch і Kibana до автозапуску після встановлення за допомогою послідовного виконання наступних команд:
sudo systemctl enable kibana
sudo systemctl enable elasticsearch
7. Запустити сервіси вручну за допомогою послідовного виконання наступних команд:
sudo service kibana start
sudo service elasticsearch start
7.2.2. Конфігурація Elasticsearch і Kibana
Перед початком роботи служби Elasticsearch і Kibana повинні бути налаштовані Адміністратором локальних компонентів (системним адміністратором). Для цього необхідно:
1. Відкрити на редагування файл /etc/elasticsearch/elasticsearch.yml на сервері аналізу транзакцій зі встановленим програмним забезпеченням пакету uxp‑monitor‑analytics за допомогою виконання наступної команди:
sudo nano /etc/elasticsearch/elasticsearch.yml
2. Перевірити наявність наступних рядків в даному файлі:
cluster.name: uxp
node.name: ${HOSTNAME}
network.host: 0.0.0.0
cluster.initial_master_nodes: ["${HOSTNAME}"]
search.max_buckets: 20000
3. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», далі буде відображено повідомлення про підтвердження збереження змін – необхідно натиснути «Y», а потім «Enter» для збереження.
4. Відкрити на редагування файл /etc/kibana/kibana.yml за допомогою виконання наступної команди:
sudo nano /etc/kibana/kibana.yml
5. Замінити наступний рядок:
#server.host: «localhost»
на:
server.host: 0.0.0.0
6. Закрити редактор, натиснувши «Ctrl+X», після чого буде відображено повідомлення-підтвердження збереження змін – необхідно натиснути «Y», а потім «Enter» для збереження відомостей.
7. Перезавантажити сервіси elasticsearch та kibana шляхом послідовного виконання наступних команд:
sudo service elasticsearch restart
sudo service kibana restart
Для перевірки працездатності компоненту Адміністратору локальних компонентів необхідно перейти до вебінтерфейсу серверу аналізу транзакцій за посиланням: http://[YOUR-EK-SERVER-IP]:5601/, де [YOUR-EK-SERVER-IP] – адреса відповідного сервера, на якому встановлено ПЗ серверу аналізу транзакцій.
7.2.3. Налаштування підключення шлюзу безпечного обміну до серверу аналізу транзакцій
Конфігурація підключення шлюзу безпечного обміну до серверу аналізу транзакцій налаштовується на ШБО у файлі /etc/uxp/monitor-agent.ini.
Для налаштування підключення Адміністратору локальних компонентів (системному адміністратору) необхідно виконати наступні дії на ШБО:
1. Відкрити на редагування файл /etc/uxp/monitor-agent.ini за допомогою виконання наступної команди:
sudo nano /etc/uxp/monitor-agent.ini
2. Розкоментувати наступні рядки (видалити символ «#» на початку рядку) і встановити наступні параметри:
[elasticsearch]
address = [YOUR-EK-SERVER-IP]
port = 9200
cluster_name = uxp
index = uxp
де [YOUR-EK-SERVER-IP] – адреса відповідного сервера, де встановлено програмне забезпечення серверу аналізу транзакцій.
3. Закрити редактор, натиснувши набір клавіш «Ctrl+X», після чого буде відображено повідомлення-підтвердження збереження змін – необхідно натиснути «Y», а потім «Enter» для збереження відомостей.
Для застосування нової конфігурації Elasticsearch на шлюзі безпечного обміну потрібно виконати наступну команду:
sudo reload-monitor-agent
7.2.4. Налаштування візуалізації статистики на сервері аналізу транзакцій
7.2.4.1. Налаштування шаблону індексу
Налаштування шаблону індексу на сервері аналізу транзакцій здійснюється Відповідальним за аналіз транзакцій.
Примітка. Індекс в Elasticsearch з'явиться не одразу, а тільки після початку обміну повідомленнями між ШБО Учасника та іншими ШБО. Про це необхідно пам’ятати під час налаштувань.
Для налаштування шаблону Відповідальному за аналіз транзакцій необхідно виконати наступні дії в вебінтерфейсі серверу аналізу транзакцій, відкривши його за посиланням: http://[YOUR-EK-SERVER-IP]:5601/:
1. Перейти в розділ «Management -> Index Patterns»;
2. В полі «Index pattern» ввести: uxp*;
В полі «Time Filter field» name має з’явитися значення: monitoring_data_ts;
3. Натиснути на кнопку «Create».
Примітка. Якщо після введення «uxp*» з’являється повідомлення «Unable to fetch mapping. Do you have indices matching the pattern» - це означає, що до сервера аналізу транзакцій від ШБО ще не надходило відомостей про виклики сервісів. Потрібно зробити запити через ШБО, після чого він має надіслати статистику здійснених транзакцій.
Індикатором успішного створення індексу може бути повідомлення, що містить поле «Creating index (uxp) for Elasticsearch» у файлі журналу /var/log/uxp/proxymonitoragent.log на ШБО.
Після цього необхідно повторити процедуру створення індексу на сервері аналізу транзакцій. Статистика відправляється з ШБО не одразу, а через певні інтервали часу.
Подивитись останні отримані відомості у простому форматі можна на вкладці «Discover» інструменту Kibana.
7.2.4.2. Налаштування візуалізації
Пакет uxp-monitor-analytics містить деякі приклади візуалізації транзакцій. Ці приклади знаходяться в директорії /usr/share/doc/uxp-monitor-analytics/examples/kibana-7.x/operational-data, а саме:
- request-total-by-security-server.json – візуалізує загальну кількість запитів, здійснених ШБО;
- request-total-by-security-server-by-service.json – візуалізує загальну кількість запитів, здійснених через певний ШБО і певний сервіс;
- succeeded-requests-by-service.json – візуалізує кількість вдалих запитів до сервісу.
Для налаштування візуалізації необхідно виконати наступні дії в вебінтерфейсі серверу аналізу транзакцій:
1. Скопіювати зазначені вище файли із сервера аналізу транзакцій в зручну директорію на робочій станції Відповідальної особи за аналіз транзакцій, використовуючи WinSCP або іншу програму .
2. Зайти в розділ Management -> Saved Objects вебінтерфейсу Kibana:
3. Натиснути на кнопку «Import», щоб імпортувати дані файли в Kibana.
4. Обрати необхідний файл серед збережених на диску. У діалоговому вікні натиснути на кнопку «Yes, overwrite all», а в наступному вікні – «Confirm all changes». Імпортований файл повинен з'явитися у вкладці «Visualizations».
5. Імпортувати всі файли в систему.
7.2.4.3. Перевірка візуалізації
Для перевірки візуалізації на серверу аналізу транзакцій необхідно зробити наступні дії:
1. Відкрити вебінтерфейс серверу аналізу транзакцій за посиланням: http://[YOUR-EK-SERVER-IP]:5601/.
2. Перейти в розділ «Visualize», де буде відображено імпортовані приклади візуалізації статистики.
3. Натиснути на кнопку «Requests Good by Service» для того, щоб відобразити статистику за сервісами.
Якщо дані статистики не відображаються, необхідно налаштувати інтервал для відображення.

