yoursurprisecom / monolog-dd-udp-handler
Monolog Datadog UDP Handler
v1.6.4
2024-09-06 07:20 UTC
Requires
- php: ^8.2
- ext-json: *
- ext-sockets: *
- datadog/dd-trace: >=0.94 <0.100 || ^1.0
- monolog/monolog: ^3.4
Requires (Dev)
- doctrine/coding-standard: ^12.0
- phpstan/phpstan: ^1.10.21
README
概述
此 Monolog 处理器会将消息发送到 dd-log-proxy 通过 UDP,而 dd-log-proxy
将消息通过 TCP 发送到 Datadog API。
Datadog 日志代理
此处理器是为了与用 go 编写的 Datadog 日志代理 一起使用。代理可以作为容器运行在与您应用程序相邻的位置,作为 sidecar 或作为独立服务。
一个代理针对所有应用程序
由于此处理器从当前跟踪中收集信息,因此只需要一个代理来处理所有应用程序。日志将连接到正确的跟踪和服务。
用法
使用 composer 安装包: composer require yoursurprisecom/monolog-dd-udp-handler
只需创建具有代理主机名和端口的处理器,并将处理器推送到 monolog
<?php use Monolog\Logger; use YourSurpriseCom\Monolog\DatadogUdp\Handler\DataDogUdpHandler; $logger = new Logger('my_logger'); $handler = new DataDogUdpHandler("<proxy host>",1053); $logger->pushHandler($handler); $logger->info("This log message is sent non blocking over UDP to Datadog!");
数据流
数据流如下
+-----+ +-------------------------+ +--------------+ +-------------+
| PHP | ==> | Monolog Datadog Handler | ==> (UDP) | dd-log-proxy | ==> (TCP) | Datadog API |
+-----+ +-------------------------+ +--------------+ +-------------+
Datadog
此处理器使用 Datadog PHP ddtrace 包 来收集有关当前跨度跟踪的信息。日志将与 UI 中的跟踪连接。
它还将创建自己的 Datadog 服务 log-proxy
,并具有自己的跨度。