unpad-dev / elastic-apm-php-agent-laravel
Laravel 9+ 框架下 Elastic APM PHP Agent 的附加功能
0.9.0
2023-01-18 18:47 UTC
Requires
- php: ^8.0.2
Requires (Dev)
- elastic/apm-agent: *
- laravel/framework: ^9.19
This package is not auto-updated.
Last update: 2024-09-27 16:17:40 UTC
README
在 Elastic APM PHP Agent 中使用 Laravel 9+ 框架时的附加功能
功能
- Artisan 事务名称 带参数和选项
- 作业事务 用于
queue:work和queue:listen - 作业过程 在 作业事务 中
- 控制器过程 在 请求事务 中
安装
1. 安装 Elastic APM PHP Agent
Debian 11
- 根据
https://elastic.ac.cn/guide/en/apm/agent/php/1.x/setup.html的说明安装 Elastic APM PHP Agent - 配置 APM PHP Agent,直到它在
phpinfo()(PHP FPM) 中出现,并且也在php --ini(PHP Cli) 中出现 - 确保配置正常使用 Kibana(连接到 Elastic APM Server),在
Observability - APM菜单中查看 php.ini 文件中的elastic_apm.service_name值是否显示为 服务Docker
- 使用版本 1.1+ 的 unpad-nginx-php8.1 Docker 镜像
- 确保使用以下环境运行 docker 容器
| 环境变量 | 值 | 描述 |
|---|---|---|
| APM_ENABLED | true | Elastic APM PHP Agent 状态 |
| APM_SERVER_URL | http://elastic-apm-host:8200 | Elastic APM 服务器 URL |
| APM_SERVICE_NAME | 应用名称 | 应用程序名称 |
- 确保使用 Kibana(连接到 Elastic APM Server)在
Observability - APM菜单中查看容器环境中的APM_SERVICE_NAME值是否显示为 服务
2. 安装包
一旦安装了 PHP APM Elastic Agent,请使用 composer 安装此包
$ composer require unpad-dev/elastic-apm-php-agent-laravel
作业过程使用方法
将 Middleware \UnpadDev\ElasticApm\Middleware\JobMiddleware 绑定到每个 作业 的 middleware 方法,以在 Elastic APM 中显示 作业过程
use UnpadDev\ElasticApm\Middleware\JobMiddleware;
/**
* Get the middleware the job should pass through.
*
* @return array
*/
public function middleware()
{
return [new JobMiddleware];
}