- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Supported OS
PHP-FPM 점검은 FPM 풀의 상태를 모니터링하고 요청 성능을 추적합니다.
PHP-FPM 점검은 Datadog 에이전트 패키지에 포함되어 있습니다. 서버에 추가 설치가 필요하지 않습니다.
호스트에서 실행 중인 Agent에 대해 이 검사를 구성하려면 아래 지침을 따르세요. 컨테이너화된 환경의 경우 Containerized 섹션을 참조하세요.
호스트에서 실행 중인 에이전트에 대해 이 점검을 구성하려면:
에이전트 설정 디렉토리 루트의 conf.d/
폴더에 있는 php_fpm.d/conf.yaml
파일을 편집합니다. 사용 가능한 모든 설정 옵션은 샘플 php_fpm.d/conf.yaml을 참조하세요.
init_config:
instances:
## @param status_url - string - required
## Get metrics from your FPM pool with this URL
## The status URLs should follow the options from your FPM pool
## See http://php.net/manual/en/install.fpm.configuration.php
## * pm.status_path
## You should configure your fastcgi passthru (nginx/apache) to catch these URLs and
## redirect them through the FPM pool target you want to monitor (FPM `listen`
## directive in the config, usually a UNIX socket or TCP socket.
#
- status_url: http://localhost/status
## @param ping_url - string - required
## Get a reliable service check of your FPM pool with `ping_url` parameter
## The ping URLs should follow the options from your FPM pool
## See http://php.net/manual/en/install.fpm.configuration.php
## * ping.path
## You should configure your fastcgi passthru (nginx/apache) to
## catch these URLs and redirect them through the FPM pool target
## you want to monitor (FPM `listen` directive in the config, usually
## a UNIX socket or TCP socket.
#
ping_url: http://localhost/ping
## @param use_fastcgi - boolean - required - default: false
## Communicate directly with PHP-FPM using FastCGI
#
use_fastcgi: false
## @param ping_reply - string - required
## Set the expected reply to the ping.
#
ping_reply: pong
에이전트를 재시작하세요.
컨테이너화된 환경의 경우 자동탐지 통합 템플릿에 다음 파라미터를 적용하는 방법이 안내되어 있습니다.
파라미터 | 값 |
---|---|
<INTEGRATION_NAME> | php_fpm |
<INIT_CONFIG> | 비어 있음 또는 {} |
<INSTANCE_CONFIG> | {"status_url":"http://%%host%%/status", "ping_url":"http://%%host%%/ping", "use_fastcgi": false, "ping_reply": "pong"} |
동일한 프록시 서버를 사용하여 여러 개의 PHP-FPM 풀을 모니터링할 수 있으며, 이는 쿠버네티스(Kubernetes)에서 실행할 때 일반적인 시나리오입니다. 이렇게 하려면 서버의 경로가 서로 다른 PHP-FPM 인스턴스를 가리키도록 수정합니다. 다음은 예제 NGINX 설정입니다.
server {
...
location ~ ^/(status1|ping1)$ {
access_log off;
fastcgi_pass instance1_ip:instance1_port;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ ^/(status2|ping2)$ {
access_log off;
fastcgi_pass instance2_ip:instance2_port;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
확장에서 이 방법이 너무 번거롭다면 use_fastcgi
를 true
로 설정하면 점검이 프록시 서버를 우회하여 FastCGI를 사용하여 PHP-FPM과 직접 통신할 수 있습니다. status_url
또는 ping_url
에서 생략한 경우 기본 포트는 9000
입니다.
PHP-FPM 설치가 유닉스 소켓을 사용하는 경우 status_url
, ping_url
에 아래 구문을 사용하고 use_fastcgi
를 활성화해야 합니다:
파라미터 | 값 |
---|---|
status_url | unix:///<FILE_PATH>.sock/status |
ping_url | unix:///<FILE_PATH>.sock/ping |
ping_reply | pong |
use_fastcgi | true |
참고: 자동탐지를 사용하면 에이전트가 별도의 컨테이너/task/pod에서 실행되는 경우 FPM 풀의 Unix 소켓 파일에 액세스할 수 없습니다. 이 문제를 해결하려면 에이전트를 사이드카로 실행하세요.
에이전트 status
하위 명령을 실행하고 점검 섹션에서 php_fpm
을 찾습니다.
php_fpm.listen_queue.size (gauge) | Size of the socket queue of pending connections |
php_fpm.processes.active (gauge) | Total number of active processes Shown as process |
php_fpm.processes.idle (gauge) | Total number of idle processes Shown as process |
php_fpm.processes.max_active (count) | The maximum number of processes that can run at once Shown as process |
php_fpm.processes.max_reached (count) | The number of times the process limit has been reached (when pm tries to start more children) Shown as process |
php_fpm.processes.total (gauge) | Total number of processes Shown as process |
php_fpm.requests.accepted (count) | Total number of accepted requests Shown as request |
php_fpm.requests.slow (count) | Total number of slow requests Shown as request |
PHP-FPM 점검에는 이벤트가 포함되어 있지 않습니다.
php_fpm.can_ping
Returns CRITICAL
if the Agent is unable to get a pong from the PHP-FPM ping URL.
Statuses: ok, critical
도움이 필요하신가요? Datadog 지원 팀에 문의하세요.