Перейти к основному содержимому
Версия: 2.0 (WIP)

Первый запуск

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

Технические требования

Поддерживаемые операционные системы

Дистрибутивы Linux с ядром не ниже версии 4.19 и системой инициализации systemd:

  • Debian не ниже версии 10;
  • Ubuntu не ниже версии 20.04;
  • Astra Linux Special Edition не ниже версии 1.7.4;
  • RED OS не ниже версии 8.

В операционной системе должны быть установлены следующие компоненты:

  • Docker Engine не ниже версии 24.0 (или Podman не ниже версии 4.9.0 с активным сокетом).

Дополнительно необходимо настроить параметры ядра. Для запуска OpenSearch требуется:

sudo sysctl -w vm.max_map_count=262144

Для сохранения значения между перезагрузками добавьте строку в /etc/sysctl.conf:

vm.max_map_count=262144
предупреждение

При значении vm.max_map_count ниже 262144 OpenSearch не сможет запуститься.

Podman (rootless)

При использовании Podman в режиме rootless (установка от обычного пользователя) дополнительно требуется разрешить непривилегированным процессам использовать порты начиная с 80, иначе сервис frontend не сможет запуститься:

sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80

Для сохранения значения между перезагрузками добавьте строку в /etc/sysctl.conf:

net.ipv4.ip_unprivileged_port_start=80

Также при использовании Podman необходимо отключить SELinux (или перевести в режим permissive), иначе контейнеры не смогут нормально функционировать. Инсталлятор выдаст предупреждение при обнаружении активного SELinux:

# Временное отключение (до перезагрузки)
sudo setenforce 0

# Постоянное отключение — установить SELINUX=disabled в /etc/selinux/config

Для корректной работы контейнеров (в частности, OpenSearch) необходимо снять ограничение на блокировку памяти в сервисе systemd Podman. Добавьте параметр LimitMEMLOCK=infinity в секцию [Service] файла юнита podman.service:

[Service]
LimitMEMLOCK=infinity

Для автоматического запуска контейнеров после перезагрузки машины необходимо включить в автозагрузку сервисы podman.socket и podman-restart.service:

systemctl --user enable podman.socket
systemctl --user enable podman-restart.service

По умолчанию podman-restart.service перезапускает только контейнеры с политикой restart-policy=always, тогда как Памир использует политику unless-stopped. Для корректного запуска контейнеров после перезагрузки необходимо переопределить команды запуска и остановки сервиса через drop-in файл:

systemctl --user edit podman-restart.service

Содержимое drop-in файла:

[Service]
ExecStart=
ExecStart=/usr/bin/podman $LOGGING start --all --filter restart-policy=unless-stopped
ExecStop=
ExecStop=/usr/bin/podman $LOGGING stop --all --filter restart-policy=unless-stopped

После внесения всех изменений рекомендуется перезагрузить машину, чтобы Podman запустился с корректным значением LimitMEMLOCK.

примечание

Инсталлятор поддерживает миграцию каталога хранения данных Docker на другой диск/точку монтирования. Для выполнения миграции требуется пакет rsync в системе.

Установка pamirctl в PATH работает без привилегий суперпользователя — путь автоматически добавляется в окружение пользователя. Привилегии суперпользователя (sudo) требуются только для установки приложения от имени суперпользователя (не рекомендуется) и для миграции каталога хранения данных Docker.

Каталог приложения определяется следующим образом:

  • /opt/pamir — при установке от суперпользователя;
  • $HOME/.pamir — при установке от обычного пользователя (рекомендуется).

Поддерживаемые браузеры и их версии

БраузерМинимальная версия
Google Chrome108
Mozilla Firefox101
Opera94
Яндекс Браузер23.1.1
Microsoft Edge108

Содержимое дистрибутива

Образы контейнеров

В ходе установки будут загружены следующие образы контейнеров:

  • PostgreSQL (СУБД SQL, основная база данных приложения);
  • RabbitMQ (брокер сообщений);
  • Redis (NoSQL СУБД, хранение ключей и обмен конфигурацией с экспортерами);
  • Flower (управление и мониторинг подсистемы задач);
  • OpenLDAP (сервер служб каталогов LDAP);
  • ACME Companion (клиент для взаимодействия с центром сертификации по протоколу ACME от Let's Encrypt);
  • Alertmanager (менеджер уведомлений);
  • Metrics (СУБД временных рядов для долговременного хранения метрик; развёртывается в трёх компонентах: хранилище данных, агент сбора метрик и обработчик правил);
  • OpenSearch (поисковый движок и хранилище журналов приложения);
  • OpenSearch Dashboards (веб-интерфейс для визуализации и работы с данными OpenSearch);
  • Logstash (агент сбора, обработки и передачи журналов в OpenSearch);
  • Vector (агент маршрутизации журналов и метрик);
  • ряд Exporters (экспортеры метрик для Metrics: blackbox, snmp, json, sql, nginxlog, postgres, cadvisor, docker-state, jmx);
  • Fluent-bit (обработчик журналов и сообщений);
  • Step CA (легковесный, переносимый центр сертификации, который может выступать подчинённым корневому ЦС для Памир, либо быть полностью автономным).

Порты сервисов

В ходе установки будут опубликованы следующие порты:

  • 80 (доступ к приложению по протоколу HTTP);
  • 443 (доступ к приложению по протоколу HTTPS [при использовании самоподписанного сертификата, сертификата, выпускаемого Step CA, либо собственного сертификата сервера]);
  • 24224 (порт Fluent-bit, принимающий журналы).
подсказка

Порты могут быть переопределены, а также могут быть опубликованы дополнительные порты сервисов, необходимых для настройки обмена (например, для remote-write конфигурации Metrics), в файле конфигурации docker-compose.additional.yml.

Установка

Дистрибутив Памир реализован в виде образа формата ISO 9660.

Для установки Памир данный образ необходимо смонтировать любым доступным способом (через системные/сторонние приложения). В корне образа должны присутствовать 3 директории:

  • server/ (или probe/ в дистрибутиве пробы Памир)
  • deps/
  • install/

Исполняемый файл инсталлятора pamir-installer расположен в корне образа ISO. Конфигурационные файлы и ресурсы установки находятся в поддиректории install/.

Для установки необходимо вызвать ./pamir-installer install и следовать указаниям инсталлятора. Инсталлятор автоматически произведет все необходимые проверки и загрузит требуемые образы контейнеров, после чего запустит сервисы приложения.

Порядок установки

1. Монтирование образа ISO

sudo mount -o loop ./pamir-1.0.0-a3c92513-1738699172-astra1.7.iso /media/cdrom

2. Запуск установочного исполняемого файла

cd /media/cdrom
./pamir-installer install

Инсталлятор осуществляет проверку дистрибутива операционной системы, версию ОС, наличие Docker Engine, а также при необходимости предложит мигрировать каталог с данными Docker Engine на другой диск.

В случае, если Памир уже установлен, инсталлятор определяет это автоматически и выполняет обновление: обновляет только изменившиеся образы контейнеров, применяет миграции базы данных и перезапускает сервисы.

Команды инсталлятора

Инсталлятор принимает следующие команды:

  • install — установка или обновление приложения. Инсталлятор автоматически определяет, выполняется ли первичная установка или обновление существующей инсталляции. При обновлении последовательно выполняются: остановка сервисов, применение миграций БД, загрузка изменившихся образов контейнеров, запуск приложения и очистка старых образов.
  • uninstall — удаление приложения. Останавливает и удаляет контейнеры и образы. Тома с данными и директория приложения не удаляются.
  • uninstall --purge — полное удаление приложения, включая тома с данными, образы контейнеров и директорию приложения. Операция необратима.
  • migrate — ручное применение миграций базы данных. Останавливает приложение, применяет миграции и запускает приложение снова.

Общие флаги инсталлятора:

  • --log-level <LEVEL> — уровень детализации логов (DEBUG, INFO, WARN, ERROR). По умолчанию INFO.
  • --noninteractive — отключает интерактивные запросы; использует значения из переменных окружения или действия по умолчанию.
  • --no-color — отключает цветной вывод в терминале.

Флаги команды install:

  • --force — принудительно перезагружает все образы контейнеров, даже если они не изменились.
  • --skip-image-load — пропускает загрузку образов (полезно, если образы уже загружены).
  • --skip-migrations — пропускает применение миграций БД.

Контроль целостности инсталлятора

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

Поведение при нарушении целостности:

  • Образы контейнеров — несоответствие контрольной суммы блокирует установку.
  • Конфигурационные файлы — несоответствие контрольной суммы установку не блокирует, но фиксируется в лог с уровнем WARN.

При обновлении также фиксируются факты замены конфигурационных файлов и образов контейнеров (с указанием старого и нового значений).

Лог-файл инсталлятора создаётся при каждом запуске:

  • /var/log/pamir-installer-YYYY-MM-DD-HH-MM-SS.log — при запуске от суперпользователя;
  • ~/.pamir-installer-YYYY-MM-DD-HH-MM-SS.log — при запуске от обычного пользователя.

Лог полезен для аудита установки и обновлений, а также для диагностики ошибок, связанных с целостностью дистрибутива.

Настройка публичного адреса API системы

Переменная PUBLIC_API_URL — это публичный адрес который будет использоваться для формирования callback маршрутов. Порядок настройки Env переменных. Используется когда система должна сообщить внешнему миру, как к ней обратиться:

Управление сервисами Памир

Для управления сервисами Памир используется утилита командной строки (CLI) — pamirctl. Утилита автоматически устанавливается в PATH пользователя в ходе установки приложения; привилегии суперпользователя для этого не требуются. При необходимости утилиту можно вызвать напрямую по пути $HOME/.pamir/pamirctl.

Утилита принимает следующие команды:

  • start — запуск сервисов приложения. Перед запуском автоматически выполняется проверка целостности образов контейнеров и конфигурационных файлов.
  • stop — остановка сервисов и удаление контейнеров. Тома хранения данных сохраняются.
  • restart — последовательная остановка и запуск сервисов. Также выполняет проверку целостности перед запуском.
  • status — просмотр текущего состояния всех сервисов.
  • sums — вывод эталонных контрольных сумм, встроенных в бинарник при сборке.
  • --daemon — режим демона: непрерывный периодический контроль целостности работающих контейнеров с автоматической остановкой нарушителей. Устанавливается и запускается инсталлятором автоматически как пользовательский сервис systemd.
подсказка

Утилита применяется для управления как сервисами Памир, так и сервисами пробы. Для этого используется файл конфигурации, по умолчанию располагающийся по пути $HOME/.pamirctl.yml, и может быть переопределён опциональным аргументом --config /path/to/config.yml.

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

.pamirctl.yml
---
app_type: pamir
app_path: /home/user/.pamir
app_profiles:
- app

Изменение набора запускаемых сервисов

Набор запускаемых сервисов (приложение, СУБД, экспортеры и дополнительные компоненты) может быть переопределен в файле конфигурации pamirctl. По-умолчанию приложение запускается со следующим набором компонентов:

  • app
  • tsdb
  • exporters
  • ldap
  • ca
  • opensearch
подсказка

Под набором сервисов ещё можно понимать набор ролей, которые будет выполнять сервер Памир, например, в поведении по-умолчанию, сервер Памир является ещё и базой данных временных рядов, коллектором метрик blackbox и snmp, а также является LDAP-сервером и удостоверяющим центром для приложения.

Технически набор запускаемых сервисов называется профили, а в файле конфигурации за установку профилей отвечает параметр app_profiles.

подсказка

Файл конфигурации .pamirctl.yml отсутствует в стандартной инсталляции и должен быть создан вручную, в случае необходимости конфигурации pamirctl. Утилита ищет его в следующих путях:

  • текущая рабочая директория ($CWD), например, если Вы находитесь в каталоге /opt/pamir, то файл конфигурации должен находиться по пути /opt/pamir/.pamirctl.yml;
  • домашняя директория пользователя ($HOME), например, /home/user/.pamirctl.yml;
  • /etc/.pamirctl.yml.

Хорошей практикой будет расположение файла конфигурации .pamirctl.yml в каталоге пользователя. В таком случае файл гарантированно не будет перезаписан при обновлении (например, при удалении каталога $HOME/.pamir), а также утилита pamirctl может быть запущена из любой рабочей директории.

Доступные роли сервера Памир
Профиль (роль)Набор сервисов, входящих в профиль
allВсе сервисы, входящие в дистрибутив
appВсе сервисы в ролях backend и frontend
backendВсе сервисы backend и их зависимости
backend.authСервис auth и его зависимости (PostgreSQL, RabbitMQ, Redis, Flower)
backend.celeryСервис celery и его зависимости
backend.docker-toolСервис docker-tool и его зависимости
backend.licenseСервис лицензирования и его зависимости
backend.monitoringСервис monitoring и его зависимости
backend.notificationСервис notification и его зависимости
backend.srmСервис srm и его зависимости
backend.task-toolСервис task-tool и его зависимости
caСервис удостоверяющего центра (Smallstep Step CA) и ACME клиент (ACME Companion)
dbВсе сервисы СУБД, кроме СУБД временных рядов (PostgreSQL, Redis)
db.postgresСервис СУБД PostgreSQL
db.redisСервис СУБД Redis
debugПрофиль, используемый для отладки приложения и разработки
exportersВсе экспортеры, входящие в дистрибутив
exporters.externalЭкспортеры, не управляемые Памир (postgres-exporter, cadvisor, docker-state-exporter, jmx-exporter)
exporters.internalЭкспортеры, управляемые Памир (blackbox, snmp, json, sql, nginxlog, node)
frontendСервис frontend
ldapСервис службы каталогов (OpenLDAP)
migrationsПрофиль применения миграций баз данных; запускается автоматически при установке/обновлении Памир
mqВсе сервисы брокера сообщений
mq.rabbitmqСервис брокера сообщений RabbitMQ
opensearchВсе компоненты хранилища журналов (OpenSearch, OpenSearch Dashboards, Logstash)
opensearch.dashboardsСервис веб-интерфейса OpenSearch Dashboards
opensearch.logstashСервис Logstash (агент сбора и передачи журналов в OpenSearch)
tsdbВсе базовые сервисы СУБД временных рядов (Metrics, Alertmanager)
tsdb.alertmanagerСервис уведомлений Alertmanager
tsdb.longtermСервисы Metrics для долговременного хранения метрик (хранилище, агент сбора, обработчик правил)
vectorСервис Vector (агент маршрутизации журналов и метрик)

Запуск приложения

Запуск Памир осуществляется командой pamirctl start, после чего создаются и запускаются контейнеры. Большая часть контейнеров дополнительно проверяется на работоспособность и способность принимать трафик (healthcheck).

Пример вывода команды pamirctl start
# pamirctl start
[+] Running 28/28
✔ Container pamir-step-ca-1 Running 0.0s
✔ Container pamir-rabbitmq-1 Healthy 1.0s
✔ Container pamir-license-1 Healthy 1.5s
✔ Container pamir-fluent-bit-1 Running 0.0s
✔ Container pamir-redis-1 Healthy 1.0s
✔ Container pamir-openldap-1 Running 0.0s
✔ Container pamir-node-exporter-1 Running 0.0s
✔ Container pamir-database-1 Healthy 1.0s
✔ Container pamir-flower-1 Running 0.0s
✔ Container pamir-frontend-1 Started 0.3s
✔ Container pamir-acme-1 Started 1.3s
✔ Container pamir-prometheus-1 Healthy 16.9s
✔ Container pamir-alertmanager-1 Started 1.6s
✔ Container pamir-celery-1 Started 1.5s
✔ Container pamir-monitoring-1 Started 1.7s
✔ Container pamir-notification-1 Started 1.7s
✔ Container pamir-docker-tool-1 Started 1.6s
✔ Container pamir-auth-1 Started 1.7s
✔ Container pamir-srm-1 Started 1.6s
✔ Container pamir-task-tool-1 Started 0.9s
✔ Container pamir-json-exporter-1 Started 2.3s
✔ Container pamir-nginxlog-exporter-1 Started 2.3s
✔ Container pamir-postgres-exporter-1 Started 2.3s
✔ Container pamir-cadvisor-1 Started 2.5s
✔ Container pamir-sql-exporter-1 Started 2.1s
✔ Container pamir-snmp-exporter-1 Started 2.3s
✔ Container pamir-docker-state-exporter-1 Started 2.8s
✔ Container pamir-blackbox-exporter-1 Started 2.7s

Параметризация сервисов

Данная команда также может использоваться для применения настроек, внесенных в конфигурацию сервисов (файлы docker-compose*.yml), например, если нужно опубликовать извне сервис Metrics, для настройки remote-write, вносятся изменения в файл docker-compose.additional.yml такого вида:

services:
metrics-storage:
ports:
- "8428:8428"

Для применения данных параметров необходимо запустить команду запуска с дополнительным позиционным аргументом - именем сервиса:

pamirctl start metrics-storage

Остановка приложения

Остановка Памир осуществляется командой pamirctl stop, которая останавливает работающие контейнеры и удаляет их. Тома хранения (volumes) и директория $HOME/.pamir остаются нетронутыми (для дальнейшего запуска приложения).

Пример вывода команды pamirctl stop
# pamirctl stop
[+] Running 29/29
✔ Container pamir-auth-1 Removed 2.3s
✔ Container pamir-sql-exporter-1 Removed 1.7s
✔ Container pamir-celery-1 Removed 10.3s
✔ Container pamir-openldap-1 Removed 2.1s
✔ Container pamir-task-tool-1 Removed 2.1s
✔ Container pamir-docker-state-exporter-1 Removed 1.7s
✔ Container pamir-notification-1 Removed 2.2s
✔ Container pamir-docker-tool-1 Removed 2.1s
✔ Container pamir-json-exporter-1 Removed 1.8s
✔ Container pamir-snmp-exporter-1 Removed 1.8s
✔ Container pamir-node-exporter-1 Removed 1.3s
✔ Container pamir-step-ca-1 Removed 1.9s
✔ Container pamir-acme-1 Removed 1.8s
✔ Container pamir-cadvisor-1 Removed 1.5s
✔ Container pamir-nginxlog-exporter-1 Removed 2.0s
✔ Container pamir-postgres-exporter-1 Removed 2.0s
✔ Container pamir-alertmanager-1 Removed 2.2s
✔ Container pamir-srm-1 Removed 2.9s
✔ Container pamir-blackbox-exporter-1 Removed 1.9s
✔ Container pamir-monitoring-1 Removed 2.2s
✔ Container pamir-frontend-1 Removed 2.0s
✔ Container pamir-prometheus-1 Removed 10.2s
✔ Container pamir-flower-1 Removed 0.4s
✔ Container pamir-license-1 Removed 0.4s
✔ Container pamir-database-1 Removed 0.9s
✔ Container pamir-redis-1 Removed 1.2s
✔ Container pamir-fluent-bit-1 Removed 0.2s
✔ Container pamir-rabbitmq-1 Removed 10.2s
✔ Network pamir-net Removed 0.2s

Просмотр состояния сервисов

Просмотр статуса работы сервисов осуществляется командой pamirctl status.

Команда также может принимать дополнительные позиционные аргументы - имена сервисов, разделенные пробелом. В таком случае в таблице будут отображены указанные сервисы.

Пример вывода команды pamirctl status
# pamirctl status
+-----------------------+---------+-----------------------------+
| СЕРВИС | ВЕРСИЯ | СОСТОЯНИЕ |
+-----------------------+---------+-----------------------------+
| json-exporter | 0.6.0 | Up 35 seconds (healthy) |
| blackbox-exporter | 0.20.0 | Up 34 seconds (healthy) |
| cadvisor | v0.50.0 | Up 36 seconds (healthy) |
| docker-state-exporter | latest | Up 35 seconds |
| sql-exporter | 0.4.0 | Up 36 seconds (healthy) |
| nginxlog-exporter | 1.11.0 | Up 36 seconds (healthy) |
| snmp-exporter | 0.20.0 | Up 36 seconds (healthy) |
| postgres-exporter | v0.15.0 | Up 34 seconds |
| task-tool | 0.0.1 | Up 52 seconds (healthy) |
| auth | 0.7.0 | Up 52 seconds (healthy) |
| notification | 0.0.1 | Up 53 seconds (healthy) |
| monitoring | 0.7.0 | Up 52 seconds (healthy) |
| docker-tool | 0.4.2 | Up 52 seconds (healthy) |
| srm | 0.7.0 | Up 53 seconds (healthy) |
| acme | 2.2.9 | Up About a minute |
| celery | 0.7.0 | Up 53 seconds |
| alertmanager | 0.27.0 | Up 52 seconds (healthy) |
| prometheus | 2.35.0 | Up 52 seconds (healthy) |
| frontend | 0.9.2 | Up About a minute (healthy) |
| flower | 2.0.1 | Up About a minute |
| openldap | 2.4.57 | Up About a minute (healthy) |
| node-exporter | 1.3.1 | Up About a minute (healthy) |
| database | 11.21 | Up About a minute (healthy) |
| redis | 7.0.13 | Up About a minute (healthy) |
| fluent-bit | 2.1.8 | Up About a minute |
| license | 0.4.2 | Up About a minute (healthy) |
| rabbitmq | 3.8.2 | Up About a minute (healthy) |
| step-ca | 0.24.1 | Up About a minute (healthy) |
+-----------------------+---------+-----------------------------+
# pamirctl status database rabbitmq redis
+----------+--------+------------------------+
| СЕРВИС | ВЕРСИЯ | СОСТОЯНИЕ |
+----------+--------+------------------------+
| database | 11.21 | Up 2 minutes (healthy) |
| redis | 7.0.13 | Up 2 minutes (healthy) |
| rabbitmq | 3.8.2 | Up 2 minutes (healthy) |
+----------+--------+------------------------+

Перезапуск приложения (сервисов)

Перезапуск сервисов приложения осуществляется командой pamirctl restart.

Команда также может принимать дополнительные позиционные аргументы - имена сервисов, разделенные пробелом. В данном случае будут перезапущены указанные в команде сервисы.

Пример вывода команды pamirctl restart
# pamirctl restart
[+] Restarting 28/28
✔ Container pamir-monitoring-1 Started 5.6s
✔ Container pamir-node-exporter-1 Started 1.6s
✔ Container pamir-prometheus-1 Started 12.4s
✔ Container pamir-postgres-exporter-1 Started 3.8s
✔ Container pamir-notification-1 Started 5.6s
✔ Container pamir-step-ca-1 Started 3.4s
✔ Container pamir-license-1 Started 4.2s
✔ Container pamir-cadvisor-1 Started 4.8s
✔ Container pamir-frontend-1 Started 4.7s
✔ Container pamir-auth-1 Started 4.7s
✔ Container pamir-database-1 Started 5.6s
✔ Container pamir-srm-1 Started 5.6s
✔ Container pamir-nginxlog-exporter-1 Started 4.3s
✔ Container pamir-alertmanager-1 Started 5.2s
✔ Container pamir-docker-state-exporter-1 Started 3.7s
✔ Container pamir-fluent-bit-1 Started 5.4s
✔ Container pamir-docker-tool-1 Started 5.7s
✔ Container pamir-json-exporter-1 Started 4.2s
✔ Container pamir-flower-1 Started 5.1s
✔ Container pamir-blackbox-exporter-1 Started 3.4s
✔ Container pamir-sql-exporter-1 Started 3.7s
✔ Container pamir-redis-1 Started 3.7s
✔ Container pamir-celery-1 Started 12.5s
✔ Container pamir-rabbitmq-1 Started 13.2s
✔ Container pamir-snmp-exporter-1 Started 4.2s
✔ Container pamir-openldap-1 Started 4.7s
✔ Container pamir-acme-1 Started 3.7s
✔ Container pamir-task-tool-1 Started 2.5s

Контроль целостности

Перед выполнением команд start и restart утилита pamirctl автоматически проверяет целостность образов контейнеров и конфигурационных файлов приложения. Эталонные контрольные суммы встроены в бинарник утилиты при сборке и не зависят от внешних файлов.

Поведение при нарушении целостности:

  • Образы контейнеров — несоответствие контрольной суммы или отсутствие образа блокирует запуск/перезапуск с ошибкой.
  • Конфигурационные файлы — несоответствие контрольной суммы запуск не блокирует, но фиксируется в лог аудита с уровнем WARN.

Все события контроля целостности записываются в лог аудита:

  • /var/log/pamirctl-audit-YYYY-MM-DD-HH-MM-SS.log — при запуске от суперпользователя;
  • ~/.pamirctl-audit-YYYY-MM-DD-HH-MM-SS.log — при запуске от обычного пользователя.

Лог аудита полезен для анализа причин отказа запуска, а также для аудита факта обновления приложения (в нём фиксируются все изменения образов и конфигурационных файлов).

Просмотр и экспорт контрольных сумм

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

# Контрольные суммы образов контейнеров
pamirctl sums

# Контрольные суммы конфигурационных файлов
pamirctl sums --show-config

Экспортировать суммы в файл (без цветового форматирования):

pamirctl sums -o digests.json
pamirctl sums --show-config -o configs.json

Передать файл с суммами на внешний сервер по SSH:

pamirctl sums -o /tmp/digests.json
scp /tmp/digests.json user@audit-server:/srv/pamir-audit/digests.json

Загрузить файл с суммами на внешний сервер через HTTP:

pamirctl sums -o /tmp/digests.json
curl -s -X POST https://audit.example.com/upload \
-F "file=@/tmp/digests.json"

Проверка контрольных сумм

Флаг --verify выполняет живую проверку: запрашивает фактические ImageID у Docker Engine и вычисляет SHA-256 файлов конфигурации, после чего сравнивает их с эталонными значениями, встроенными в бинарник. Для каждого объекта выводится эталонное значение, актуальное значение и статус.

pamirctl sums --verify

Статусы проверки:

СтатусОбъектЗначение
OKОбразы / конфигурацияКонтрольная сумма совпадает с эталоном
ERRORОбразНесоответствие ImageID — аналог блокировки при start
WARNINGФайл конфигурацииНесоответствие суммы файла — не блокирует, но требует внимания

Если обнаружены нарушения, команда завершается с ненулевым кодом возврата. Все результаты дополнительно фиксируются в лог аудита.

Результаты можно сохранить в файл (без цветового форматирования):

pamirctl sums --verify -o /tmp/verify-report.txt
Пример вывода команды pamirctl sums --verify
# pamirctl sums --verify
2026/04/09 00:44:41 INFO Проверка контрольных сумм образов успешно пройдена count=36
Образы контейнеров (36):

pamir.io/acme-companion:2.2.9
Эталон: sha256:ddc87f47b5c475e3aad0d973f88a5d36592edf2a56459763efc84d831b0305a6
Актуально: sha256:ddc87f47b5c475e3aad0d973f88a5d36592edf2a56459763efc84d831b0305a6
Статус: OK

pamir.io/alertmanager:0.27.0
Эталон: sha256:3d53c034b07096f4bec930811cb6268210e03347f1813daa24d1bdb632230e92
Актуально: sha256:3d53c034b07096f4bec930811cb6268210e03347f1813daa24d1bdb632230e92
Статус: OK

pamir.io/auth:2.1.0-rc.217
Эталон: sha256:e1064ab05bfe82a07beaeee422e32c74422f59b8ad57e04cee5498fcfdb9ae82
Актуально: sha256:e1064ab05bfe82a07beaeee422e32c74422f59b8ad57e04cee5498fcfdb9ae82
Статус: OK

pamir.io/blackbox_exporter:0.20.0
Эталон: sha256:cbab5b05d7f84e9eab2a20999dd9918f12326c960c14f21cd199e002cefefc09
Актуально: sha256:cbab5b05d7f84e9eab2a20999dd9918f12326c960c14f21cd199e002cefefc09
Статус: OK

pamir.io/cadvisor:v0.50.0
Эталон: sha256:02dfeb84b83627ccc9dc245e8f875bb0c2182c828baa6ffd9c3617562aa79332
Актуально: sha256:02dfeb84b83627ccc9dc245e8f875bb0c2182c828baa6ffd9c3617562aa79332
Статус: OK

pamir.io/celery:2.1.0-rc.132
Эталон: sha256:6eac8439e0aa4f187b61b2a93709ad588e8e6f53a8a28e2962c8a7f5dac8518e
Актуально: sha256:6eac8439e0aa4f187b61b2a93709ad588e8e6f53a8a28e2962c8a7f5dac8518e
Статус: OK

pamir.io/docker-tool:2.1.0-rc.114
Эталон: sha256:65b75736d44dd3fa541a85ff74af9663eb51e5266e76b7920694d29fce90e326
Актуально: sha256:65b75736d44dd3fa541a85ff74af9663eb51e5266e76b7920694d29fce90e326
Статус: OK

pamir.io/docker_state_exporter:latest
Эталон: sha256:d23148abc50a2cd58cc3c6ad3f8584f252a22bf645c771add4bd6dfe70977d41
Актуально: sha256:d23148abc50a2cd58cc3c6ad3f8584f252a22bf645c771add4bd6dfe70977d41
Статус: OK

pamir.io/elasticsearch_exporter:v1.10.0
Эталон: sha256:c77721d42846bada8769fa818eeceaa454893988bd2c4464634f822192dd8cce
Актуально: sha256:c77721d42846bada8769fa818eeceaa454893988bd2c4464634f822192dd8cce
Статус: OK

pamir.io/flower:2.0.1
Эталон: sha256:0bc59970d3facb46359b917ce028afe0b124a60bc4d8250e62431f5472a759a4
Актуально: sha256:0bc59970d3facb46359b917ce028afe0b124a60bc4d8250e62431f5472a759a4
Статус: OK

pamir.io/fluent-bit:2.1.8
Эталон: sha256:1bfa6538fbb07773c8f539cd66d3247ba3052dad4b6d2605cd02b4e9fc4230da
Актуально: sha256:1bfa6538fbb07773c8f539cd66d3247ba3052dad4b6d2605cd02b4e9fc4230da
Статус: OK

pamir.io/frontend:2.1.0-rc.315
Эталон: sha256:5e13ed13c13d73b4231f06798a19468e12119d4d1b214b4212d6d4ce26314597
Актуально: sha256:5e13ed13c13d73b4231f06798a19468e12119d4d1b214b4212d6d4ce26314597
Статус: OK

pamir.io/jmx_exporter:latest
Эталон: sha256:49f23da00bdd11be6311d7c07f46c317f0d0041d5fad9c8cb4db2107c23ff3b4
Актуально: sha256:49f23da00bdd11be6311d7c07f46c317f0d0041d5fad9c8cb4db2107c23ff3b4
Статус: OK

pamir.io/json_exporter:1.3.0
Эталон: sha256:f723b26dfa155428d514bd61782882c275bdbe0982c17626f8a895ea52d744fe
Актуально: sha256:f723b26dfa155428d514bd61782882c275bdbe0982c17626f8a895ea52d744fe
Статус: OK

pamir.io/license:2.1.0-rc.117
Эталон: sha256:721092ba349b011ca9474f541abf3af348914516e8a02e7ddf239f2b8a1161f5
Актуально: sha256:721092ba349b011ca9474f541abf3af348914516e8a02e7ddf239f2b8a1161f5
Статус: OK

pamir.io/logstash:9.2.4
Эталон: sha256:91792264aa3b70749e14b3ecd940740b4501a154da58e1d6e7f96e2ab7712746
Актуально: sha256:91792264aa3b70749e14b3ecd940740b4501a154da58e1d6e7f96e2ab7712746
Статус: OK

pamir.io/monitoring:2.1.0-rc.286
Эталон: sha256:0517bd2c6272c1ce8c43aaaf61467da6f0107b22c2e5deaa34d1bb0f4ae71799
Актуально: sha256:0517bd2c6272c1ce8c43aaaf61467da6f0107b22c2e5deaa34d1bb0f4ae71799
Статус: OK

pamir.io/nginxlog_exporter:1.11.0
Эталон: sha256:931ec21a7fbb5b47ebbf4d453f4c579f8c359d377dc328f8376589a9ce445122
Актуально: sha256:931ec21a7fbb5b47ebbf4d453f4c579f8c359d377dc328f8376589a9ce445122
Статус: OK

pamir.io/notification:2.1.0-rc.129
Эталон: sha256:84041d44ac8de0975ec3746e06d38d55cb9362fc29a8652b3db0d599497141d2
Актуально: sha256:84041d44ac8de0975ec3746e06d38d55cb9362fc29a8652b3db0d599497141d2
Статус: OK

pamir.io/openldap:2.5.13
Эталон: sha256:acee985fb20ad28ff893ed23415c088a708d4e988a69a631de68271adfe93d95
Актуально: sha256:acee985fb20ad28ff893ed23415c088a708d4e988a69a631de68271adfe93d95
Статус: OK

pamir.io/opensearch-dashboards:3.3.0
Эталон: sha256:5906095a6f1c4aae8adae6c9131f095fca99178c61bc9d4501c7f2cd6758eca6
Актуально: sha256:5906095a6f1c4aae8adae6c9131f095fca99178c61bc9d4501c7f2cd6758eca6
Статус: OK

pamir.io/opensearch-migrator:2.1.0-rc.11
Эталон: sha256:ca74f7713490699dff2f4b51c8894fcffff2b4b458385b02dc000871b06f5dff
Актуально: sha256:ca74f7713490699dff2f4b51c8894fcffff2b4b458385b02dc000871b06f5dff
Статус: OK

pamir.io/opensearch:3.3.2
Эталон: sha256:255314438cf694569d5030476d5131f22947c827225bdd75a1b7ed6345032b40
Актуально: sha256:255314438cf694569d5030476d5131f22947c827225bdd75a1b7ed6345032b40
Статус: OK

pamir.io/pamir_agent:1.3.0
Эталон: sha256:26006f7b94adbd7d4204c9e682afce2ae3b95eb9d73254eeb4a0cf6e65fd5382
Актуально: sha256:26006f7b94adbd7d4204c9e682afce2ae3b95eb9d73254eeb4a0cf6e65fd5382
Статус: OK

pamir.io/postgres:15.13
Эталон: sha256:bd2e432b53aaea15f8b7e2878cae70957d1191598ccaed05710106e0b37b86ee
Актуально: sha256:bd2e432b53aaea15f8b7e2878cae70957d1191598ccaed05710106e0b37b86ee
Статус: OK

pamir.io/postgres_exporter:v0.15.0
Эталон: sha256:edbb6107c3d51a20b685406c0457f40dec8ffad9e25149c8bdb98cce09965141
Актуально: sha256:edbb6107c3d51a20b685406c0457f40dec8ffad9e25149c8bdb98cce09965141
Статус: OK

pamir.io/prometheus:2.35.0
Эталон: sha256:ead16d8678e48d8366f925f8fb3de1c92239e39cc1e0ce17584c11b7e98ae707
Актуально: sha256:ead16d8678e48d8366f925f8fb3de1c92239e39cc1e0ce17584c11b7e98ae707
Статус: OK

pamir.io/rabbitmq:3.10.8
Эталон: sha256:7edee07b5436dcd4f8d818c888e174d1e84abbc4e3d221cc23dafdb2ef5017fe
Актуально: sha256:7edee07b5436dcd4f8d818c888e174d1e84abbc4e3d221cc23dafdb2ef5017fe
Статус: OK

pamir.io/redis:7.0.15
Эталон: sha256:ed70e4151d060e2bf8e03e6ed2288a0a401eaf31c05e42fed156aaaae7fc2fac
Актуально: sha256:ed70e4151d060e2bf8e03e6ed2288a0a401eaf31c05e42fed156aaaae7fc2fac
Статус: OK

pamir.io/snmp_exporter:0.20.0
Эталон: sha256:253143e7393115dfbe745b2e10f6575892df3fa6c2516637db247ae4a7644ce1
Актуально: sha256:253143e7393115dfbe745b2e10f6575892df3fa6c2516637db247ae4a7644ce1
Статус: OK

pamir.io/sql_exporter:0.4.0
Эталон: sha256:7efda31730e63cc0ea2b2fc2137fd9cbecbb005050b6301f56a1fae95a6f21ea
Актуально: sha256:7efda31730e63cc0ea2b2fc2137fd9cbecbb005050b6301f56a1fae95a6f21ea
Статус: OK

pamir.io/srm:2.1.0-rc.165
Эталон: sha256:0b4ec17ffcf1fcc5e0c3d14bf398cc26bd396067c9703e0efbf63b3db952fbca
Актуально: sha256:0b4ec17ffcf1fcc5e0c3d14bf398cc26bd396067c9703e0efbf63b3db952fbca
Статус: OK

pamir.io/step-ca:0.24.1
Эталон: sha256:1d1675fd033ea0c67806f840b8b6e21da179456aa81191f4b32d5082f4b277cf
Актуально: sha256:1d1675fd033ea0c67806f840b8b6e21da179456aa81191f4b32d5082f4b277cf
Статус: OK

pamir.io/task-tool:2.1.0-rc.113
Эталон: sha256:96e018692f4ba542b31c974d7b26111827f46b4f66ac614da3b59f3582ebf41d
Актуально: sha256:96e018692f4ba542b31c974d7b26111827f46b4f66ac614da3b59f3582ebf41d
Статус: OK

pamir.io/vector:0.51.0-alpine
Эталон: sha256:44b8a36af1b9d30bcdde9a3edbfc9fd7ff5bdea33b63cf89c9123afe4618d4a2
Актуально: sha256:44b8a36af1b9d30bcdde9a3edbfc9fd7ff5bdea33b63cf89c9123afe4618d4a2
Статус: OK

pamir.io/victoria-metrics:1.81.2-pamir
Эталон: sha256:b10f808c7d7adec4f110b2fb69c51cb9dd69343f17f0f162e8ff62256fbd8d0c
Актуально: sha256:b10f808c7d7adec4f110b2fb69c51cb9dd69343f17f0f162e8ff62256fbd8d0c
Статус: OK

Файлы конфигурации (33):

.auth.autogen
Эталон: sha256:8e27ffe70349ac116a28323efc866c2016d274d7a1623d771ca8046c47dfd78a
Актуально: sha256:8e27ffe70349ac116a28323efc866c2016d274d7a1623d771ca8046c47dfd78a
Статус: OK

.auth.env
Эталон: sha256:c268aa391e31b4737265627b24588c904f2aae1f7af392920daeb479174c56b6
Актуально: sha256:5169813ede4f3efc13d020d38c7536520c80e7c1de9064acb43b89803caecc7f
Статус: WARNING

.celery.autogen
Эталон: sha256:8206beba84f7e2064999a2cd2a3cf10f16b196cc4ed4f88395e45d78426fa664
Актуально: sha256:8206beba84f7e2064999a2cd2a3cf10f16b196cc4ed4f88395e45d78426fa664
Статус: OK

.celery.env
Эталон: sha256:e6b92d9a2bea69a9378267bae2f320b0df1d0ca0a429427e3ae274006319c1e3
Актуально: sha256:115c0fcba1892f5a9a3c175d7897d27a391464ec92671eed75864b5d0a392959
Статус: WARNING

.deps.autogen
Эталон: sha256:d8bc7bbb28f60dbb98dd3a2598efc1f1e5da23fb521b255dcfe57c6094d6a3c2
Актуально: sha256:d8bc7bbb28f60dbb98dd3a2598efc1f1e5da23fb521b255dcfe57c6094d6a3c2
Статус: OK

.docker-tool.autogen
Эталон: sha256:5c2ccf0a654b1ce6d805b7b51e83cb21576b109131dcb21f611286af8154ae48
Актуально: sha256:5c2ccf0a654b1ce6d805b7b51e83cb21576b109131dcb21f611286af8154ae48
Статус: OK

.docker-tool.env
Эталон: sha256:1dffb082168584e9b8566922dbf303304cec8dd2a163c10619df07e3926505e8
Актуально: sha256:c9715d1ac95f0152be358e42c9aba9c1f2024876c7fbfa7b339674b0e0ac2d6e
Статус: WARNING

.env
Эталон: sha256:213aea6f28bb50775cfa330d87f8350b84d30fcc6879e40f90d3a954eb97f63c
Актуально: sha256:099cecd60438c9a57ef35c737afb7bcaa70465a70010ce2bf17a884df75264de
Статус: WARNING

.frontend.autogen
Эталон: sha256:1ecc4f8b597c0a93db0073e686d39bb9a1946cf11d66006daa46e30bc1fe3806
Актуально: sha256:1ecc4f8b597c0a93db0073e686d39bb9a1946cf11d66006daa46e30bc1fe3806
Статус: OK

.frontend.env
Эталон: sha256:69f4d6cb663f05eee19c59d498cf3ef2bda512340e92cd664a9e3dffbcad184e
Актуально: sha256:76c03d6b6809210de4b675860da2bdd8c6cba3671a7a885d36fad912fb6d315b
Статус: WARNING

.license.autogen
Эталон: sha256:d7094224c47f99a6985b83ff4455c3becdcfc3b7e770bd71e865a52fcc220994
Актуально: sha256:d7094224c47f99a6985b83ff4455c3becdcfc3b7e770bd71e865a52fcc220994
Статус: OK

.license.env
Эталон: sha256:af035863c12d42901be3ece905ac7f6799b71d60b23e0dab0ce0460a3eacc9e7
Актуально: sha256:5482e526a03056fbca64fda885882ee62e108fbeb59971c9a79364e2fe97680b
Статус: WARNING

.monitoring.autogen
Эталон: sha256:d288bcdc33728f9501e9fa0985a9f53c237a56278bc1350fdc4d122ce352d0b6
Актуально: sha256:d288bcdc33728f9501e9fa0985a9f53c237a56278bc1350fdc4d122ce352d0b6
Статус: OK

.monitoring.env
Эталон: sha256:ded8d466754e202cb06297edae6b408016df0129265c6fa86e81dbe897173699
Актуально: sha256:79aa12410ffda2719c476542502111c308329bef896fb3e33355af0f8c0442b4
Статус: WARNING

.notification.autogen
Эталон: sha256:b07823c26361a7d28f9d71c5bb04cdd9e23a761c92016cdd385bb3f41943b13a
Актуально: sha256:b07823c26361a7d28f9d71c5bb04cdd9e23a761c92016cdd385bb3f41943b13a
Статус: OK

.notification.env
Эталон: sha256:1dcb785e795ad1e9d87f203e045e832c4c0948a45f1fd3c4742191180057889a
Актуально: sha256:c640aa23dc250621238130cbd7ac08284316187864ed798cbc29eb0abd4bb600
Статус: WARNING

.opensearch-migrator.autogen
Эталон: sha256:c743b48f52e2da383f6db7e8c926a37f33e412a323f68e2257c2fd684263b450
Актуально: sha256:c743b48f52e2da383f6db7e8c926a37f33e412a323f68e2257c2fd684263b450
Статус: OK

.opensearch.env
Эталон: sha256:46e503fada54fa443dbe6ff95598039405f283776555475ce917837797042ad2
Актуально: sha256:46e503fada54fa443dbe6ff95598039405f283776555475ce917837797042ad2
Статус: OK

.postgres.env
Эталон: sha256:5a1a9c34b902778efc72adce9483ecbfdbf7ba6b1837111d70650e8d40da3c1c
Актуально: sha256:5a1a9c34b902778efc72adce9483ecbfdbf7ba6b1837111d70650e8d40da3c1c
Статус: OK

.srm.autogen
Эталон: sha256:b1fda630f7ad50350924d67c6b3d04ee55df1dedd61034db1dc5be0dd690d9f7
Актуально: sha256:b1fda630f7ad50350924d67c6b3d04ee55df1dedd61034db1dc5be0dd690d9f7
Статус: OK

.srm.env
Эталон: sha256:0cd59864f3fd789a9ef961a7027b235dad48afdc1c8daeced7d1927629de4b1f
Актуально: sha256:ece7d97a52ac1188823cc2bbb78e03247b244844604595902ab4b66e71beb078
Статус: WARNING

.task-tool.autogen
Эталон: sha256:5d15b32b161d09bb130cf4e418b085a83c86f71e3edbb14d863cfd282b697469
Актуально: sha256:5d15b32b161d09bb130cf4e418b085a83c86f71e3edbb14d863cfd282b697469
Статус: OK

.task-tool.env
Эталон: sha256:31d5993f3bf319c3011895e1b489db1ebf6cb247bc61786293bfdfda7b5a926a
Актуально: sha256:621b21f0d2f16cf1fbadfbc5228ad023b3c62e2ac12b50924c41f73e815bb375
Статус: WARNING

docker-compose.deps.yml
Эталон: sha256:5376f5fa7046862e68caa2e8ab9bad859353f0d87878aa00ba8ecab3e52d5de3
Актуально: sha256:e5099b7ede5312a6c411397fb6886e8e5dfac2acd45ac64076541de46bb43111
Статус: WARNING

docker-compose.server.migrations.yml
Эталон: sha256:ab7068db1bffeda761cc014f0be7a90b9532833929edf575157e664e6c782fa8
Актуально: sha256:ab7068db1bffeda761cc014f0be7a90b9532833929edf575157e664e6c782fa8
Статус: OK

docker-compose.server.yml
Эталон: sha256:7db5d1b4c481300129e49e52f30ec798ef37656b98ce1b63bff4057943482f99
Актуально: sha256:7db5d1b4c481300129e49e52f30ec798ef37656b98ce1b63bff4057943482f99
Статус: OK

docker-compose.yml
Эталон: sha256:0f0bd9e8ad54835a1211f14ea576252cc2ffad90b860471b7bf71fd684376092
Актуально: sha256:0f0bd9e8ad54835a1211f14ea576252cc2ffad90b860471b7bf71fd684376092
Статус: OK

init/database/init-database.sh
Эталон: sha256:a92a5a1b5459304be4f521f28c838051ff81db32315bd3bdca1def14a3911d44
Актуально: sha256:a92a5a1b5459304be4f521f28c838051ff81db32315bd3bdca1def14a3911d44
Статус: OK

init/nginx/static/docs/swagger-ui-bundle.js
Эталон: sha256:2a556306524bed2ca668ec5ae19b1dbd4d9cdaa34795c9063a1c44b29a9c6097
Актуально: sha256:2a556306524bed2ca668ec5ae19b1dbd4d9cdaa34795c9063a1c44b29a9c6097
Статус: OK

init/nginx/static/docs/swagger-ui.css
Эталон: sha256:c24ecffd63fc797d37bed1c68ea030479ad1c7a30638ffb6b5a2559ea98bc431
Актуально: sha256:c24ecffd63fc797d37bed1c68ea030479ad1c7a30638ffb6b5a2559ea98bc431
Статус: OK

init/step/organization.json
Эталон: sha256:bd90b0c7af56689f6be63bb0da93271efebeab46532a1e5c4925bc9e66fea21f
Актуально: sha256:bd90b0c7af56689f6be63bb0da93271efebeab46532a1e5c4925bc9e66fea21f
Статус: OK

init/step/templates/certs/x509/intermediate.tpl
Эталон: sha256:f2ac946eca3fca72668573205419f9a8be417dabe5c38101ce6c6e8c5eda0af3
Актуально: sha256:f2ac946eca3fca72668573205419f9a8be417dabe5c38101ce6c6e8c5eda0af3
Статус: OK

init/step/templates/certs/x509/leaf.tpl
Эталон: sha256:cab9e20a917e4c99952f14036dcd9e9195550bff56a77aa74674912c133535e8
Актуально: sha256:cab9e20a917e4c99952f14036dcd9e9195550bff56a77aa74674912c133535e8
Статус: OK

Результат: Обнаружены нарушения целостности (конфигурация: 11)
Ошибка: проверка целостности выявила нарушения (образы: 0, конфигурация: 11)

Демон периодического контроля целостности

Помимо разовых проверок при запуске, pamirctl поддерживает режим демона (--daemon), который непрерывно контролирует целостность запущенных контейнеров и немедленно останавливает те из них, что нарушают политику.

Что проверяется в каждом цикле (каждые 15 секунд по умолчанию):

  • имя образа контейнера присутствует в эталонном digests.json;
  • ImageID контейнера совпадает с эталонной контрольной суммой;
  • корневая файловая система контейнера смонтирована в режиме readonly.

При обнаружении нарушения контейнер немедленно останавливается. Повторный запуск заблокированного контейнера перехватывается через Docker Events API и также отклоняется.

Установка и запуск инсталлятором:

Сервис демона устанавливается и запускается автоматически при выполнении pamir-installer install для обычного (не root) пользователя:

  • файл юнита pamirctl.service копируется в ~/.config/systemd/user/;
  • при первичной установке сервис включается в автозагрузку (systemctl --user enable --now);
  • при обновлении сервис перезапускается (systemctl --user restart).
предупреждение

По умолчанию пользовательские сервисы systemd останавливаются при выходе пользователя из системы. Если инсталлятор обнаружит, что lingering не включён, он выведет соответствующее предупреждение. Для постоянной работы демона выполните:

sudo loginctl enable-linger $USER

Управление сервисом вручную:

# Проверить состояние
systemctl --user status pamirctl.service

# Просмотреть журнал в реальном времени
journalctl --user -u pamirctl -f

# Или читать файл аудита напрямую
tail -f ~/.pamirctl-audit-daemon.log
Astra Linux

На Astra Linux команда journalctl --user -u pamirctl -f может завершаться ошибкой No journal files were found. Для корректной работы включите персистентное хранение журнала:

sudo mkdir -p /var/log/journal
sudo systemd-tmpfiles --create --prefix /var/log/journal
sudo systemctl restart systemd-journald

Также следует добавить пользователя в группу systemd-journal (даёт доступ к системному журналу, где также отображаются записи пользовательских сервисов):

sudo usermod -aG systemd-journal $USER
# перелогиниться

Установка лицензии

Генерация запроса лицензии

Путь: Главная → Настройки → Лицензия → Информация о лицензии

  1. Нажмите Запросить лицензию — откроется форма.
  2. Заполните блок Правообладатель - информация о правообладателе.
  3. В блоке Информация о лицензии укажите:
    • Тип лицензии:
      • Временная — дополнительно задайте Срок действия.
      • Стандартная — Количество КЕ.
      • Профессиональная — КЕ не ограничены.
    • Количество объектов контроля
    • Количество КЕ
  4. Нажмите Отправить — скачается файл запроса лицензии.
    Передайте файл менеджеру/поставщику для выпуска итогового файла лицензии.

Загрузка полученной лицензии

Путь: Главная → Настройки → Лицензия → Информация о лицензии

  1. Нажмите Загрузить лицензию и выберите присланный файл.
  2. После успешной загрузки статус сменится на «Лицензия загружена».
    Отобразятся тип лицензии, срок действия , время выпуска и справочная информация по организации.

Проверка использования лицензии

Путь: Главная → Настройки → Лицензия → Использование лицензии

Здесь отображаются данные по использованию лицензии (использовано / доступно):

  • MONITORING — Объекты контроля.
  • CMDB — Конфигурационные единицы и Объекты контроля.

Порядок удаления приложения без удаления данных

Для удаления Памир необходимо примонтировать ISO-образ дистрибутива и из корня образа выполнить команду ./pamir-installer uninstall.

1. Монтирование образа ISO

sudo mount -o loop ./pamir-1.0.0-a3c92513-1738699172-astra1.7.iso /media/cdrom

2. Запуск установочного исполняемого файла

cd /media/cdrom
./pamir-installer uninstall

Деинсталлятор остановит работающие контейнеры, удалит их, образы контейнеров и сеть. Тома хранения данных (volumes) и директория приложения не будут удалены.

Порядок удаления приложения с удалением данных

1. Монтирование образа ISO

sudo mount -o loop ./pamir-1.0.0-a3c92513-1738699172-astra1.7.iso /media/cdrom

2. Запуск установочного исполняемого файла с флагом --purge

cd /media/cdrom
./pamir-installer uninstall --purge

В данном случае тома хранения данных (volumes), образы контейнеров и директория приложения будут удалены безвозвратно.

Пользователь по умолчанию

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

Логин: admin
Пароль: admin

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