- Elastic integrations
- Integrations quick reference
- 1Password
- Abnormal Security
- ActiveMQ
- Active Directory Entity Analytics
- Admin By Request EPM integration
- Airflow
- Akamai
- Apache
- API (custom)
- Arbor Peakflow SP Logs
- Arista NG Firewall
- Atlassian
- Auditd
- Auth0
- authentik
- AWS
- Amazon CloudFront
- Amazon DynamoDB
- Amazon EBS
- Amazon EC2
- Amazon ECS
- Amazon EMR
- AWS API Gateway
- Amazon GuardDuty
- AWS Health
- Amazon Kinesis Data Firehose
- Amazon Kinesis Data Stream
- Amazon MQ
- Amazon Managed Streaming for Apache Kafka (MSK)
- Amazon NAT Gateway
- Amazon RDS
- Amazon Redshift
- Amazon S3
- Amazon S3 Storage Lens
- Amazon Security Lake
- Amazon SNS
- Amazon SQS
- Amazon VPC
- Amazon VPN
- AWS Bedrock
- AWS Billing
- AWS CloudTrail
- AWS CloudWatch
- AWS ELB
- AWS Fargate
- AWS Inspector
- AWS Lambda
- AWS Logs (custom)
- AWS Network Firewall
- AWS Route 53
- AWS Security Hub
- AWS Transit Gateway
- AWS Usage
- AWS WAF
- Azure
- Activity logs
- App Service
- Application Gateway
- Application Insights metrics
- Application Insights metrics overview
- Application State Insights metrics
- Azure logs (v2 preview)
- Azure OpenAI
- Billing metrics
- Container instance metrics
- Container registry metrics
- Container service metrics
- Custom Azure Logs
- Custom Blob Storage Input
- Database Account metrics
- Event Hub input
- Firewall logs
- Frontdoor
- Functions
- Microsoft Entra ID
- Monitor metrics
- Network Watcher VNet
- Network Watcher NSG
- Platform logs
- Resource metrics
- Spring Cloud logs
- Storage Account metrics
- Virtual machines metrics
- Virtual machines scaleset metrics
- Barracuda
- BeyondInsight and Password Safe Integration
- BitDefender
- Bitwarden
- blacklens.io
- Blue Coat Director Logs
- BBOT (Bighuge BLS OSINT Tool)
- Box Events
- Bravura Monitor
- Broadcom ProxySG
- Canva
- Cassandra
- CEL Custom API
- Ceph
- Check Point
- Cilium Tetragon
- CISA Known Exploited Vulnerabilities
- Cisco
- Cisco Meraki Metrics
- Citrix
- Claroty CTD
- Cloudflare
- Cloud Asset Inventory
- CockroachDB Metrics
- Common Event Format (CEF)
- Containerd
- CoreDNS
- Corelight
- Couchbase
- CouchDB
- Cribl
- CrowdStrike
- Cyberark
- Cybereason
- CylanceProtect Logs
- Custom Websocket logs
- Darktrace
- Data Exfiltration Detection
- DGA
- Digital Guardian
- Docker
- DomainTools Real Time Unified Feeds
- Elastic APM
- Elastic Fleet Server
- Elastic Security
- Elastic Stack monitoring
- Elasticsearch Service Billing
- Envoy Proxy
- ESET PROTECT
- ESET Threat Intelligence
- etcd
- Falco
- F5
- File Integrity Monitoring
- FireEye Network Security
- First EPSS
- Forcepoint Web Security
- ForgeRock
- Fortinet
- Gigamon
- GitHub
- GitLab
- Golang
- Google Cloud
- Custom GCS Input
- GCP
- GCP Audit logs
- GCP Billing metrics
- GCP Cloud Run metrics
- GCP CloudSQL metrics
- GCP Compute metrics
- GCP Dataproc metrics
- GCP DNS logs
- GCP Firestore metrics
- GCP Firewall logs
- GCP GKE metrics
- GCP Load Balancing metrics
- GCP Metrics Input
- GCP PubSub logs (custom)
- GCP PubSub metrics
- GCP Redis metrics
- GCP Security Command Center
- GCP Storage metrics
- GCP VPC Flow logs
- GCP Vertex AI
- GoFlow2 logs
- Hadoop
- HAProxy
- Hashicorp Vault
- HTTP Endpoint logs (custom)
- IBM MQ
- IIS
- Imperva
- InfluxDb
- Infoblox
- Iptables
- Istio
- Jamf Compliance Reporter
- Jamf Pro
- Jamf Protect
- Jolokia Input
- Journald logs (custom)
- JumpCloud
- Kafka
- Keycloak
- Kubernetes
- LastPass
- Lateral Movement Detection
- Linux Metrics
- Living off the Land Attack Detection
- Logs (custom)
- Lumos
- Lyve Cloud
- Mattermost
- Memcached
- Menlo Security
- Microsoft
- Microsoft 365
- Microsoft Defender for Cloud
- Microsoft Defender for Endpoint
- Microsoft DHCP
- Microsoft DNS Server
- Microsoft Entra ID Entity Analytics
- Microsoft Exchange Online Message Trace
- Microsoft Exchange Server
- Microsoft Graph Activity Logs
- Microsoft M365 Defender
- Microsoft Office 365 Metrics Integration
- Microsoft Sentinel
- Microsoft SQL Server
- Mimecast
- ModSecurity Audit
- MongoDB
- MongoDB Atlas
- MySQL
- Nagios XI
- NATS
- NetFlow Records
- Netskope
- Network Beaconing Identification
- Network Packet Capture
- Nginx
- Okta
- Oracle
- OpenAI
- OpenCanary
- Osquery
- Palo Alto
- pfSense
- PHP-FPM
- PingOne
- PingFederate
- Pleasant Password Server
- PostgreSQL
- Prometheus
- Proofpoint TAP
- Proofpoint On Demand
- Pulse Connect Secure
- Qualys VMDR
- QNAP NAS
- RabbitMQ Logs
- Radware DefensePro Logs
- Rapid7
- Redis
- Rubrik RSC Metrics Integration
- Sailpoint Identity Security Cloud
- Salesforce
- SentinelOne
- ServiceNow
- Slack Logs
- Snort
- Snyk
- SonicWall Firewall
- Sophos
- Spring Boot
- SpyCloud Enterprise Protection
- SQL Input
- Squid Logs
- SRX
- STAN
- Statsd Input
- Sublime Security
- Suricata
- StormShield SNS
- Symantec
- Symantec Endpoint Security
- Sysmon for Linux
- Sysdig
- Syslog Router Integration
- System
- System Audit
- Tanium
- TCP Logs (custom)
- Teleport
- Tenable
- Threat intelligence
- ThreatConnect
- Threat Map
- Thycotic Secret Server
- Tines
- Traefik
- Trellix
- Trend Micro
- TYCHON Agentless
- UDP Logs (custom)
- Universal Profiling
- Vectra Detect
- VMware
- WatchGuard Firebox
- WebSphere Application Server
- Windows
- Wiz
- Zeek
- ZeroFox
- Zero Networks
- ZooKeeper Metrics
- Zoom
- Zscaler
PHP-FPM Integration
editPHP-FPM Integration
editVersion |
1.5.1 (View all) |
Compatible Kibana version(s) |
8.13.0 or higher |
Supported Serverless project types |
Security |
Subscription level |
Basic |
Level of support |
Elastic |
Overview
editPHP-FPM (FastCGI Process Manager) is a web tool used to speed up the performance of a website. It is much faster than traditional CGI based methods and has the ability to handle tremendous loads simultaneously.
Use the PHP-FPM integration to:
- Collect metrics related to the pool and process.
- Create visualizations to monitor, measure, and analyze usage trends and key data, deriving business insights.
- Create alerts to reduce the MTTD and MTTR by referencing relevant logs when troubleshooting an issue.
Data streams
editThe PHP-FPM integration collects metrics data.
Metrics provide insight into the statistics of the PHP-FPM. The Metrics data streams collected by the PHP-FPM integration include pool and process so that the user can monitor and troubleshoot the performance of the PHP-FPM instances.
Data streams:
-
pool
: Collects information related to the connection handling, queue metrics, process manager configuration, process activity and performance indicators. -
process
: Collects information related to the request metrics, the latest CPU and memory usage and the current running state.
Note:
-
Users can monitor and view the metrics inside the ingested documents for PHP-FPM in the
logs-*
index pattern inDiscover
.
Compatibility
editThis integration has been tested against v8.2
and v8.1
standalone versions of PHP-FPM.
Requirements
editYou need Elasticsearch for storing and searching your data and Kibana for visualizing and managing it. You can use our hosted Elasticsearch Service on Elastic Cloud, which is recommended, or self-manage the Elastic Stack on your own hardware.
In order to ingest data from PHP-FPM, you must know the host(s) and status path of the PHP-FPM instance.
Host configuration format: http[s]://host[:port]
Example host configuration: http://localhost:8080
Status path configuration format: /path
Example Status path configuration: /status
Setup
editFor step-by-step instructions on how to set up an integration, see the Getting Started guide.
Validation
editAfter successfully configuring the integration, click on the Assets tab of the PHP-FPM integration to display the available dashboards. Select the dashboard for your configured data stream, which should be populated with the required data.
Troubleshooting
editIf host.ip
appears conflicted under the logs-*
data view, this issue can be resolved by reindexing the indices of the Pool
and Process
data streams.
Metrics reference
editPool
editThe pool
data stream collects metrics related to the setup and contents of the FPM status page.
Example
An example event for pool
looks as following:
{ "@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 Field Reference
Please refer to the following document for detailed information on ECS fields.
Exported fields
Field | Description | Type | Unit | Metric Type |
---|---|---|---|---|
@timestamp |
Event timestamp. |
date |
||
data_stream.dataset |
Data stream dataset. |
constant_keyword |
||
data_stream.namespace |
Data stream namespace. |
constant_keyword |
||
data_stream.type |
Data stream type. |
constant_keyword |
||
input.type |
Type of Filebeat input. |
keyword |
||
php_fpm.pool.connections.accepted |
The total number of accepted connections. |
long |
counter |
|
php_fpm.pool.connections.listen_queue.max_size |
The maximum allowed size of the listen queue. |
long |
gauge |
|
php_fpm.pool.connections.listen_queue.requests.max |
The maximum number of requests seen in the listen queue at any one time. |
long |
gauge |
|
php_fpm.pool.connections.queued |
The number of requests (backlog) currently waiting for a free process. |
long |
gauge |
|
php_fpm.pool.name |
The name of the FPM process pool. |
keyword |
||
php_fpm.pool.process_manager.type |
The process manager type - static, dynamic or ondemand. |
keyword |
||
php_fpm.pool.processes.active.count |
The number of processes that are currently processing requests. |
long |
gauge |
|
php_fpm.pool.processes.active.max |
The maximum number of concurrently active processes. |
long |
gauge |
|
php_fpm.pool.processes.children_reached.max |
Has the maximum number of processes ever been reached? If so the displayed value is 1 otherwise the value is 0. |
long |
gauge |
|
php_fpm.pool.processes.count |
The current total number of processes. |
long |
gauge |
|
php_fpm.pool.processes.idle |
The number of processes that are currently idle (waiting for requests). |
long |
gauge |
|
php_fpm.pool.slow_requests |
The total number of requests that have hit the configured request_slowlog_timeout. |
long |
counter |
|
php_fpm.pool.start_since |
The time in seconds since the process pool was last started. |
long |
s |
counter |
php_fpm.pool.start_time |
The date/time that the process pool was last started. |
long |
Process
editThe process
data stream collects metrics related to the request duration, content length, process state, etc.
Example
An example event for process
looks as following:
{ "@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 Field Reference
Please refer to the following document for detailed information on ECS fields.
Exported fields
Field | Description | Type | Unit | Metric Type |
---|---|---|---|---|
@timestamp |
Event timestamp. |
date |
||
data_stream.dataset |
Data stream dataset. |
constant_keyword |
||
data_stream.namespace |
Data stream namespace. |
constant_keyword |
||
data_stream.type |
Data stream type. |
constant_keyword |
||
input.type |
Type of Filebeat input. |
keyword |
||
php_fpm.process.pool.name |
The name of the FPM process pool. |
keyword |
||
php_fpm.process.request.count |
The total number of requests served. |
long |
counter |
|
php_fpm.process.request.duration |
The duration in microseconds of the requests. |
long |
micros |
gauge |
php_fpm.process.request.last.cpu.pct |
The %cpu of the last request. This will be 0 if the process is not Idle because the calculation is done when the request processing is complete. |
long |
percent |
gauge |
php_fpm.process.request.last.memory |
The maximum amount of memory consumed by the last request. This will be 0 if the process is not Idle because the calculation is done when the request processing is complete. |
long |
byte |
gauge |
php_fpm.process.script |
The full path of the script executed by the last request. This will be - if not applicable (eg. status page requests). |
keyword |
||
php_fpm.process.start_since |
The number of seconds since the process started. |
long |
s |
counter |
php_fpm.process.start_time |
The date/time at which the process started. |
long |
||
php_fpm.process.state |
The state of the process. |
keyword |
Changelog
editChangelog
Version | Details | Kibana version(s) |
---|---|---|
1.5.1 |
Bug fix (View pull request) |
8.13.0 or higher |
1.5.0 |
Enhancement (View pull request) |
8.13.0 or higher |
1.4.1 |
Bug fix (View pull request) |
8.13.0 or higher |
1.4.0 |
Enhancement (View pull request) |
8.13.0 or higher |
1.3.0 |
Enhancement (View pull request) |
8.7.1 or higher |
1.2.1 |
Enhancement (View pull request) |
8.7.1 or higher |
1.2.0 |
Enhancement (View pull request) |
8.7.1 or higher |
1.1.0 |
Enhancement (View pull request) |
8.7.1 or higher |
1.0.0 |
Enhancement (View pull request) |
8.7.1 or higher |
0.6.2 |
Bug fix (View pull request) |
— |
0.6.1 |
Enhancement (View pull request) |
— |
0.6.0 |
Enhancement (View pull request) |
— |
0.5.1 |
Bug fix (View pull request) |
— |
0.5.0 |
Enhancement (View pull request) |
— |
0.4.0 |
Enhancement (View pull request) |
— |
0.3.0 |
Enhancement (View pull request) |
— |
0.2.2 |
Enhancement (View pull request) |
— |
0.2.1 |
Bug fix (View pull request) |
— |
0.2.0 |
Enhancement (View pull request) |
— |
0.1.0 |
Enhancement (View pull request) |
— |
On this page