5 Проверка программы

5.1 Отображение веб-интерфейса

По завершении процесса установки должен быть доступен веб-интерфейс "Спектра" через браузер по адресу "https://<хост "Спектра">:8092"

5.2 Проверка установки модулей

Модули системы установлены в каталог /opt/skala-r/spectrum:

  • dashboards - конфигурация мониторинга "Спектра";

  • spectrum-api — REST API "Спектра";

  • spectrum-scheduler — модуль выполнения задач по расписанию;

  • spectrum-task-daemon — модуль выполнения задач по запросу;

  • spectrum-ui — файлы веб интерфейса;

  • modules/spectrum_pcs_pgsql — модуль управления кластером PostgreSQL;

  • python-modules — дополнительные python-библиотеки, необходимые для работы "Спектра".

Проверить наличие модулей командой ls -l:

ls -l /opt/skala-r/spectrum

Пример вывода команды:

root@spr-test-installer-min-alt84 ~]# ls -l /opt/skala-r/spectrum
total 28
rwxr-xr-x 3 root root 4096 Jun  3 09:53 dashboards
rwxr-xr-x 3 root root 4096 Jun  3 09:53 modules
rwxr-xr-x 6 root root 4096 Jun  3 09:50 python-modules
rwxr-xr-x 5 root root 4096 Jun  3 12:05 spectrum-api
rwxr-xr-x 4 root root 4096 Jun  3 09:51 spectrum-scheduler
rwxr-xr-x 3 root root 4096 Jun  3 09:51 spectrum-tasks-daemon
rwxr-xr-x 3 root root 4096 Jun  3 09:51 spectrum-ui
root@spr-test-installer-min-alt84 ~]#

5.3 Проверка состояния и управление сервисами "Спектра"

По завершении процессов установки в системе будут запущены сервисы:

  • spectrum-api.service — сервис HTTP API, реализующего взаимодействие пользовательского интерфейса с системой;

  • spectrum-tasks.service — системная служба, предназначенная для выполнения задач (выполняет запрос к spectrum-api и получает список невыполненных заданий);

  • spectrum-scheduler.service — системная служба, предназначенная для выполнения задач по расписанию.

Логи работы spectrum-api, spectrum-tasks, spectrum-scheduler сохраняются в файлы

/opt/skala-r/var/log/spectrum/spectrum-api-\<дата записи лога\>.log,

/opt/skala-r/var/log/spectrum/spectrum_task_daemon-\<дата записи лога\>.log,

/opt/skala-r/var/log/spectrum/spectrum_scheduler-\<дата записи лога\>.log соответственно.

5.3.1 Ручная остановка, запуск или перезапуск сервисов

Для ручной остановки, запуска или перезапуска сервисов используются стандартные механизмы systemctl, например:

systemctl stop spectrum-tasks
systemctl start spectrum-tasks
systemctl restart spectrum-tasks

5.3.2 Проверка статусов сервисов

Для проверки статуса сервисов используется стандартный механизм systemctl. Проверить состояние сервисов можно посредством выполнения следующих команд:

systemctl status spectrum-tasks
systemctl status spectrum-api
systemctl status spectrum-scheduler

Пример активного сервиса spectrum-tasks:

image$active service example

5.4 Проверка состояния дополнительного ПО "Спектра"

Проверка состояния агента "Спектра" и агента уведомлений "Спектра" выполняется на узлах кластера.

5.4.1 Проверка состояния агента "Спектра"

Проверить состояние сервиса можно, выполнив команду:

systemctl status spectrum-agent

5.4.2 Проверка состояния агента уведомлений "Спектра"

Проверить состояние сервиса можно, выполнив команду:

pcs alert

Пример вывода команды:

[root@spr-ta01-node01 ~]# pcs alert
Alerts:
 Alert: spectrum alert (path=/opt/skala-r/spectrum/alert-agent/cluster_events.py)
 Description: Send cluster events to Spectrum
 Meta options: timestamp-format="%Y-%m-%d %H:%M:%S.%03N %z"
 Recipients:
  Recipient: spectrum (value=/opt/skala-r/spectrum/alert-agent/spectrum.json)
[root@spr-ta01-node01 ~]#

В выводе команды используются имена файлов, наличие которых можно проверить при помощи команды ls-- /opt/skala-r/spectrum/alert-agent/cluster_events.py

Файл, указанный в блоке Recipient команды pcs alert, должен содержать IP-адрес "Спектра" и ID кластера, который был настроен на этапе установки дополнительного ПО "Спектр", см. раздел 3.2 данного руководства. Посмотреть содержимое файла можно при помощи команды cat:

[root@spr-ta01-node01 ~]# cat /opt/skala-r/spectrum/alert-agent/spectrum.json
{"spectrum_host": "192.168.190.138", "spectrum_port": "8092", "cluster_id": "24ed3935-e6ce-4e72-8163-d2078f40d70c"}

5.4.3 Проверка состояния PgAdmin

На хосте "Спектра" выполнить команду:

docker ps

При корректной установке PgAdmin должен отобразиться список контейнеров со статусом Up. Пример вывода команды:

[root@spr-test-installer-min-alt84 ~]# docker ps
CONTAINER ID	  IMAGE					        COMMAND					          CREATED			  STATUS    				      PORTS
189995f81cfc    dpage/pgadmin4:6.7    "/entrypoint.sh"    	    2 days ago		Up 2 days (healthy)    	80/tcp, 0.0.0.0:80
fc24bab73189    nginx:1.20.2    		  "/docker-entrypoint..."   2 days ago		Up 2 days (healthy)    	0.0.0.0:80
[root@spr-test-installer-min-alt84 ~]#

Также, в веб-интерфейсе при нажатии на пункт меню "PgAdmin" в новой вкладке браузера должна открываться форма авторизации PgAdmin.

5.5 Просмотр состояния системного ПО

При работе "Спектр" использует следующее системное ПО, существенно влияющее на функционирование "Спектра":

  • Веб-сервер Nginx;

  • СУБД PostgreSQL.

Состояние веб-сервера Nginx можно проверить при помощи команды:

systemctl status nginx

Состояние СУБД PostgreSQL можно проверить при помощи команды:

systemctl status postgresql

ПО можно использовать, если в результате работы команд отображается статус active (running).

5.6 Просмотр логов сервисов

5.6.1 Просмотр логов основного ПО "Спектра"

Просмотреть логи работы сервисов за интересующий период можно, используя службу журналирования логов journalctl, выполнив команду:

journalctl -u <имя сервиса> --since "начало интервала YYYY-MM-DD hh:mm:ss" --until "конец интервала YYYY-MM-DD hh:mm:ss"

Просмотреть текущие логи в режиме онлайн можно, используя службу журналирования логов journalctl, выполнив команду:

journalctl -fu <имя сервиса>

где <имя сервиса> - название одного из сервисов "Спектра":

  • spectrum-api;

  • spectrum-tasks;

  • spectrum-scheduler;

  • spectrum-agent.

Просмотр логов работы сервиса spectrum-agent выполняется на узлах кластера.

Пример запуска команды:

journalctl -u spectrum-api --since "2024-08-08 11:05:00" --until "2024-08-08 11:10:00"

Возможно также просмотреть лог-файлы сервисов "Спектра":

  • /opt/skala-r/var/log/spectrum/spectrum-api.log

  • /opt/skala-r/var/log/spectrum/spectrum-task-daemon.log

  • /opt/skala-r/var/log/spectrum/spectrum-scheduler.log

Для Агентов "Спектра" файлы расположены на узлах кластера:

  • /opt/skala-r/var/log/spectrum/alert_manager/alert_manager.log

  • /opt/skala-r/var/log/spectrum/spectrum-agent.log

Для просмотра логов в режиме онлайн можно использовать команду tail:

tail -f /opt/skala-r/var/log/spectrum/spectrum-api.log

5.6.2 Просмотр логов дополнительного ПО "Спектра"

5.6.2.1 Просмотр логов Nginx

Просмотреть логи работы веб-сервера Nginx за интересующий период можно, используя службу журналирования логов journalctl, например:

journalctl -u nginx --since "2024-06-01 16:00:00" --until "2024-06-01 16:05:00"

Просмотреть текущие логи в режиме онлайн можно, используя службу журналирования логов journalctl, выполнив команду:

journalctl -fu nginx

Веб-сервер Nginx также записывает логи запросов и ошибок в файлы /var/log/nginx/access.log и /var/log/nginx/error.log соответственно.

Для просмотра логов в режиме онлайн можно использовать команду tail:

tail /var/log/nginx/access.log
tail /var/log/nginx/error.log

При просмотре журнала логов Nginx с использованием службы journalctl записи в логах могут отсутствовать, если никаких запросов к "Спектру" не выполняется. Также могут отсутствовать файлы логов Nginx /var/log/nginx/access.log и /var/log/nginx/error.log

5.6.2.2 Просмотр логов PostgreSQL

Просмотреть логи СУБД PostgreSQL за интересующий период можно, используя службу журналирования логов journalctl, например:

journalctl -u postgresql --since "2024-06-01 16:00:00" --until "2024-06-01 16:05:00"

Просмотреть текущие логи в режиме онлайн можно, используя службу журналирования логов journalctl, выполнив команду:

journalctl -fu postgresql

Для PostgreSQL на хосте "Спектра" не используется логирование в файл.

5.7 Просмотр файлов конфигурации

При установке "Спектра" для каждого сервиса создаются файлы конфигурации. Файлы конфигураций могут быть изменены администратором в процессе эксплуатации.

Пути расположения файлов конфигурации:

Сервис Спектра Расположение Название systemd-юнита Путь к файлу конфигурации

API "Спектра"

Хост "Спектра"

spectrum-api

/opt/skala-r/etc/spectrum/spectrum-api/config.conf

Служба выполнения фоновых задач

Хост "Спектра"

spectrum-tasks

/opt/skala-r/etc/spectrum/spectrum-tasks-daemon/config.conf

Служба выполнения задач по расписанию

Хост "Спектра"

spectrum-scheduler

/opt/skala-r/etc/spectrum/spectrum-scheduler/config.conf

Агент "Спектра"

Узлы кластера

spectrum-agent

/opt/skala-r/etc/spectrum/spectrum-agent/config.conf

Агент уведомлений "Спектра"

Узлы кластера

-

/opt/skala-r/etc/spectrum/alert-agent/spectrum.json

Для просмотра файла конфигурации можно использовать команду cat, например:

cat /opt/skala-r/etc/spectrum/spectrum-api/config.conf

Примеры файлов конфигураций приведены в Приложении 1 данного руководства.