Перейти к содержанию

Служба диагностики

DiagnosticsService предоставляет помощников по оперативной диагностике:

  • Проверка SSL-сертификата
  • проверка совместимости кодеков
  • экспорт/отправка журнала панели управления
  • обнаружение IP-адреса внешнего API

Методы

getCertificateInfo(?string $certificate = null): ?array

Возвращает сведения о сертификате (serial, expiration, subject, path).

Если значение $certificate равно null, путь к сертификату автоматически определяется из конфигурации SSL nginx. Возвращает null, если файл отсутствует или не удалось выполнить синтаксический анализ OpenSSL.


checkCompatibility(array|string $data, bool $allowHEVC = false): bool

Проверяет, совместимы ли медиакодеки с ограничениями проигрывателя. Принимает полезную нагрузку FFProbe в виде массива или строки JSON.

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

  • видео: h264, vp8, vp9, ogg, av1
  • аудио: aac, libfdk_aac, opus, vorbis, pcm_s16le, mp2, mp3, flac

При $allowHEVC=true допускаются значения hevc/h265 и ac3.


downloadPanelLogs(object $db): array

Извлекает до 1000 последних строк из panel_logs (исключая epg), обрабатывает поля вывода и очищает строки журнала после экспорта.

Возвращаемая форма:

[
  'errors' => [...],
  'version' => '...'
]

Выдает ошибку Exception при сбое запроса к базе данных.


submitPanelLogs(object $db): string|false

Отправляет журналы панели в конечную точку удаленной диагностики и очищает отправленные журналы. Возвращает строку ответа в случае успеха, false в случае сбоя (например, не удается разрешить IP-адрес API). Используется для поддержки /телеметрии рабочих процессов.


panel_logs Форма (используемые поля)

Колонка Тип Значение
type строка тип события
log_message строка основное сообщение
log_extra строка дополнительный контекст
line инт исходная строка
date инт Временная метка UNIX

getPIDs(int $rServerID): array

Анализирует информацию о системном процессе из ответа API сервера. Возвращает структурированные данные процесса для мониторинга.


getNVENCProcesses(int $rServerID): array

Извлекает данные процесса GPU (NVENC) из информации о графическом процессоре сервера. Используется для диагностики кодирования на графическом процессоре.


Связанные файлы

Файл Цель
src/Core/Diagnostics/DiagnosticsService.php методы диагностики
src/Core/Logging/Logger.php записывает журналы
src/Core/Config/AppConfig.php метаданные версии