11.php-fpm模板(监控页面取值)
在使用Prometheus和Grafana监控PHP-FPM时,通常需要从PHP-FPM的状态页面获取数据。以下是一个简单的Prometheus配置,用于从PHP-FPM状态页面抓取指标,并在Grafana中创建监控面板的例子。
- 配置Prometheus
在Prometheus的配置文件prometheus.yml
中添加一个新的job,用于抓取PHP-FPM的状态页面(假设PHP-FPM状态页面可通过http://fpm_host:fpm_port/status
访问):
scrape_configs:
- job_name: 'php-fpm'
static_configs:
- targets: ['fpm_host:fpm_port']
labels:
instance: 'fpm_instance'
- 启动或者重新加载Prometheus配置
根据你的Prometheus安装方式,重新加载配置的命令可能不同。通常可以使用以下命令:
promtool reload 'prometheus.yml'
或者,如果你使用的是服务管理工具,如systemd:
sudo systemctl reload prometheus
- 在Grafana中创建监控面板
首先,在Grafana中添加Prometheus数据源。然后,创建一个新的监控面板,并添加图表。以下是一个简单的监控面板JSON模板,可以导入到Grafana中:
{
"datasource": "Prometheus",
"panels": [
{
"title": "PHP-FPM Processes",
"type": "graph",
"metrics": [
"phpfpm_processes_total{instance='fpm_instance'}",
"phpfpm_max_children_reached_total{instance='fpm_instance'}"
],
"gridPos": {
"h": 4,
"w": 24,
"x": 0,
"y": 0
}
},
{
"title": "PHP-FPM Requests",
"type": "graph",
"metrics": [
"phpfpm_requests_total{instance='fpm_instance'}"
],
"gridPos": {
"h": 4,
"w": 24,
"x": 0,
"y": 4
}
}
// ... 添加其他需要的图表
],
"rows": [
{
"title": "PHP-FPM Metrics",
"panels": [
"A",
"B"
],
"height": 27,
"collapse": false
}
],
"timepicker": {
"refresh_intervals": [
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"3h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"time": {
"from": "now-30m",
"to": "now"
},
"version": 1
}
将上述JSON模板导入Grafana,并根据实际情况调整datasource
、metrics
中的标签值(如instance
的值)。
请注意,这个例子中的指标是假设已经由PHP-FPM的status页面导出。实际情况
评论已关闭