Pawel Filipczak

隆重推出 Elastic 的 OpenTelemetry PHP 发行版

宣布 Elastic OpenTelemetry PHP 发行版的第一个 alpha 版本。在这篇博文中了解使用 OpenTelemetry 检测 PHP 应用程序是多么容易。

阅读时长 4 分钟
Introducing Elastic's distribution of OpenTelemetry PHP

我们很高兴推出 Elastic OpenTelemetry PHP 发行版的第一个 alpha 版本。在这篇文章中,您将学习如何轻松安装并为您的 PHP 应用程序设置监控。

背景

Elastic 正在将 OpenTelemetry (OTel) 标准化用于可观测性和安全数据收集。作为这项工作的一部分,我们正在提供 OpenTelemetry 语言 SDK 的发行版。我们的 AndroidiOS SDK 从一开始就基于 OpenTelemetry,并且我们最近发布了 Java.NETNode.jsPython 的 alpha 发行版。Elastic OpenTelemetry PHP 发行版是最新添加的。

入门

要为您的应用程序安装 Elastic OpenTelemetry PHP 发行版,请从 https://github.com/elastic/elastic-otel-php/releases 下载适合您 Linux 发行版的软件包。

目前,我们支持使用 DEB 和 RPM 软件包管理器(用于 x86_64 和 ARM64 处理器)的系统软件包。

对于基于 DEB 的系统,请运行以下命令

dpkg -i <package-file>.deb

对于基于 RPM 的系统,请运行以下命令

rpm -ivh <package-file>.rpm

对于基于 APK 的系统(Alpine),请运行以下命令

apk add --allow-untrusted <package-file>.apk

软件包安装程序将自动检测已安装的 PHP 版本并更新配置,因此监控扩展将在下次进程重启后可用(您需要重启进程以加载新的 php.ini 配置)。一些环境变量是必需的,用于为您的服务检测提供必要的配置。这些主要涉及您的跟踪的目标位置以及您的服务的标识。您还需要提供用于通过 Elastic 可观测性云进行身份验证的授权标头,以及将数据发送到的 Elastic Cloud 端点。

export OTEL_EXPORTER_OTLP_HEADERS="Authorization=<url encoded apikey header value>"
export OTEL_EXPORTER_OTLP_ENDPOINT=<your elastic cloud url>

其中

  • OTEL_EXPORTER_OTLP_ENDPOINT
    :将发送数据的端点的完整 URL。
  • OTEL_EXPORTER_OTLP_HEADERS
    :一个逗号分隔的
    key=value
    对列表,这些键值对将添加到每个请求的标头中。这通常用于身份验证信息。

重启应用程序后,您应该会在 Kibana 中看到对受监控应用程序的见解,例如服务地图和跟踪视图。在下面的示例中,您可以看到使用 Laravel 框架创建的 Aimeos 应用程序的跟踪详细信息。

下面是使用 HttpAsyncClient 的 Slim 应用程序示例

下一步是什么?

在此 alpha 版本中,我们支持从 8.0 到 8.3(含)的所有现代 PHP 版本,为 PHP 代码提供检测,包括流行的框架(如 Laravel、Slim 和 HttpAsyncClient),以及 PDO 等本机扩展。在未来的版本中,我们计划引入 OpenTelemetry 支持的其他功能,以及 Elastic APM 独有的功能,如推断跨度。

请继续关注!

Elastic 致力于帮助 OpenTelemetry 取得成功,并帮助我们的客户在其系统中使用 OpenTelemetry。去年,我们捐赠了 ECS,并继续致力于将其与 OpenTelemetry 语义约定集成。最近,我们正在努力将我们基于 eBPF 的分析器捐赠给 OpenTelemetry。我们为许多语言 SDK 和其他 OpenTelemetry 项目做出了贡献。

作为 PHP 发行版的作者,我们很高兴与 OpenTelemetry PHP 社区合作,并帮助使 PHP SDK 成为 PHP 可观测性的更强大、功能丰富和明显的选择。拥有发行版使我们可以灵活地在 vanilla OTel SDK 之上构建功能。目前,该发行版的一些优势包括:完全自动安装和完全自动检测。我们肯定会在可能的情况下将功能向上游贡献给 OTel PHP 项目,并且会在该发行版中包含其他功能(如果将其放在那里更有意义)。

Elastic OpenTelemetry PHP 发行版目前是 alpha 版本。请试用,让我们知道它是否可能适合您。请关注此处的最新版本。您可以通过项目问题跟踪器Elastic 的 PHP APM 讨论论坛与我们联系。

本文中描述的任何功能或特性的发布和时间安排仍由 Elastic 自行决定。目前不可用的任何功能或特性可能无法按时交付,或者根本无法交付。

分享这篇文章