编程技术分享平台

网站首页 > 技术教程 正文

Promethues如何监控PHP(prometheus snmp监控)

xnh888 2024-09-21 06:22:44 技术教程 31 ℃ 0 评论

利用php-fpm-exporter对php-fpm进行监控

  • 1、php-fpm开启status接口
  • 2、nginx代理php-fpm接口
  • 3、使用php-fpm-exporter暴露指标给Prometheus
  • 4、granfna展示

一、 php-fpm 开启status接口

需要提前安装好php,和nginx 环境

  • 1、 找到php配置文件,修改配置,开启status vim /usr/local/php/etc/php-fpm.conf
...
pm.status_path = /status
ping.path = /ping
...
  • 2、 配置nginx
server {
        listen 9010; 
        allow 127.0.0.1;
        deny all;
 
        location ~ ^/(status|ping)$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}
  • 3、检查status是否可以访问
[root@Prometheus conf]#  curl http://127.0.0.1:9010/status
pool:                 www
process manager:      dynamic
start time:           23/Feb/2020:11:54:50 +0800
start since:          10626
accepted conn:        1
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       14
active processes:     1
total processes:      15
max active processes: 1
max children reached: 0
slow requests:        0

二、 使用php-fpm-exporter暴露指标

  • 1、下载php-fpm-exporter,并启动
wget https://github.com/bakins/php-fpm-exporter/releases/download/v0.6.1/php-fpm-exporter.linux.amd64
mkdir -p /usr/local/exporter/php-fpm/
mv php-fpm-exporter.linux.amd64 /usr/local/exporter/php-fpm/php-fpm-exporter
nohup /usr/local/exporter/php-fpm/php-fpm-exporter --addr 0.0.0.0:9190 --endpoint http://127.0.0.1:9010/status &
  • 2、检查metrics是否可以访问
[root@Prometheus php-fpm]# curl 127.0.0.1:9190/metrics
# HELP phpfpm_accepted_connections_total Total number of accepted connections
# TYPE phpfpm_accepted_connections_total counter
phpfpm_accepted_connections_total 4
# HELP phpfpm_active_max_processes Maximum active process count
# TYPE phpfpm_active_max_processes counter
phpfpm_active_max_processes 1
# HELP phpfpm_listen_queue_connections Number of connections that have been initiated but not yet accepted
# TYPE phpfpm_listen_queue_connections gauge
phpfpm_listen_queue_connections 0
# HELP phpfpm_listen_queue_length_connections The length of the socket queue, dictating maximum number of pending connections
# TYPE phpfpm_listen_queue_length_connections gauge
phpfpm_listen_queue_length_connections 128
# HELP phpfpm_listen_queue_max_connections Max number of connections the listen queue has reached since FPM start
# TYPE phpfpm_listen_queue_max_connections counter
phpfpm_listen_queue_max_connections 0
# HELP phpfpm_max_children_reached_total Number of times the process limit has been reached
# TYPE phpfpm_max_children_reached_total counter
phpfpm_max_children_reached_total 0
# HELP phpfpm_processes_total process count
# TYPE phpfpm_processes_total gauge
phpfpm_processes_total{state="active"} 1
phpfpm_processes_total{state="idle"} 14
# HELP phpfpm_scrape_failures_total Number of errors while scraping php_fpm
# TYPE phpfpm_scrape_failures_total counter
phpfpm_scrape_failures_total 0
# HELP phpfpm_slow_requests_total Number of requests that exceed request_slowlog_timeout
# TYPE phpfpm_slow_requests_total counter
phpfpm_slow_requests_total 0
# HELP phpfpm_up able to contact php-fpm
# TYPE phpfpm_up gauge
phpfpm_up 1
  • web 访问

三、配置promethus,采集php-fpm的数据

vim /usr/local/promethus/promethus.yml

  - job_name: 'php-fpm'
    static_configs:
    - targets:
      - 114.67.116.119:9190

四、配置granfna进行数据展示

配置导入,3901模板

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表