Служба диагностики¶
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), обрабатывает поля вывода и очищает строки журнала после экспорта.
Возвращаемая форма:
Выдает ошибку 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 |
метаданные версии |