tgoop.com/phpproglib/4877
Last Update:
Высокочастотные метрики в PHP с TCP-сокетами
Здесь описывается решение для высокочастотного логирования в среде с большим количеством запросов на сервере, использующем PHP. В статье объясняется, как отслеживать метрики производительности, такие как API и запросы к базе данных, с минимальным влиянием на работу системы.
Структура логирования: Приводится стандартизированная запись логов, где указывается название метрики, тип, значение и продолжительность выполнения.
Примеры логирования:
🔸API-запросы.
🔸SQL-запросы.
🔸Логирование файла и строки вызова через debug_backtrace.
Логирование через TCP сокет:
Предпочтительно отправлять логи напрямую в агрегатор через TCP-сокет, а не сохранять их. Используется формат NDJSON для передачи данных, а метрики агрегируются с помощью инструментов, таких как Prometheus.
Минимизация нагрузки: Описаны методы минимизации влияния логирования на систему:
✔️Логирование должно потреблять минимальные ресурсы (RAM, CPU, диск, сеть).
✔️Логирование можно включать/выключать без перезагрузки сервера.
✔️Логирование должно корректно работать даже в случае недоступности сервера для логов.
Метод обработки трех возможных состояний TCP-порта: Порт может быть открыт, закрыт или заблокирован брандмауэром, и система должна обрабатывать эти случаи без блокировки приложения.
BY Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Share with your friend now:
tgoop.com/phpproglib/4877