【发布时间】:2022-11-18 12:33:45
【问题描述】:
我正在使用 https://github.com/hipages/php-fpm_exporter 的二进制文件来尝试将 php 指标导出到 Prometheus。您可以设置的参数之一是所讨论的 unix 套接字。以下是我的 PHP unix 套接字的权限:
srw-rw---- 1 www-data www-data 0 Sep 8 15:17 /var/run/php/php7.2-fpm.sock
这就是我尝试运行二进制文件时发生的情况:
admin@1234567:~$ sudo -u www-data bash -c "./php-fpm_exporter_2.2.0_linux_amd64 get --phpfpm.scrape-uri unix:///var/run/php/php7.2-fpm.sock"
ERRO[0000] Pool[unix:///var/run/php/php7.2-fpm.sock]: Access denied.
ERRO[0000] invalid character 'A' looking for beginning of value
ERRO[0000] invalid character 'A' looking for beginning of value
Address: unix:///var/run/php/php7.2-fpm.sock
Pool:
Start time: Mon, 01 Jan 0001 00:00:00 +0000
Start since: 0
Accepted connections: 0
Listen Queue: 0
Max Listen Queue: 0
Listen Queue Length: 0
Idle Processes: 0
Active Processes: 0
Total Processes: 0
Max active processes: 0
Max children reached: 0
Slow requests: 0
有人可以解释为什么它不能访问 unix 套接字,以及关于无效字符“A”的其他错误是什么?
仅供参考 - 这是我的 nginx 文件中的位置块:
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_read_timeout 300;
}
该网站运行良好,因此插座显然可以正常工作。您会注意到此文件中的套接字被列为 unix:/var/run/php/php7.2-fpm.sock;。我已经在我的命令中尝试过,但没有用。我试了unix:///var/run/php/php7.2-fpm.sock;/status和unix:/var/run/php/php7.2-fpm.sock;/status,都是一样的结果。
【问题讨论】:
标签: php linux unix-socket