Kickidler Server 2.0 для Linux — руководство администратора

Kickidler Server 2.0 для Linux — руководство администратора


1. Назначение

Этот документ описывает основные административные действия по установкепроверкедиагностике и удалению Kickidler Server на Linux-серверах семейства Debian.

Руководство предназначено для системных администраторовинженеров технической поддержки и специалистовотвечающих за развертывание или сопровождение Kickidler Server.

Документ включает:

  • подготовку перед установкой;
  • требования к серверу Ubuntu и Debian;
  • установку через.run-инсталлятор;
  • первый вход в веб-интерфейс;
  • проверку службы, PostgreSQL, health-check, диска и портов;
  • проверку портов и firewall;
  • основные расположения файловлоговданных и диагностических пакетов;
  • базовую диагностику и проверки по типовым проблемам;
  • удаление через Linux-uninstaller;
  • информациюкоторую нужно передать в техническую поддержку.

2. Перед началом

2.1. Системные требования для Kickidler Server на Linux

Требования являются ориентировочными и зависят от количества агентовнастроек скриншотовпериода храненияразмера базы PostgreSQL, активности отчетов и количества пользователей веб-интерфейса.

Платформа

Поддерживаемые версии

Архитектура

Рекомендуемое назначение

Примечание

Ubuntu Server

20.04, 22.04, 24.04

x64

Production

Рекомендуемый вариант Linux-сервера.

Debian

10, 11, 12

x64

Production / проектное развертывание

Перед установкой проверьте зависимости пакетов.


ПРИМЕЧАНИЕ

В этом руководстве указаны только Ubuntu и Debian. Для других Linux-дистрибутивов используйте отдельное проверенное руководство по развертыванию или предварительно согласуйте условия поддержки с технической поддержкой.


Параметр

Минимуммалая нагрузка

Рекомендовано до ~1000 агентов

1000+ / высокая нагрузка

CPU

2 vCPU / x64

4 vCPU / x64

8+ vCPU / x64

RAM

2 GB

4-8 GB

16+ GB

Диск

SSD

SSD / NVMe

SSD / NVMe; желательно отдельный диск для PostgreSQL

Свободное место

20-40 GB без учета БД и собираемых данных

Рассчитывается по периоду хранения данных

Рассчитывается по фактическому объему БДлоговскриншотов, livestream и резервных копий

Сеть

100 Mbps

1 Gbps

1 Gbps+

Примечания по хранилищусети и питанию:

  • HDD не рекомендуется для production-развертываний.
  • Планируйте объем диска как ОСсерверное приложение + PostgreSQL + собираемые данныелогирезервные копии + 30% запаса.
  • Средний трафик для 1000 агентов обычно составляет около 3-8 Mbps; при отправке скриншотов возможны значительно более высокие burst-пикиЗакладывайте 30-50% сетевого резерва.
  • Production-сервер должен быть постоянно доступенОтключите sleep/hibernate тамгде это применимо.

2.2. Чек-лист подготовки к установке

Личный кабинет

https://my.kickidler.ru

Пример инсталлятора

Kickidler_Server_2.x.x.x_amd64.run

Целевая ОС

Ubuntu Server или Debian x64

Уровень доступа

sudo-права на сервере

Перед установкой подготовьте:

  • чистый сервер Ubuntu Server или Debian, физический или виртуальный;
  • Linux.run-инсталлятор Kickidler Server;
  • активный ключ сервера из личного кабинета;
  • SSH-доступесли установка выполняется удаленно;
  • достаточное место на диске для сервера, PostgreSQL, логовскриншотов, livestream-данных и диагностических пакетов;
  • сетевой доступ к центрам лицензирования и обновлений.

ВАЖНО

Если Linux EDR, антивирус или endpoint protection блокирует инсталляторзапуск службыработу PostgreSQL, запись логов или сетевые соединенияотключайте только блокирующую проверку и только если это разрешено политикой компанииПосле установки включите защиту обратноНе добавляйте в исключения весь /, /opt, /var, /tmp или домашние каталоги пользователей.

3. Установка Kickidler Server

3.1. Подготовка к установке

Перед запуском инсталлятора убедитесьчто:

  • установочный файл загружен на сервер Ubuntu или Debian;
  • ключ сервера получен из личного кабинета my.kickidler.ru;
  • у пользователя есть sudo-права;
  • политики firewall и endpoint protection не блокируют выполнение инсталлятора или запуск службы;
  • сервер имеет сетевой доступ к центрам лицензирования и обновлений.

3.2. Открытие терминала или SSH-сессии

Установка выполняется из терминалаНа локальном сервере Ubuntu или Debian откройте Terminal. На удаленном сервере подключитесь по SSH.

ssh user@server-address

3.3. Переход в папку с установочным файлом

Если файл был загружен через браузер на сервереобычно он находится в папке Downloads.

cd ~/Downloads

ls

Если установочный файл находится в другой директорииперейдите в нужную директорию.

3.4. Подготовка.run-файла к запуску

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

chmod +x Kickidler_Server_2.x.x.x_amd64.run

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

3.5. Запуск установки от имени администратора

Запустите инсталлятор с правами администратора.

ПРИМЕЧАНИЕ

sudo./Kickidler_Server_2.x.x.x_amd64.run


ВАЖНО

Символы пароля не отображаются в терминале во время вводаЭто нормальнопароль вводитсядаже если на экране ничего не появляется.

3.6. Настройка Kickidler Server в инсталляторе

После запуска откроется текстовый инсталлятор Kickidler Server Setup.

Клавиша

Действие

Enter

Подтвердитьпродолжить

Esc

Отмена

Space

Выбрать параметр

PgUp / PgDn

Прокрутка текста

Выполните шаги по порядку:

  1. На экране Welcome нажмите Enter.
  2. На экране License Agreement при необходимости прокрутите текст.
  3. Выберите I accept the License Agreement и нажмите Enter.
  4. На экране Activation Key введите ключ сервера из личного кабинета my.kickidler.ru и нажмите Enter.
  5. На экране Data Storage оставьте значение embedded по умолчаниюесли не требуется внешняя база PostgreSQL.
  6. На экране Database Name оставьте значение по умолчанию и нажмите Enter.
  7. На экране настройки master server оставьте значение по умолчаниюесли администратор не указал другую топологию.
  8. На экране Update/Licensing Centers Configuration оставьте auto и нажмите Enter.
  9. На экране Ready to Install проверьте параметры и нажмите Enter.
  10. Дождитесь завершения установки.

После успешного завершения должно появиться сообщение:

ПРИМЕЧАНИЕ

Installation completed.

После этого Kickidler Server должен быть установлен и запущен как системная служба.

3.7. Запись лога установки

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

ПРИМЕЧАНИЕ

script -a server_install.log sudo./Kickidler_Server_2.x.x.x_amd64.run exit

Приложите server_install.log к обращению в поддержку и укажитена каком шаге произошла ошибка.

3.8. Ошибка проверки ключа при установке

Если инсталлятор сообщаетчто ключ отклонен сервером лицензированиявыполните следующие действия.

  1. Проверьтечто ключ введен без ошибок.
  2. Убедитесьчто используется актуальный ключ из https://my.kickidler.ru.
  3. Проверьтечто сервер может подключаться к центрам лицензирования и обновлений.
  4. Запустите установку повторно с корректным ключом.
  5. Если ключ введен правильноно ошибка повторяетсяобратитесь в техническую поддержку Kickidler и приложите скриншот ошибки.

4. Первый вход в веб-интерфейс

После установки откройте центральный веб-интерфейс сервера в браузере на сервере:

http://localhost:8123

С другого компьютера в той же сети используйте IP-адрес или DNS-имя сервера:

http://SERVER_ADDRESS:8123

Замените SERVER_ADDRESS на фактический IP-адрес или DNS-имя Linux-сервера.

Поле

Значение по умолчанию

Логин

admin

Пароль

admin


ВАЖНО

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

5. Правила firewall и безопасности

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

Порт

Назначение

Входящий доступ

8123/tcp

Веб-интерфейс и REST API

Даиз сети администраторов/пользователей

16000/tcp

Точка подключения агентов

Дас рабочих станций агентов

16001/tcp

Live/WebSocket-канал веб-интерфейса

Даиз сети авторизованных пользователей

5432/tcp

Внешний PostgreSQL

Только если PostgreSQL находится на другом хосте

5433/tcp

Встроенный PostgreSQL

Нетоставлять только локально

Пример для ufw на системах Ubuntu/Debian, где используется ufw:

sudo ufw allow 8123/tcp

sudo ufw allow 16000/tcp

sudo ufw allow 16001/tcp

sudo ufw status


ПРИМЕЧАНИЕ

Не открывайте PostgreSQL для рабочих станций пользователейагентов или интернетаЕсли используется внешний PostgreSQL, разрешайте доступ только между Kickidler Server и хостом PostgreSQL.

6. Проверка после установки

После установки проверьте следующее:

  • открывается ли веб-интерфейс;
  • запущена ли служба Kickidler Server;
  • запущен ли встроенный PostgreSQL, если он был выбран при установке;
  • отвечает ли health-check;
  • слушаются ли необходимые порты;
  • есть ли критические ошибки в nns_v2.log;
  • не блокируют ли сервер firewall, антивирус или EDR.

6.1. Проверка веб-интерфейса

Откройте веб-интерфейс на сервере:

http://localhost:8123

Или с другого компьютера в локальной сети:

http://SERVER_ADDRESS:8123

Если страница открывается и появляется форма входавеб-интерфейс Kickidler Server доступенЕсли страница не открываетсяпроверьте:

  • запущена ли служба kickidler;
  • слушается ли порт 8123;
  • не заблокирован ли доступ Linux firewall или сетевым firewall;
  • есть ли ошибки в nns_v2.log или journald.

6.2. Проверка службы Kickidler Server

Проверьте статус службы:

sudo systemctl status kickidler

Если используется встроенный PostgreSQL, также проверьте:

sudo systemctl status kickidler-pg

При корректной работе сервера статус службы должен быть active / running.

Если служба не запущенапопробуйте запустить ее:

sudo systemctl start kickidler

Если служба не запускается или сразу останавливаетсяпроверьте journald и nns_v2.log:

sudo journalctl -u kickidler -n 200 --no-pager

sudo tail -n 200 /var/log/kickidler/nns_v2.log

6.3. Проверка Health-Check

Kickidler Server отвечает на health-check по HTTP-порту 8123.

curl -s http://localhost:8123/health

Ожидаемый результатответ сервера со статусом ok, например:

{ "status": "ok", "time": "2026-05-26T12:00:00Z" }


ПРИМЕЧАНИЕ

HTTP 200 от health-check означаетчто процесс запущен и HTTP-router отвечаетЭто не доказываетчто agent TLS server, WebSocket server или PostgreSQL работают корректноДополнительно проверьте порты и логи.

6.4. Проверка прослушиваемых портов

Проверьтеслушает ли сервер необходимые порты:

sudo ss -tlnp | grep -E '8123|16000|16001|5433'

Если проверяете доступность с другого компьютераукажите IP-адрес или DNS-имя сервера и нужный портПримеры:

nc -vz SERVER_ADDRESS 8123

nc -vz SERVER_ADDRESS 16000

nc -vz SERVER_ADDRESS 16001

6.5. Проверка встроенного PostgreSQL

Если при установке был выбран встроенный PostgreSQL, проверьте и службу PostgreSQL, и локальный порт PostgreSQL.

sudo systemctl status kickidler-pg --no-pager

sudo ss -tlnp | grep 5433

Служба встроенного PostgreSQL должна быть active / running и должна слушать локальноОна не должна быть доступна из внешних сетей.

ПРИМЕЧАНИЕ

Если используется внешний PostgreSQL, не используйте проверки kickidler-pg как основной индикаторВместо этого проверьте сетевую доступность внешнего хоста PostgreSQL с Kickidler Server и параметры доступа в config.yaml.

6.6. Проверка свободного места и путей хранения

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

df -h

sudo du -sh /var/lib/kickidler /var/log/kickidler 2>/dev/null

Если /var/lib/kickidler или /var/log/kickidler находятся на небольшом root-разделезаранее запланируйте отдельный том хранения до подключения большого количества агентов или включения интенсивного сбора скриншотов/livestream.

6.7. Проверка прав на файлы

Сервисный пользователь Kickidler должен иметь возможность читать файлы приложениязаписывать логизаписывать собираемые данные и обращаться к данным PostgreSQL, если используется встроенный PostgreSQL.

id kickidler

ls -ld /opt/kickidler /var/lib/kickidler /var/log/kickidler

sudo -u kickidler test -r /opt/kickidler/config.yaml && echo config-readable

sudo -u kickidler test -w /var/log/kickidler && echo logs-writable

Если права были изменены вручную или инструментами backup/restore, восстановите владельца и права согласно официальной структуре установки перед перезапуском службы.

6.8. Проверка состояния firewall на Ubuntu/Debian

На серверах Ubuntu/Debian конфигурация firewall зависит от окруженияПроверьте ufw, если он используетсяа также проверьтене фильтрует ли трафик другой firewall или cloud security group.

sudo ufw status verbose

sudo iptables -S | head -50

sudo ss -tlnp | grep -E "8123|16000|16001|5433"

Если сервер размещен в облачной платформетакже проверьте правила cloud firewall/security group. Открытый локальный порт не гарантирует внешнюю доступность.

6.9. Краткая сводка проверки

Проверка

Ожидаемый результат

Если не выполненопроверьте

Веб-интерфейс

Страница входа открывается по http://SERVER_ADDRESS:8123

службу kickidler, порт 8123, firewall, nns_v2.log

Служба сервера

kickidler находится в состоянии active / running

journald, nns_v2.log, config.yaml, PostgreSQL

Health endpoint

HTTP 200 и статус ok

статус службыпорт 8123, логи

Порт агентов

Порт 16000 слушается и доступен из сети агентов

firewall, server.addresses, статус лицензии

Порт Live/WebSocket

Порт 16001 слушается и доступен из сети пользователей

firewall, reverse proxy, фильтрацию WebSocket

Встроенный PostgreSQL

kickidler-pg активен, 5433 доступен только локально

логи службы PostgreSQL, дискправа

Логи

nns_v2.log содержит нормальные строки запуска и не содержит повторяющихся ERROR/panic

время запуска, WARN/ERROR-строки, worker-логи

6.10. Чек-лист проверки функций на Linux

Kickidler Server предоставляет одинаковую серверную функциональность на Windows и Linux. Отличается только уровень операционной системычерез который выполняется проверкана Linux состояние служб проверяется через systemd, логичерез файлы и journald, портычерез ss/nc, а хранилищечерез пути файловой системы в /var/lib/kickidler и /var/log/kickidler.

Область функции

Метод проверки на Linux

Ожидаемый результат

Веб-интерфейс / API

curl http://localhost:8123/health и открытие http://SERVER_ADDRESS:8123

HTTP отвечаетстраница входа открывается.

Точка подключения агентов

Проверка 16000/tcp через ss/nc и server.addresses в /opt/kickidler/config.yaml

Порт доступен из сети агентовагенты получают рабочий адрес.

Live / WebSocket channel

Проверка 16001/tcp через ss/nc; nns_v2.log и worker-логи livestream

WebSocket-канал доступен и не блокируется firewall/proxy.

Отчеты и статистика

Проверка worker-pps.log, worker-aps.log, worker-has.log, worker-tts.log, worker-recalc.log

Workers работают без повторяющихся ERROR/WARN.

Скриншоты и сохраненные данные

Проверка /var/lib/kickidler и screencast.hostPath в config.yaml

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

Диагностические пакеты

Проверка diagnostics.bundleDir в config.yaml и /var/lib/kickidler/bundles

Директория пакетов существует и имеет свободное место.

Встроенный PostgreSQL

systemctl status kickidler-pg и проверка локального порта 5433 через ss

Служба БД запущена и не доступна извне.

Используйте набор команд ниже как компактную сквозную проверку после установки или после изменения портовхранилищанастроек базы данных или reverse-proxy.

sudo systemctl status kickidler --no-pager

sudo systemctl status kickidler-pg --no-pager 2>/dev/null || true

curl -s http://localhost:8123/health

sudo ss -tlnp | grep -E "8123|16000|16001|5433"

sudo tail -n 100 /var/log/kickidler/nns_v2.log

sudo ls -ld /opt/kickidler /var/lib/kickidler /var/log/kickidler

7. Доступ к Kickidler Server из интернета

По умолчанию веб-интерфейс Kickidler Server доступен только в сетигде находится сервересли внешний доступ не настроен отдельно.

Для доступа из интернета обычно требуется один из следующих вариантов:

  • статический внешний IP-адрес;
  • port forwarding на роутере или firewall;
  • VPN-доступ в локальную сеть;
  • reverse proxy;
  • размещение сервера на VPS или выделенном сервере.

7.1. Какие порты открывать

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

  • 8123/tcp - веб-интерфейс и REST API;
  • 16000/tcp - точка подключения агентов;
  • 16001/tcp - Live и WebSocket-обновления;
  • 5432/tcp - только между Kickidler Server и внешним хостом PostgreSQL, никогда публично;
  • 5433/tcp - встроенный PostgreSQL, оставлять только локально.

7.2. Адрес сервера для агентов

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

По умолчанию сервер автоматически определяет не-loopback IPv4-интерфейсыНастраивайте server.addresses вручнуюесли сервер находится за NAT, имеет несколько интерфейсов или агенты должны использовать DNS-имя.

Файл конфигурации:

/opt/kickidler/config.yaml

Пример:

ПРИМЕЧАНИЕ

server: addresses: "server.example.com:16000|10.0.0.5:16000"

После изменения config.yaml перезапустите службу:

sudo systemctl restart kickidler

7.3. Рекомендации по безопасности

Не рекомендуется открывать административный веб-интерфейс Kickidler Server в интернет без дополнительных ограничений.

Рекомендуемые действия:

  • изменить пароль администратора после первого входа;
  • по возможности ограничить доступ к портам по исходным IP-адресам;
  • использовать VPN для административного доступа;
  • не открывать PostgreSQL наружу;
  • проверить правила firewall после настройки;
  • использовать защищенный канал доступаесли сервер доступен из внешней сети.

8. Основные расположения файлов

В этом разделе пути и значения показаны отдельными блокамиТакой формат надежен при экспорте в PDF и не зависит от ширины таблицы.

Типичные пути установки Linux:

Элемент

Типичное расположение

Бинарный файл сервера

/opt/kickidler/nns_v2

Основной файл конфигурации

/opt/kickidler/config.yaml

Основной лог-файл

/var/log/kickidler/nns_v2.log

Worker-логи

/var/log/kickidler/worker-<name>.log

Хранилище скриншотов

/var/lib/kickidler/screenshots/YYYY/MM/DD/agentID/

Диагностические пакеты

/var/lib/kickidler/bundles/

TLS-сертификаты агентов

/opt/kickidler/certs/server.crt, server.key, ca.crt

systemd unit сервера

/lib/systemd/system/kickidler.service

systemd unit встроенного PostgreSQL

/lib/systemd/system/kickidler-pg.service

Директория данных встроенного PostgreSQL

/var/lib/kickidler/pgdata

Кэш лицензии

/var/lib/kickidler/license.cache


ПРИМЕЧАНИЕ

Фактический путь логов определяется параметром logs.path в config.yaml. Пути скриншотов, livestream и диагностических пакетов также могут быть изменены в config.yaml. Если путь был изменен вручнуюиспользуйте фактическое значение из config.yaml, а не предполагаемый путь.

8.1. Логи фоновых worker-задач

Фоновые задачи записывают отдельные файлы в директорию логовИмена файлов обычно имеют следующий формат:

/var/log/kickidler/worker-<name>.log

Примеры:

/var/log/kickidler/worker-resource-monitor.log

/var/log/kickidler/worker-events.log

/var/log/kickidler/worker-livestream-transcode.log

9. Управление службой

На Linux используйте systemd для управления Kickidler Server.

9.1. Стандартные команды службы

sudo systemctl status kickidler

sudo systemctl restart kickidler

sudo systemctl stop kickidler

sudo systemctl start kickidler

sudo systemctl enable kickidler

Встроенный PostgreSQL, если установлен:

sudo systemctl status kickidler-pg

sudo systemctl restart kickidler-pg

9.2. Ручной запуск сервера для диагностики

Если служба не запускаетсяа логи не показывают понятную причинувременно запустите сервер вручнуюРучной запуск часто сразу показывает ошибку синтаксиса config.yaml, проблему подключения к PostgreSQL или проблему прав доступа к файлам.

sudo -u kickidler /opt/kickidler/nns_v2

Остановите ручной запуск через Ctrl+C. После проверки запустите обычную службу снова:

sudo systemctl start kickidler

10. Проверка логов

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

10.1. Просмотр последних строк nns_v2.log

sudo tail -n 200 /var/log/kickidler/nns_v2.log

Чтобы смотреть лог в реальном времени:

sudo tail -f /var/log/kickidler/nns_v2.log

Также можно читать логи службы через journald:

sudo journalctl -u kickidler -n 200 --no-pager

sudo journalctl -u kickidler -f

10.2. Просмотр логов фоновых worker-задач

Если проблема связана с отчетамистатистикой, Live, очисткой данных или производительностьюдополнительно проверьте соответствующие worker-*.log файлы.

sudo ls -1 /var/log/kickidler/worker-*.log

sudo tail -n 200 /var/log/kickidler/worker-resource-monitor.log

sudo tail -n 200 /var/log/kickidler/worker-events.log

10.3. Индикаторы нормального запуска в логах

После успешного запуска в логах должны быть похожие строки:

ПРИМЕЧАНИЕ

[server] Starting Kickidler Server version=2.0.X build=Y http_port=8123 ssl_port=16000 live_port=16001 [server] Database pool initialized total_conns=N max_conns=10 [server] All components initialized successfully [service] Service started successfully

Если сервер не запускаетсяпроверьте строки с WARN, ERROR, panic, database, license или migration вокруг времени запуска.

10.4. Лог-паттерныкоторые нужно проверить первыми

Паттерн

Значение

Первое действие

Failed to connect to database

PostgreSQL недоступен или указаны неверные учетные данные БД.

Проверьте db.* в config.yaml и службу kickidler-pg или внешний PostgreSQL.

License check failed

Проверка лицензии не выполнена или сервер не может подключиться к endpoint лицензирования.

Проверьте сетьактуальность ключадату/время и точную ошибку ключа/инсталлятора.

migrations failed / failed to apply

Миграция базы данных не выполнена при запуске.

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

panic / stack trace

Процесс сервера аварийно завершился.

Соберите полный блок panic и минимум 300 строк перед ним.

channel full / batch flush failed

Сервер или PostgreSQL не успевают обрабатывать входящие данные.

Проверьте нагрузку БД, disk I/O, worker-resource-monitor и количество агентов.

ffmpeg not found

Не может работать cold-транскодирование livestream.

Проверьте доступность ffmpeg и livestream.ffmpegPath.

10.5. Сбор логов за временной интервал

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

sudo journalctl -u kickidler --since "1 hour ago" --no-pager > /tmp/kickidler-journal.log

sudo tail -n 1000 /var/log/kickidler/nns_v2.log > /tmp/kickidler-server-tail.log

sudo ls -lh /var/log/kickidler/

Для проблем с производительностьюотчетамиочисткой данных или Live приложите соответствующие worker-логи дополнительно к nns_v2.log.

10.6. Создание базового архива для поддержки

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

sudo mkdir -p /tmp/kickidler-support

sudo cp /opt/kickidler/config.yaml /tmp/kickidler-support/config.yaml

sudo cp /var/log/kickidler/nns_v2.log /tmp/kickidler-support/nns_v2.log 2>/dev/null || true

sudo cp /var/log/kickidler/worker-*.log /tmp/kickidler-support/ 2>/dev/null || true

sudo systemctl status kickidler --no-pager > /tmp/kickidler-support/svc.txt

sudo systemctl status kickidler-pg --no-pager > /tmp/kickidler-support/pgsvc.txt 2>/dev/null || true

curl -s http://localhost:8123/health > /tmp/kickidler-support/health.txt 2>/dev/null || true

hostnamectl > /tmp/kickidler-support/host.txt 2>/dev/null || true

df -h > /tmp/kickidler-support/df.txt

ss -tlnp > /tmp/kickidler-support/ports.txt

sudo tar czf /tmp/kickidler-support-$(date +%F).tgz -C /tmp kickidler-support


ВАЖНО

Перед отправкой архива удалите или замаскируйте секреты в config.yaml, особенно jwt.secret, db.password, токеныприватные ключи и любые пользовательские учетные данные.

11. Базовая диагностика

11.1. Веб-интерфейс не открывается

Проверьте статус службы:

sudo systemctl status kickidler

Проверьте порт веб-интерфейса:

sudo ss -tlnp | grep 8123

curl -I http://localhost:8123

Проверьте последние строки nns_v2.log:

sudo tail -n 200 /var/log/kickidler/nns_v2.log

Также проверьте правила Linux firewall и сетевого firewall между клиентским компьютером и сервером.

11.2. Агенты не подключаются к серверу

Проверьте порт подключения агентов:

sudo ss -tlnp | grep 16000

nc -vz SERVER_ADDRESS 16000

Проверьте значение server.addresses в файле:

/opt/kickidler/config.yaml

Также проверьте:

  • получают ли агенты корректный адрес сервера;
  • доступность сервера из сети рабочих станций;
  • firewall между агентами и сервером;
  • наличие действующей лицензии;
  • отсутствие блокировки антивирусом или EDR.

11.3. Live или обновления веб-интерфейса не работают

Проверьте порт Live и WebSocket:

sudo ss -tlnp | grep 16001

nc -vz SERVER_ADDRESS 16001

Проверьтене блокируется ли WebSocket-соединение firewall, reverse proxy или корпоративным proxy. В логах проверяйте сообщения с префиксом live или livestream.

11.4. Ошибка подключения к PostgreSQL

Если в логах есть ошибки подключения к базе данныхпроверьте параметры базы в config.yaml:

ПРИМЕЧАНИЕ

db: host: localhost port: 5433 user: postgres password: <secret> dbname: kickidler sslmode: disable

Если используется встроенный PostgreSQL, обычно он доступен локально на порту 5433 и управляется службой kickidler-pg:

sudo systemctl status kickidler-pg

sudo ss -tlnp | grep 5433

Если используется внешний PostgreSQL, проверьте сетевой доступучетные данные, SSL mode, версию PostgreSQL и права базы данных.

11.5. Служба запускается и затем останавливается

Если служба запускается и затем останавливаетсяпроверьте:

  • синтаксис и отступы config.yaml;
  • доступность PostgreSQL;
  • права на /opt/kickidler, /var/log/kickidler и /var/lib/kickidler;
  • свободное место на диске;
  • ошибки проверки лицензии;
  • panic или stack trace в journald или nns_v2.log.

Если лог-файл не показывает причинузапустите бинарный файл вручнуюкак описано в разделе 9.2.

11.6. Установка завершенано веб-интерфейс не открывается

Если инсталлятор завершился успешноно веб-интерфейс недоступенвыполните проверки в следующем порядке.

sudo systemctl status kickidler --no-pager

sudo ss -tlnp | grep 8123

curl -I http://localhost:8123

sudo tail -n 300 /var/log/kickidler/nns_v2.log

sudo journalctl -u kickidler -n 300 --no-pager

Если localhost работаета доступ с другого компьютера нетпроблема обычно в firewall, маршрутизации, cloud security group, reverse proxy или некорректном адресе сервера.

11.7. Агенты не появляются в веб-интерфейсе

Если сервер открываетсяно агенты не появляются или не подключаютсяпроверьте точку подключения агентов и адрескоторый получают агенты.

sudo ss -tlnp | grep 16000

nc -vz SERVER_ADDRESS 16000

grep -n "addresses" /opt/kickidler/config.yaml

sudo tail -n 300 /var/log/kickidler/nns_v2.log

Также подтвердитечто ключ сервера действителенагенты используют корректную продуктовую/кабинетную среду и firewall не блокирует порт 16000 из сети рабочих станций.

11.8. Live или Replay не показывает данные

Для проблем Live или replay проверьте порт 16001, фильтрацию WebSocket, worker-логи livestream и доступность хранилища.

sudo ss -tlnp | grep 16001

nc -vz SERVER_ADDRESS 16001

sudo tail -n 300 /var/log/kickidler/worker-livestream-finalise.log 2>/dev/null

sudo tail -n 300 /var/log/kickidler/worker-livestream-transcode.log 2>/dev/null

df -h

Если сервер находится за reverse proxy, подтвердитечто WebSocket upgrade headers передаются корректно и порт 16001 или сопоставленный WebSocket route доступен.

11.9. Отчетыстатистика или перерасчет задерживаются

Если отчеты или статистика задерживаютсяпроверьте фоновые worker-задачинагрузку PostgreSQL и признаки disk I/O проблем.

sudo tail -n 300 /var/log/kickidler/worker-resource-monitor.log 2>/dev/null

sudo tail -n 300 /var/log/kickidler/worker-recalc.log 2>/dev/null

sudo tail -n 300 /var/log/kickidler/worker-pps.log 2>/dev/null

sudo tail -n 300 /var/log/kickidler/worker-tts.log 2>/dev/null

df -h

free -h

Повторяющееся насыщение пула базы данныхмедленные запросы или ошибки worker-задач нужно эскалировать вместе с worker-логами и текущим количеством агентов.

11.10. Проблема со свободным местом или хранилищем данных

Если в логах есть ошибки записиотсутствующие файлыошибки сохранения скриншотовошибки создания диагностических пакетов или ошибки записи PostgreSQL, проверьте использование диска и настроенные пути хранения.

df -h

sudo du -sh /var/lib/kickidler/* /var/log/kickidler 2>/dev/null

grep -E "logs:|path:|hostPath|bundleDir|livestream" -n /opt/kickidler/config.yaml

Не удаляйте вручную файлы PostgreSQL или неизвестные директории данныхЕсли требуется срочная очисткасначала соберите логи и согласуйте план очистки с поддержкой.

11.11. Проверка внешнего PostgreSQL

Если используется внешний PostgreSQL, проверьте подключение и учетные данные с хоста Kickidler Server.

ПРИМЕЧАНИЕ

grep -n "db:" -A12 /opt/kickidler/config.yaml nc -vz POSTGRES_HOST 5432

Для поддержки укажите версию PostgreSQL, включен ли SSL, выполнялось ли восстановление БД из backup, и точную ошибку базы данных из nns_v2.log.

12. Удаление Kickidler Server

Перед удалением production-сервера решитенужно ли сохранить базу данныхскриншотылогидиагностические пакеты и конфигурациюУдаление директорий данных может безвозвратно удалить собранные данные.

12.1. Безопасная остановка сервера

Остановите Kickidler Server:

sudo systemctl stop kickidler

Если установлен встроенный PostgreSQL и сервер должен оставаться остановленнымостановите его после остановки серверной службы:

sudo systemctl stop kickidler-pg

Чтобы предотвратить автоматический запуск после перезагрузки:

sudo systemctl disable kickidler

sudo systemctl disable kickidler-pg

12.2. Удаление через Linux-uninstaller

Для Kickidler Serverустановленного через Linux.run-инсталляториспользуйте встроенный uninstaller, расположенный в директории установки сервераНе начинайте удаление с ручного удаления директорий.

sudo /opt/kickidler/ka-uninstaller

Если сервер был установлен в нестандартный путьзапустите uninstaller из фактической директории установки сервера:

sudo /opt/<server-path>/ka-uninstaller

Процесс удаления похож на uninstaller Windows Server: открывается интерактивное менюгде нужно выбратьчто удалитьа затем подтвердить операцию.

Во время удаления выберите вариант в зависимости от требуемого результата:

Вариант удаления

Когда использовать

Рискпримечание

Удалить только приложение

Нужно удалить серверное приложениено данные могут понадобиться позже.

Если uninstaller предлагает такой выборсохраните конфигурациюбазу данныхлогискриншоты и диагностические данные.

Удалить приложение и выбранные данные

Сервер выводится из эксплуатациисобранные данные больше не нужны.

Это может безвозвратно удалить данные PostgreSQL, скриншотылоги и пакетыСначала сделайте backup.

Отменить удаление

Нет уверенности в backup или требованиях к сохранению данных.

Остановитесь и уточнитечто нужно сохранитьдо продолжения.


ПРИМЕЧАНИЕ

Безопасность удаленияПеред выбором опции удаления подтвердитенужно ли сохранить базу данныхскриншотылогидиагностические пакетысертификаты и config.yaml. Удаление данных может быть необратимым.

Рекомендуемый порядок удаления:

  1. Предупредите пользователей и остановите административную работу в веб-интерфейсе.
  2. Создайте backup config.yaml и всех данныхкоторые нужно сохранить.
  3. Остановите Kickidler Serverесли он еще запущен.
  4. Запустите Linux-uninstaller из директории установки.
  5. Выберите в меню uninstaller, что необходимо удалить.
  6. Подтвердите операцию и дождитесь завершения uninstaller.
  7. Выполните проверки после удаления и подтвердите ожидаемое состояние.

sudo cp /opt/kickidler/config.yaml /tmp/kickidler-config.yaml.backup 2>/dev/null || true

sudo systemctl stop kickidler

sudo /opt/kickidler/ka-uninstaller

12.3. Проверки после удаления

После завершения uninstaller проверьтечто службы, unit-файлы и директории были удалены или сохранены в соответствии с выбранной опцией удаления.

systemctl list-units --all | grep -E "kickidler|nns" || true

systemctl list-unit-files | grep -E "kickidler|nns" || true

ls -ld /opt/kickidler /var/lib/kickidler /var/log/kickidler 2>/dev/null || true

sudo ss -tlnp | grep -E "8123|16000|16001|5433" || true

Если после удаления службы остаютсяперезагрузка обычно не является первым действиемСначала проверьтебыл ли uninstaller завершенбыла ли выбранная опция удаления рассчитана на сохранение данных/служб и не остался ли процесс в активной shell-сессии.

ПРЕДУПРЕЖДЕНИЕ

Предупреждение о данныхНе удаляйте вручную /var/lib/kickidler или данные встроенного PostgreSQL, если вы не уверенычто собранные данные и содержимое базы данных больше не нужны.

13. Информация для технической поддержки

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

13.1. Минимальная информация для любого обращения

Всегда указывайте:

  • название продукта и компонентKickidler Server for Linux;
  • дистрибутив и версию Linux: версия Ubuntu или Debian и архитектура;
  • версию Kickidler Serverесли известна;
  • имя установочного файланапример Kickidler_Server_2.x.x.x_amd64.run;
  • используется ли встроенный PostgreSQL или внешний PostgreSQL;
  • примерное количество агентов и когда началась проблема;
  • точный текст ошибкискриншот или вывод терминала;
  • какой компонент затронуттолько веб-интерфейсагенты, Live, отчетыбаза данных или все компоненты.

cat /etc/os-release

uname -a

hostnamectl

systemctl status kickidler --no-pager

curl -s http://localhost:8123/health

13.2. Если установка завершилась ошибкой

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

  • имя инсталлятора и источник загрузки;
  • статус ключа сервера или точную ошибку проверки ключа без раскрытия лишних секретов;
  • вывод терминала или скриншот из инсталлятора;
  • server_install.log, если установка записывалась через script;
  • версию дистрибутива Linux и контекст sudo-пользователя;
  • блокировал ли инсталлятор endpoint protection, EDR или firewall.

ПРИМЕЧАНИЕ

script -a server_install.log sudo./Kickidler_Server_2.x.x.x_amd64.run exit

13.3. Если служба не запускается

Приложите статус службывывод journald, nns_v2.log и конфигурацию с удаленными секретами.

sudo systemctl status kickidler --no-pager

sudo journalctl -u kickidler -n 500 --no-pager

sudo tail -n 500 /var/log/kickidler/nns_v2.log

sudo -u kickidler /opt/kickidler/nns_v2

Также укажитеначалась ли проблема после установкиизменения конфигурациивосстановления базыобновленияперезагрузкипереноса хранилища или изменения firewall.

13.4. Если агенты не подключаются

Приложите информацию по сети и server.addresses.

sudo ss -tlnp | grep -E "16000|8123|16001"

grep -n "addresses" /opt/kickidler/config.yaml

sudo tail -n 500 /var/log/kickidler/nns_v2.log

nc -vz SERVER_ADDRESS 16000

Если возможноукажите hostname одного проблемного агентаего сетевое расположение и результат проверки порта 16000 с этой рабочей станции.

13.5. Если не работает веб-интерфейс или Live

Приложите проверки web, WebSocket и firewall.

curl -I http://localhost:8123

sudo ss -tlnp | grep -E "8123|16001"

sudo ufw status verbose

sudo tail -n 500 /var/log/kickidler/nns_v2.log

sudo tail -n 500 /var/log/kickidler/worker-livestream-transcode.log 2>/dev/null

Если используется reverse proxy, укажите тип proxy, публичный URL, сопоставленные backend-порты и включен ли WebSocket upgrade.

13.6. Если есть проблемы PostgreSQL или хранилища данных

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

sudo systemctl status kickidler-pg --no-pager

sudo ss -tlnp | grep 5433

df -h

sudo du -sh /var/lib/kickidler /var/log/kickidler 2>/dev/null

grep -n "db:" -A12 /opt/kickidler/config.yaml

sudo grep -Ei "database|postgres|migration|panic|error" /var/log/kickidler/nns_v2.log | tail -n 100

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

13.7. Рекомендуемый архив для поддержки

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

sudo mkdir -p /tmp/kickidler-support

cat /etc/os-release > /tmp/kickidler-support/os.txt

uname -a > /tmp/kickidler-support/uname.txt

hostnamectl > /tmp/kickidler-support/host.txt 2>/dev/null || true

df -h > /tmp/kickidler-support/df.txt

free -h > /tmp/kickidler-support/free.txt

ss -tlnp > /tmp/kickidler-support/ports.txt

sudo ufw status verbose > /tmp/kickidler-support/ufw.txt 2>/dev/null || true

sudo systemctl status kickidler --no-pager > /tmp/kickidler-support/svc.txt

sudo systemctl status kickidler-pg --no-pager > /tmp/kickidler-support/pgsvc.txt 2>/dev/null || true

sudo journalctl -u kickidler -n 1000 --no-pager > /tmp/kickidler-support/journal.txt

curl -s http://localhost:8123/health > /tmp/kickidler-support/health.txt 2>/dev/null || true

sudo cp /opt/kickidler/config.yaml /tmp/kickidler-support/config.yaml

sudo cp /var/log/kickidler/nns_v2.log /tmp/kickidler-support/nns_v2.log 2>/dev/null || true

sudo cp /var/log/kickidler/worker-*.log /tmp/kickidler-support/ 2>/dev/null || true

sudo tar czf /tmp/kickidler-support-$(date +%F).tgz -C /tmp kickidler-support


ВАЖНО

Удалите или замаскируйте jwt.secret, db.password, токены, private keys и любые клиентские чувствительные значения из config.yaml перед отправкой архиваНе отправляйте дампы базы данных или скриншотыесли поддержка явно не запросила их.

13.8. Если удаление не завершилось или было прервано

Если Linux-uninstaller завершился ошибкойбыл прерван или неожиданно оставил службы запущеннымиприложите вывод uninstaller и текущее состояние служб/файлов.

sudo /opt/kickidler/ka-uninstaller

sudo systemctl status kickidler --no-pager 2>/dev/null || true

sudo systemctl status kickidler-pg --no-pager 2>/dev/null || true

systemctl list-units --all | grep -E "kickidler|nns" || true

ls -ld /opt/kickidler /var/lib/kickidler /var/log/kickidler 2>/dev/null || true

sudo journalctl -u kickidler -n 300 --no-pager 2>/dev/null || true

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

13.9. Что не нужно отправлять

Не отправляйте лишние чувствительные данныеОбычно технической поддержке не нужны:

  • полные дампы PostgreSQL, если они явно не запрошены;
  • private keys, токеныпароли в открытом виде или полный неотредактированный config.yaml;
  • большие архивы скриншотов/livestream, если проблема не связана именно с сохраненными визуальными данными;
  • несвязанные системные логи других служб;
  • персональные данные сотрудниковне относящиеся к инциденту.
    • Related Articles

    • Kickidler Agent 2.0 для Windows — руководство администратора

      1. Назначение Этот документ описывает базовые действия администратора при установке, проверке, диагностике и удалении Kickidler Agent на рабочей станции Windows. Инструкция предназначена для системных администраторов, инженеров технической поддержки ...
    • Kickidler Server 2.0 для Linux Ubuntu — быстрый старт по установке

      1. Назначение Этот документ поможет быстро установить Kickidler Server на сервер с Linux Ubuntu. 2. Перед установкой Подготовьте: сервер или виртуальную машину с Ubuntu; установочный файл Kickidler Server для Linux: ключ сервера из личного кабинета ...
    • Kickidler Server 1.0 для Linux — исправление ошибки SCRAM-аутентификации PostgreSQL

      1. Назначение В статье описано, как устранить ошибку аутентификации PostgreSQL, которая может появиться в логах Kickidler Server во время или после установки сервера на Linux. Инструкция предназначена для Kickidler Server 1.0 на Linux, когда ...
    • Быстрый старт по установке и удалению Kickidler Server 2.0 на Windows

      1. Назначение Этот документ поможет быстро установить и удалить Kickidler Server на компьютере с Windows. 2. Перед установкой Подготовьте: установочный файл Kickidler Server; ключ сервера из личного кабинета my.kickidler.ru; доступ к компьютеру с ...
    • Kickidler Agent 2.0 для Windows — удалённая и массовая установка

      1. Назначение Этот документ описывает базовый порядок удалённой установки Kickidler Agent 2.0 на рабочие станции Windows. Инструкция предназначена для системных администраторов, которые выполняют массовое развёртывание через: групповые политики ...