PHP-FPM 集成
编辑PHP-FPM 集成
编辑概述
编辑PHP-FPM (FastCGI Process Manager) 是一种用于加速网站性能的 Web 工具。它比传统的基于 CGI 的方法快得多,并且能够同时处理巨大的负载。
使用 PHP-FPM 集成可以
- 收集与池和进程相关的指标。
- 创建可视化效果来监控、测量和分析使用趋势和关键数据,从而获得业务见解。
- 创建警报,通过在排除问题时引用相关日志来减少 MTTD 和 MTTR。
数据流
编辑PHP-FPM 集成收集指标数据。
指标提供对 PHP-FPM 统计信息的深入了解。PHP-FPM 集成收集的指标数据流包括 池 和 进程,以便用户可以监控和排除 PHP-FPM 实例的性能问题。
数据流
-
pool
:收集与连接处理、队列指标、进程管理器配置、进程活动和性能指标相关的信息。 -
process
:收集与请求指标、最新的 CPU 和内存使用情况以及当前运行状态相关的信息。
注意
- 用户可以在
Discover
中logs-*
索引模式下,监控和查看 PHP-FPM 摄取文档内的指标。
兼容性
编辑此集成已针对 v8.2
和 v8.1
独立版本的 PHP-FPM 进行了测试。
要求
编辑您需要 Elasticsearch 来存储和搜索数据,以及 Kibana 来可视化和管理数据。您可以使用我们在 Elastic Cloud 上的托管 Elasticsearch 服务(推荐),也可以在您自己的硬件上自行管理 Elastic Stack。
为了从 PHP-FPM 摄取数据,您必须知道 PHP-FPM 实例的主机和状态路径。
主机配置格式:http[s]://主机[:端口]
主机配置示例:https://127.0.0.1:8080
状态路径配置格式:/路径
状态路径配置示例:/status
设置
编辑有关如何设置集成的分步说明,请参阅入门指南。
验证
编辑成功配置集成后,单击 PHP-FPM 集成的“*资产*”选项卡以显示可用的仪表板。选择您配置的数据流的仪表板,其中应填充所需的数据。
故障排除
编辑如果 host.ip
在 logs-*
数据视图下出现冲突,则可以通过重新索引 Pool
和 Process
数据流的索引来解决此问题。
指标参考
编辑池
编辑pool
数据流收集与 FPM 状态页面的设置和内容相关的指标。
示例
pool
的事件示例如下
{ "@timestamp": "2023-07-28T10:10:15.918Z", "agent": { "ephemeral_id": "9581f949-002c-4a1f-8939-abae313a3e55", "id": "79efec86-f67c-4ca6-8a2e-a8900f9ae3ac", "name": "docker-fleet-agent", "type": "filebeat", "version": "8.7.1" }, "data_stream": { "dataset": "php_fpm.pool", "namespace": "ep", "type": "logs" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { "id": "79efec86-f67c-4ca6-8a2e-a8900f9ae3ac", "snapshot": false, "version": "8.7.1" }, "event": { "agent_id_status": "verified", "category": [ "web", "configuration", "process" ], "created": "2023-07-28T10:10:15.918Z", "dataset": "php_fpm.pool", "ingested": "2023-07-28T10:10:19Z", "kind": "event", "module": "php_fpm", "type": [ "info" ] }, "input": { "type": "httpjson" }, "php_fpm": { "pool": { "connections": { "accepted": 1, "listen_queue": { "max_size": 128, "requests": { "max": 0 } }, "queued": 0 }, "name": "www", "process_manager": { "type": "ondemand" }, "processes": { "active": { "count": 1, "max": 1 }, "children_reached": { "max": 0 }, "count": 1, "idle": 0 }, "slow_requests": 0, "start_since": 17, "start_time": 1690538998 } }, "service": { "address": "http://elastic-package-service_php_fpm_1" }, "tags": [ "php_fpm-pool", "forwarded" ] }
ECS 字段参考
有关 ECS 字段的详细信息,请参阅以下文档。
导出的字段
字段 | 描述 | 类型 | 单位 | 指标类型 |
---|---|---|---|---|
@timestamp |
事件时间戳。 |
日期 |
||
data_stream.dataset |
数据流数据集。 |
constant_keyword |
||
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
||
data_stream.type |
数据流类型。 |
constant_keyword |
||
input.type |
Filebeat 输入的类型。 |
keyword |
||
php_fpm.pool.connections.accepted |
已接受连接的总数。 |
long |
计数器 |
|
php_fpm.pool.connections.listen_queue.max_size |
侦听队列允许的最大大小。 |
long |
gauge |
|
php_fpm.pool.connections.listen_queue.requests.max |
在任何给定时间在侦听队列中看到的最大请求数。 |
long |
gauge |
|
php_fpm.pool.connections.queued |
当前正在等待空闲进程的请求数(积压)。 |
long |
gauge |
|
php_fpm.pool.name |
FPM 进程池的名称。 |
keyword |
||
php_fpm.pool.process_manager.type |
进程管理器类型 - static、dynamic 或 ondemand。 |
keyword |
||
php_fpm.pool.processes.active.count |
当前正在处理请求的进程数。 |
long |
gauge |
|
php_fpm.pool.processes.active.max |
并发活动的进程的最大数量。 |
long |
gauge |
|
php_fpm.pool.processes.children_reached.max |
是否曾达到最大进程数?如果达到,则显示的值为 1,否则值为 0。 |
long |
gauge |
|
php_fpm.pool.processes.count |
当前进程总数。 |
long |
gauge |
|
php_fpm.pool.processes.idle |
当前处于空闲状态(等待请求)的进程数。 |
long |
gauge |
|
php_fpm.pool.slow_requests |
已达到配置的 request_slowlog_timeout 的请求总数。 |
long |
计数器 |
|
php_fpm.pool.start_since |
自上次启动进程池以来的秒数。 |
long |
秒 |
计数器 |
php_fpm.pool.start_time |
上次启动进程池的日期/时间。 |
long |
进程
编辑process
数据流收集与请求持续时间、内容长度、进程状态等相关的指标。
示例
process
的事件示例如下
{ "@timestamp": "2023-07-28T10:11:12.080Z", "agent": { "ephemeral_id": "0f5589f7-327f-468e-b368-00ada3a96721", "id": "79efec86-f67c-4ca6-8a2e-a8900f9ae3ac", "name": "docker-fleet-agent", "type": "filebeat", "version": "8.7.1" }, "data_stream": { "dataset": "php_fpm.process", "namespace": "ep", "type": "logs" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { "id": "79efec86-f67c-4ca6-8a2e-a8900f9ae3ac", "snapshot": false, "version": "8.7.1" }, "event": { "agent_id_status": "verified", "category": [ "web", "configuration", "process" ], "created": "2023-07-28T10:11:12.080Z", "dataset": "php_fpm.process", "ingested": "2023-07-28T10:11:15Z", "kind": "event", "module": "php_fpm", "type": [ "info" ] }, "http": { "request": { "body": { "bytes": 0 }, "method": "GET" } }, "input": { "type": "httpjson" }, "php_fpm": { "process": { "pool": { "name": "www" }, "request": { "count": 1, "duration": 581, "last": { "cpu": { "pct": 0 }, "memory": 0 } }, "script": "-", "start_since": 0, "start_time": 1690539072, "state": "Running" } }, "process": { "pid": 33 }, "service": { "address": "http://elastic-package-service_php_fpm_1" }, "tags": [ "php_fpm-process", "forwarded" ], "url": { "original": "/status?json&full" }, "user": { "name": "-" } }
ECS 字段参考
有关 ECS 字段的详细信息,请参阅以下文档。
导出的字段
字段 | 描述 | 类型 | 单位 | 指标类型 |
---|---|---|---|---|
@timestamp |
事件时间戳。 |
日期 |
||
data_stream.dataset |
数据流数据集。 |
constant_keyword |
||
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
||
data_stream.type |
数据流类型。 |
constant_keyword |
||
input.type |
Filebeat 输入的类型。 |
keyword |
||
php_fpm.process.pool.name |
FPM 进程池的名称。 |
keyword |
||
php_fpm.process.request.count |
已服务的请求总数。 |
long |
计数器 |
|
php_fpm.process.request.duration |
请求的持续时间,以微秒为单位。 |
long |
微秒 |
gauge |
php_fpm.process.request.last.cpu.pct |
上次请求的 %cpu。如果进程未处于空闲状态,则此值为 0,因为计算是在请求处理完成后完成的。 |
long |
百分比 |
gauge |
php_fpm.process.request.last.memory |
上次请求消耗的最大内存量。如果进程未处于空闲状态,则此值为 0,因为计算是在请求处理完成后完成的。 |
long |
字节 |
gauge |
php_fpm.process.script |
上次请求执行的脚本的完整路径。如果不可用,则为-(例如,状态页面请求)。 |
keyword |
||
php_fpm.process.start_since |
自进程启动以来的秒数。 |
long |
秒 |
计数器 |
php_fpm.process.start_time |
进程启动的日期/时间。 |
long |
||
php_fpm.process.state |
进程的状态。 |
keyword |
变更日志
编辑变更日志
版本 | 详细信息 | Kibana 版本 |
---|---|---|
1.4.0 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
1.3.0 |
增强 (查看拉取请求) |
8.7.1 或更高版本 |
1.2.1 |
增强 (查看拉取请求) |
8.7.1 或更高版本 |
1.2.0 |
增强 (查看拉取请求) |
8.7.1 或更高版本 |
1.1.0 |
增强 (查看拉取请求) |
8.7.1 或更高版本 |
1.0.0 |
增强 (查看拉取请求) |
8.7.1 或更高版本 |
0.6.2 |
Bug 修复 (查看拉取请求) |
— |
0.6.1 |
增强 (查看拉取请求) |
— |
0.6.0 |
增强 (查看拉取请求) |
— |
0.5.1 |
Bug 修复 (查看拉取请求) |
— |
0.5.0 |
增强 (查看拉取请求) |
— |
0.4.0 |
增强 (查看拉取请求) |
— |
0.3.0 |
增强 (查看拉取请求) |
— |
0.2.2 |
增强 (查看拉取请求) |
— |
0.2.1 |
错误修复 (查看拉取请求) |
— |
0.2.0 |
增强 (查看拉取请求) |
— |
0.1.0 |
增强 (查看拉取请求) |
— |