PHP-FPM
This integration is enabled by default.
Versions supported: > 7.2
This integration uses a sidecar exporter that is available in UBI or scratch base image.
This integration has 12 metrics.
Timeseries generated: 167 timeseries
List of Alerts
Alert | Description | Format |
---|---|---|
[Php-Fpm] Percentage of instances low | Less than 75% of instances are up | Prometheus |
[Php-Fpm] Recently reboot | Instances have been recently reboot | Prometheus |
[Php-Fpm] Limit of child process exceeded | Number of childs process have been exceeded | Prometheus |
[Php-Fpm] Reaching limit of queue process | Buffer of queue requests reaching its limit | Prometheus |
[Php-Fpm] Too slow requests processing | Requests have taking too much time to be processed | Prometheus |
List of Dashboards
Php-fpm
The dashboard provides information on the status of Php-fpm.
List of Metrics
Metric name |
---|
kube_workload_status_desired |
phpfpm_accepted_connections |
phpfpm_active_processes |
phpfpm_idle_processes |
phpfpm_listen_queue |
phpfpm_listen_queue_length |
phpfpm_max_children_reached |
phpfpm_process_requests |
phpfpm_slow_requests |
phpfpm_start_since |
phpfpm_total_processes |
phpfpm_up |
Prerequisites
Enable Status Path
For the exporter to generate metrics, you need to configure some parameters in PHP-FPM to expose the status path. These configuration parameters are:
- pm.status_path
- listen
Here is an example of how to configure them in Kubernetes:
apiVersion: v1
kind: ConfigMap
metadata:
labels:
app: php-fpm
name: php-fpm-config
namespace: php-fpm
data:
www.conf: |
[www]
listen=127.0.0.1:9000
pm.status_path=/status
apiVersion: apps/v1
kind: Deployment
metadata:
name: php-fpm-app
namespace: php-fpm
labels:
app: php-fpm
pod: php-app
spec:
selector:
matchLabels:
app: php-fpm
replicas: 3
template:
metadata:
labels:
app: php-fpm
pod: php-app
spec:
containers:
- image: php:7.2-fpm
imagePullPolicy: Always
name: php-fpm
ports:
- containerPort: 9000
protocol: TCP
# Config-map include
volumeMounts:
- name: php-fpm-config
mountPath: /usr/local/etc/php-fpm.d/www.conf
subPath: www.conf
volumes:
- configMap:
defaultMode: 420
name: php-fpm-config
name: php-fpm-config
Installation
An automated wizard is present in the Monitoring Integrations in Sysdig Monitor. Expert users can also use the Helm chart for installation: https://github.com/sysdiglabs/integrations-charts/tree/main/charts/php-fpm-exporter
Agent Configuration
The default agent job for this integration is as follows:
- job_name: php-fpm-default
tls_config:
insecure_skip_verify: true
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: keep
source_labels: [__meta_kubernetes_pod_host_ip]
regex: __HOSTIPS__
- action: drop
source_labels: [__meta_kubernetes_pod_annotation_promcat_sysdig_com_omit]
regex: true
- source_labels: [__meta_kubernetes_pod_phase]
action: keep
regex: Running
- action: replace
source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme]
target_label: __scheme__
regex: (https?)
- action: replace
source_labels:
- __meta_kubernetes_pod_container_name
- __meta_kubernetes_pod_annotation_promcat_sysdig_com_integration_type
regex: (php-fpm-exporter);(.{0}$)
replacement: php-fpm
target_label: __meta_kubernetes_pod_annotation_promcat_sysdig_com_integration_type
- action: keep
source_labels:
- __meta_kubernetes_pod_annotation_promcat_sysdig_com_integration_type
regex: "php-fpm"
- action: replace
source_labels: [__meta_kubernetes_pod_uid]
target_label: sysdig_k8s_pod_uid
- action: replace
source_labels: [__meta_kubernetes_pod_container_name]
target_label: sysdig_k8s_pod_container_name
metric_relabel_configs:
- source_labels: [__name__]
regex: (phpfpm_accepted_connections|phpfpm_active_processes|phpfpm_idle_processes|phpfpm_listen_queue|phpfpm_listen_queue_length|phpfpm_max_active_processes|phpfpm_max_children_reached|phpfpm_max_listen_queue|phpfpm_process_last_request_cpu|phpfpm_process_last_request_memory|phpfpm_process_request_duration|phpfpm_process_requests|phpfpm_process_state|phpfpm_scrape_failures|phpfpm_slow_requests|phpfpm_start_since|phpfpm_total_processes|phpfpm_up)
action: keep
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.