Перейти до змісту

7.2 Встановлення та конфігурація Серверу аналізу транзакцій

Сервер аналізу транзакцій складається з наступних програмних компонентів:

  • Elasticsearch, що збирає та накопичує відомостей про здійснені транзакції,
  • Kibana, що виконує функції інтерфейсу користувача та відображає накопичені відомості за критеріями пошуку користувача.

Схема мережевої взаємодії сервера аналізу транзакцій наведена на рисунку 7.1.

З метою організації мережевої взаємодії Оператор має забезпечити можливість мережевого з’єднання ШБО з сервером аналізу транзакцій на порт TCP 9200. Також, Адміністратор локальних компонентів повинен мати можливість підключатися до серверу аналізу транзакцій на порт TCP 5601, на якому розміщена служба вебінтерфейсу аналізу транзакцій.

Screenshot 2024-05-01 105122.pngviber_image_2024-05-24_02-58-59-303.png

Рисунок 7.1 – Схема мережевої взаємодії сервера аналізу транзакцій

Під час встановлення сервер аналізу транзакцій повинен мати підключення до мережі Інтернет з метою встановлення програмних пакетів з програмного репозиторію системи «Трембіта».

Встановлення та всі відповідні налаштування виконуються Адміністратором локальних компонентів. Кінцевим користувачем, що працюватиме з сервером аналізу транзакцій через вебінтерфейс є користувач з роллю «Відповідальний за аналіз транзакцій».


7.2.1. Встановлення необхідних пакетів для серверу аналізу транзакцій

Встановлення та налаштування програмного забезпечення сервера аналізу транзакцій проводить Адміністратор локальних компонентів.

Інсталяційні пакети Elasticsearch і Kibana входять в комплект компонента uxp‑monitor‑analytics. Щоб встановити uxp‑monitor‑analytics, потрібно виконати наступні дії на сервері баз даних та архівування:

Закрити доступ до сторонніх репозиторіїв за допомогою наступної команди (якщо цього ще не було зроблено):

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 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:

viber_image_2024-05-01_17-17-50-971.png

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».

Якщо дані статистики не відображаються, необхідно налаштувати інтервал для відображення, для чого необхідно виконати наступні дії в вебінтерфейсі серверу аналізу транзакцій:

  • вказати потрібний Time Range, натиснувши на кнопку в правому верхньому кутку сторінки;
  • обрати опцію «Today». Повинна відобразитися статистика за запитами.