Первый запуск
Для установки Памир на систему пользователя должен быть соблюден ряд технических требований.
Технические требования
Поддерживаемые операционные системы
Дистрибутивы 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 (установка от обычного пользователя) дополнительно требуется разрешить непривилегированным процессам использовать порты начиная с 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 Chrome | 108 |
| Mozilla Firefox | 101 |
| Opera | 94 |
| Яндекс Браузер | 23.1.1 |
| Microsoft Edge | 108 |
Содержимое дистрибутива
Образы контейнеров
В ходе установки будут загружены следующие образы контейнеров:
- 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.