PHP 모니터링
Instana 을 사용하면 PHP 환경에 대한 종단 간 가시성을 확보할 수 있습니다. 이를 통해 성능 병목 현상을 신속하게 파악하고 애플리케이션 성능을 최적화할 수 있습니다.
시작하려면 Instana 호스트 에이 전트를 설치하십시오. 에이전트는 사용자의 환경에 PHP 센서와 트레이서를 자동으로 배포하며, 이를 통해 수집된 실시간 메트릭과 트레이스는 Instana UI에서 확인할 수 있습니다. AWS Fargate 에서 실행되는 PHP 애플리케이션의 경우, AWS Fargate 의 모니터링 항목을 참조하십시오.
지원되는 버전
지원 플랫폼
PHP 센서는 다음 플랫폼을 지원합니다:
- Linux ( x86_64 및 aarch64 )
- Windows (x86_64)
- AWS Fargate (Linux)
- Kubernetes (Linux)
- Docker (Linux)
- Podman (Linux)
지원되는 PHP 버전
다음 표는 PHP 센서가 지원하는 PHP 버전을 보여줍니다:
| PHP 버전 | CPU 아키텍처 | C 표준 라이브러리 | ZTS (Zend Thread Safety) | 지원 policy | 지원 유형 |
|---|---|---|---|---|---|
| PHP 8.1 - PHP 8.5 | aarch64 | glibc 2.17+, 필수 | 국세청, ZTS | 0 일 | GA(General Availability) |
| PHP 8.1 - PHP 8.5 | x86-64 | glibc 2.12+, 필수 | 국세청, ZTS | 0 일 | GA(General Availability) |
| PHP 8.1 - PHP 8.5 | x86-64 | UCRT | 국세청, ZTS | 0 일 | GA(General Availability) |
| PHP 7.2 - PHP 8.0 | aarch64 | glibc 2.17+, 필수 | 국세청, ZTS | 0 일 | 수명 종료 |
| PHP 5.3 - PHP 8.0 | x86-64 | glibc 2.12+, 필수 | 국세청, ZTS | 0 일 | 수명 종료 |
폐기 정책
Instana PHP 의 소수 버전은 공식 지원 종료(EOL)일에 사용 중단되지만, 이후 1년간은 계속 지원됩니다. 이 기간이 지나면 PHP Tracer의 이전 버전은 계속 이용할 수 있지만, 더 이상 유지보수되지 않습니다. 성능과 보안을 향상시키려면 지원 종료된 버전을 업그레이드하십시오. 자세한 정보는 지원되는 버전 및 지원되지 않는 분기를 참조하십시오.
원본 공지 내용은 ‘사용 중단 및 제거된 기능’ 페이지에서 확인하실 수 있습니다.
PHP 런타임 및 PHP Tracer 호환성 매트릭스
다음 표에는 PHP 런타임 버전, 각 버전에 호환되는 최신 PHP Tracer 버전, 그리고 해당 PHP Tracer의 지원 상태가 나열되어 있습니다:
| PHP 버전 | PHP Tracer 버전 | Tracer 지원 유형 |
|---|---|---|
| PHP 8.1-8.5 | 최신 | 적극적인 지원 |
| PHP 7.0-8.0 | 4.7.3 | 정비 종료 |
| PHP 5.x | 1.19.0 | 정비 종료 |
지원되는 PHP SAPI
다음 표는 PHP 센서가 구성 데이터, 메트릭 및 추적을 위해 지원하는 PHP 서버 애플리케이션 프로그래밍 인터페이스(SAPI)를 보여줍니다:
| SAPI | 지원 유형 | 운영 체제(OS) |
|---|---|---|
| mod_php가 있는 Apache2 | GA(General Availability) | Linux, Windows |
| CLI | 시범 | Linux |
| PHP -CGI | GA(General Availability) | Linux, Windows |
| PHP-FPM | GA(General Availability) | Linux |
| PHP - IIS와 함께 사용하는 FCGI | GA(General Availability) | Windows |
Instana PHP 추적 확장 기능에 설명된 대로, 파일에 zzz-instana-extras.ini 설정된 instana.enable_cli = 1 플래그를 사용하여 추적 확장 기능을 구성하면 CLI에 대한 추적 기능을 제공할 수 있습니다. 그러나 CLI 요청은 대개 처리 시간이 짧기 때문에, Instana 는 이를 동적 그래프에 연결할 수 없습니다. 따라서 추적을 볼 수 있지만 연결된 서비스 또는 인프라에 대한 정보를 얻을 수 없습니다. 또한 추적 확장을 설치해야 합니다. 자세한 내용은 ‘ PHP ’ 추적 확장 기능을 참조하십시오. PHP -CLI를 사용하려면 파일을 수동으로 zzz-instana.ini 생성해야 할 수도 있습니다. CLI 추적 설정과 관련하여 도움이 필요하시면 IBM 지원팀에 문의해 주십시오.
지원되는 컴포저 패키지
다음 표는 PHP 센서가 지원하는 컴포저 패키지를 보여줍니다:
| 패키지 이름 | 지원 policy | 지원되는 버전 |
|---|---|---|
| cakephp/cakephp | 온디맨드 | 3.10.5, 4.3.11, 5.2.13, 5.3.6 |
| couchbase/couchbase | 45일 | 4.5.0 |
| 드루팔/코어 | 45일 | 8.9.20, 9.5.11, 10.6.10, 11.3.11 |
| 엘라스틱서치/엘라스틱서치 | 45일 | v6.7.2, v7.11.0, v7.17.2, v8.17.1, v9.4.0 |
| 구글/클라우드-pubsub | 45일 | v1.41.1, v1.51, v2.19.3 |
| johnpbloch/워드프레스 | 45일 | 7.0.0 |
| 라미나스/라미나스-mvc | 45일 | 3.1.1, 3.3.5, 3.6.1, 3.8.0 |
| 라라벨/프레임워크 | 45일 | v5.5.50, v5.8.38, v7.30.7, v8.83.29, v9.52.20, v10.50.2, v12.62.0, v13.15.0 |
| 독백/독백 | 45일 | 1.27.1, 2.10.0, 3.10.0 |
| 네오스/플로우 | 온디맨드 | 5.3.28, 6.3.21, 7.3.19, 8.3.19, 9.1.1 |
| PHP-amqplib/php-amqplib | 45일 | v3.0.0, v3.5.4, v3.7.4 |
| 프레디스/프레디스 | 45일 | v1.1.10 그리고 v3.5.1 |
| 러플린/엘라스티카 | 45일 | 6.2.1, 7.3.2, 8.1.0, 9.0.0 |
| 심포니/http-커널 | 45일 | v3.4.49, v4.4.51, v5.4.48, v6.0.20, v6.4.41, v7.4.13, v8.1.0 |
| 나뭇가지/가지 | 45일 | v2.12.5, v2.16.1, v3.11.3, v3.27.1 |
| yiisoft/yii2 | 온디맨드 | 2.0.55 |
| zendframework/zendframework | 더 이상 사용되지 않음 | 3.0.0 |
PHP 의 기본 제공 확장 기능 지원
PHP 의 Tracer는 PCNTL을 사용하여 포크된 프로세스를 추적할 수 있습니다. 함수 호출이 pcntl_fork 감지되면 전용 스팬이 생성되고, 포크된 프로세스에 계측 코드가 적용됩니다.
PHP 에서 지원하는 확장 기능
다음 표는 PHP 센서가 지원하는 PHP 확장 기능을 보여줍니다:
| 패키지 이름 | 지원 policy | 지원되는 버전 |
|---|---|---|
| amqp | 45일 | 2.2.0 |
| Cassandra | 온디맨드 | 1.3.9 ( Linux 전용) |
| 소파베이스 | 45일 | 4.5.0 |
| ibm_db2 | 45일 | 2.3.1 |
| MEMCACHE | 온디맨드 | 8.2 |
| 메모리 캐시됨 | 온디맨드 | 3.4.0 ( Linux 전용) |
| MongoDB | 45일 | 2.3.3 |
| oci8 | 온디맨드 | 3.4.0 그리고 3.4.1 |
| pecl_http | 45일 | 4.3.1 |
| redis | 온디맨드 | 6.3.0 |
| sqlsrv | 온디맨드 | 5.12.0 그리고 5.13.0 |
제한사항
Instana 다음과 같은 경우에는 지원하지 않습니다:
- PHP aarch64 아키텍처를 갖춘 Windows 시스템에서
- PHP Windows 컨테이너에서 실행 중
- Apache HTTP PHP -CGI 또는 Apache2handler SAPI를 사용하여 여러 버전의 PHP 를 제공하도록 구성된 서버
- PHP 에서 동시에 사용되는 여러 추적 도구들. 예를 들어, Instana 및 타사 추적 도구(예: New Relic, Dynatrace 또는 Datadog )
- PHP ionCube 또는 SourceGuardian 로더 확장 기능을 사용한 런타임 환경과, 해당 인코더 도구로 인코딩된 PHP 소스 파일.
- OpenSSL1.1 을 사용하여 PHP 이 설치된 Alpine 운영 체제에서 MS SQL 계측 기능은 MSODBC 드라이버가 사용하는 OpenSSL 버전과의 호환성 문제로 인해 테스트되지 않았습니다.
Instana 에이전트를 루트 권한이 없는 사용자로 실행할 경우 몇 가지 제한 사항이 있습니다. 자세한 내용은 PHP 에서 비루트 에이전트를 사용한 모니터링의 제한 사항을 참조하십시오.
PHP 센서 구성
PHP 센서는 Instana 에이전트가 설치되면 PHP 추적이 자동으로 작동하도록 적절한 기본값으로 설정되어 있습니다. 하지만 에이전트 configuration.yaml 파일의 섹션을 com.instana.plugin.php 통해 센서를 구성하여, 사용 중인 PHP 런타임에 맞게 설정할 수 있습니다.
다음은 에이전트 configuration.yaml 파일의 YAML 코드 조각으로, PHP 센서를 구성할 때 사용할 수 있는 설정들을 보여줍니다:
# PHP Tracing
#com.instana.plugin.php:
# # Lightweight PHP Tracing. Enabled (true) by default.
# # PHP tracing is performed by the Instana PHP Tracing extension.
# tracing:
# # Enabling tracing (true) will automatically download the Instana PHP Tracing extension
# # and enable it in the PHP INI configuration.
# # The PHP runtime will be gracefully restarted if managed by PHP-FPM or Apache
# # and the extension will be loaded into the PHP runtime. The following PHP runtimes
# # require a manual restart for the PHP Tracing extension to be loaded into memory:
# # - long-running PHP-CGI processes i.e., CGI SAPI
# # - pre-forked PHP worker processes
# #
# # Disabling tracing (false) will automatically disable the Instana Tracing extension
# # in the PHP INI configuration. The PHP runtime will be gracefully restarted to
# # unload the extension from the PHP runtime memory if applicable (see above).
# # Otherwise, you need to manually restart your PHP runtime to unload the extension.
# # Disabling tracing implicitly disables profiling.
# # You can automate the restarts by configuring a custom script. See 'notificationScript'.
# enabled: true
# # Whether to install the Instana PHP Tracing extension. Default is true.
# # When set to false, the Instana PHP Tracing extension will not be enabled in newly
# # detected PHP runtimes. This setting does not affect the PHP runtimes where
# # the Instana PHP Tracing extension is already enabled.
# installExtension: true
# # The filename to use when querying Apache or PHP-CGI installations for
# # environment data such as version, architecture, etc. By default, this
# # is "instana." + Math.random(). + ".php". Uncommenting the setting
# # below will force a static filename instead.
# phpInfoFilename: instana.php
# # Pin the Instana PHP Tracing extension to a specific version.
# # This can be used to rollback to previous versions of the extension or to test
# # beta versions (when asked to do so). The version should be provided
# # in the format major.minory.patch, e.g. 5.1.0
# # The pinned extension version is automatically installed in the PHP runtime.
# # See the desciption of 'enabled' flag to know if you need to manually restart
# # your PHP runtime after pinning the extension version.
# pinExtensionVersion: x.y.z
# # The absolute path to an executable shell script (Linux) or powershell script (Windows)
# # that is to be automatically executed when enabling tracing, pinning extension version
# # or disabling tracing. You must design this script to restart your PHP runtime so that
# # the changes made to your PHP INI configuration by the agent are loaded.
# # Default value is empty.
# notificationScript: <absolute_path_to_script>
# ###################################################################################
# # NOTE: The following settings are only applicable for PHP 5.x version runtimes
# ###################################################################################
# # The number of executor threads to use for processing traces. This setting
# # can be used to fine tune the PHP sensor for specific load environments.
# # Defaults to the number of available logical processors or 8 (whichever is less).
# # In general, you don't need to touch this setting unless advised to do so.
# executorThreads: n
# # The maximum number of traces the sensor is allowed to keep in the backlog
# # for processing. Can be used in conjunction with executorThreads to fine tune
# # the sensor for specific load environments. In general, you don't need to touch
# # this setting unless advised to do so. Defaults to 1000.
# executorQueueLimit: 1000
# # Port on which the sensor is listening for traces. Changing this setting will
# # not automatically update any .ini files created for the PHP Tracing extension.
# # In general, you don't need to touch this setting unless advised to do so.
# # Defaults to port 16816.
# port: 16816
# # Whether to remove values in SQL queries to prevent sensitive data from
# # reaching our backend. This can help to improve agent performance in certain
# # setups. In general, you don't need to touch this setting unless advised to do so.
# sanitizeSql: true
자동 재시작 활성화
PHP 센서가 PHP 환경을 재시작하는 방식을 구성 notificationScript 설정을 통해 변경할 수 있습니다. notificationScript 설정 사용 방법에 대한 자세한 정보는 자동 다시 시작 섹션을 참조하십시오.
PHP -FPM 센서 구성
Instana 에이전트를 설치하면 PHP -FPM 센서가 자동으로 설치되고 기본값으로 구성됩니다.
다음 YAML 코드 조각은 사용 가능한 설정을 보여줍니다:
#PHP-FPM monitoring
#com.instana.plugin.phpfpm:
# # Enabled (true) by default. Update it to 'false' to disable PHP-FPM discovery and sensor.
# enabled: true
# monitoring:
# # Enabling PHP-FPM worker pool monitoring collects worker pool process metrics like CPU and memory
# # usage every second. Enabled (true) by default.
# workerPoolMonitoring: true
PHP -FPM 센서는 기본적으로 FPM 작업자 풀을 모니터링합니다. 이러한 모니터링을 통해 센서가 백그라운드에서 자동 상태 확인 CGI 요청을 전송함으로써 작업자 프로세스가 종료되는 것을 방지할 수 있습니다. 이러한 현상을 방지하려면, PHP -FPM 센서 플러그인 구성에서 옵션을 workerPoolMonitoring 로 설정하여 워커 풀 false모니터링을 비활성화할 수 있습니다.
PHP -FPM 상태 페이지 활성화
PHP 의 FPM 메트릭을 철저히 모니터링하려면 상태 페이지를 활성화해야 합니다. 페이지를 사용으로 설정하려면 작업자 풀 구성 파일을 열고 pm.status_path = /status항목을 추가하십시오. Instana PHP -FPM 센서는 FastCGI 을 통해 PHP -FPM 상태 페이지의 엔드포인트에 직접 액세스합니다. FPM 워커 풀 설정이 pm.status_listen 정의되어 있는 경우, 센서는 이를 엔드포인트로 사용하여 구성된 FPM 워커 풀을 모니터링하기 위한 비가시적 워커 풀을 구성합니다. 그렇지 않으면 센서는 기본적으로 해당 listen 엔드포인트를 사용합니다. 작업자 모니터링을 비활성화하려면 ‘ PHP -FPM 센서 구성’을 참조하십시오.
rootless Podman 컨테이너 내에서 실행되는 PHP -FPM의 경우, PHP -FPM 풀의 listen 엔드포인트는 rootless Podman 게이트웨이를 통해 호스트에서 접근 가능해야 합니다.
AWS Fargate 에서 PHP -FPM 메트릭을 모니터링하려면 PHP -FPM 상태 페이지도 활성화해야 합니다.
Apache 활성화
Apache 구성에는 다음 행이 포함되어야 합니다.
SetHandler application/x-httpd-php
라인이 없으면 센서가 로드되지 않고 다음 오류 메시지가 로그됩니다.
> "PHP Sensor is failing because of "NO Version found"
IIS 구성
기본적으로 IIS는 PHP 런타임 로그를 PHP 웹 페이지로 전달하며, 이 페이지에는 PHP 추적 로그도 포함됩니다. 이러한 현상이 발생하지 않도록 하려면 다음 조치 중 하나를 수행하십시오:
PHP 로그를 다른 경로로 리디렉션하기: 모든 PHP 로그를 다른 경로로 리디렉션하려면, 파일의
php.ini속성을error_log구성하십시오.PHP Tracer 로그 비활성화: PHP Tracer 로그만 비활성화하려면 환경 변수를
INSTANA_LOG_LEVEL로 설정하십시오0. 이 환경 변수를 설정하려면 다음 단계 중 하나를 수행하십시오:PHP 애플리케이션의 ‘ FastCGI ’ 설정을 업데이트하세요
파워셸 또는 명령 프롬프트 창에서 다음 명령을 실행하십시오:
PS C:\> C:\Windows\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='<php-cgi executable path>'].environmentVariables.[name='INSTANA_LOG_LEVEL',value='0']" /commit:apphost
메트릭 보기
PHP 의 메트릭을 확인하려면 다음 단계를 따르세요:
- Instana UI의 사이드바에서 ‘인프라’를 선택합니다.
- 모니터되는 특정 호스트를 클릭하십시오.
수집된 모든 지표 및 모니터된 프로세스가 있는 호스트 대시보드를 볼 수 있습니다.
다른 모든 Instana 센서와 마찬가지로, PHP 센서도 별도의 설정이 필요하지 않습니다. 이 도구는 사용자의 PHP 설치 환경을 자동으로 감지하고, 해당 설치 환경에서 다음 데이터를 수집합니다:
PHP 의 경우, 구성 데이터, 성능 지표 및 상태 시그니처는 사용된 SAPI에 따라 달라집니다. 자세한 내용은 지원되는 PHP SAPI를 참조하십시오.
구성 데이터 및 메트릭
다음 표에는 일반적으로 추적되는 구성 데이터가 나열되어 있습니다.
- PHP 버전
- 서버 API
- ZTS(Zend Thread Safety)
- 로드된 모듈
- 기본 INI 파일
- INI 디렉터리
- 추가 INI 파일 구문 분석됨
- PHP 확장 프로그램 디렉터리
일반적으로 추적되는 구성 정보 외에도, PHP -FPM 대시보드에는 다음과 같은 구성 데이터가 포함됩니다:
- 마스터 프로세스 ID
- 마스터 구성
- 작업자 풀
PHP -FPM 대시보드에는 다음과 같은 지표도 포함되어 있습니다:
- 연결
- 프로세스
- 자원
건강 지표
각 센서에는 수신 메트릭에 대해 지속적으로 평가되는 상태 서명의 큐레이트된 지식 기반이 있습니다. 이러한 상태 서명은 사용자 영향에 따른 문제 또는 인시던트를 제기하는 데 사용됩니다.
내장 이벤트는 엔티티의 상태 지표가 정상 범위를 벗어날 경우 이슈나 인시던트를 발생시키며, 사용자 정의 이벤트는 특정 엔티티의 개별 메트릭 임계값을 기준으로 이슈나 인시던트를 발생시킵니다.
PHP -FPM의 내장 이벤트에 대한 자세한 내용은 ‘내장 이벤트 참조’를 참조하십시오.
추적
Instana PHP 에 대한 자동 및 수동 계측 기능을 모두 제공합니다.
자동 계측
Instana PHP Tracing 확장 기능을 사용하여 PHP 애플리케이션을 자동으로 계측합니다.
PHP 연장 추적
PHP 센서가 활성화되면 PHP 추적 확장 프로그램이 자동으로 다운로드됩니다. 확장 프로그램 설치 설정은 기본적으로 활성화되어 있습니다. <agent_install_dir>/etc/instana/configuration.yaml 자세한 내용은 ‘ PHP 센서 구성’을 참조하십시오.
PHP 추적 기능은 기본적으로 활성화되어 있습니다. 추적 기능을 비활성화하는 방법에 대한 자세한 내용은 “ PHP 추적 기능 비활성화”를 참조하세요. PHP 센서는 PHP SAPI 센서와 연결되어 있습니다. 따라서, 추적은 Instana 에이전트가 지원되는 SAPI 센서(현재 PHP -FPM, mod_php 및 php-cgi)를 감지했을 때만 시작됩니다. 자세한 내용은 지원되는 PHP SAPI를 참조하십시오.
PHP 센서는 SAPI 구성에 대한 정보를 수집하고, 사용자의 PHP 버전 및 호스트 아키텍처에 따라 적절한 Instana 확장 프로그램을 다운로드합니다. PHP 센서는 항상 Instana 확장 프로그램의 최신 버전을 다운로드합니다. 그러나 configuration.yaml 파일에서 pinExtensionVersion: x.y.z 를 설정하여 특정 버전을 고정 (강제 실행) 할 수도 있습니다.
InstanaPHP 추적 확장 기능 및 PHP 추적 사용자 지정에 대한 자세한 내용은 ‘ PHP 추적 활성화 및 구성’을 참조하십시오:
PHP 확장 프로그램 수동 다운로드
PHP CLI 계측을 위해서는 PHP Instana 확장 프로그램을 수동으로 배포해야 합니다. PHP CLI 프로세스는 일시적이며, PHP 센서가 CLI 프로세스를 안정적으로 탐지할 수 없기 때문입니다. 다운로드 방법은 ‘ PHP 추적 확장 기능의 수동 설치’를 참조하십시오.
자동 계측 라이브러리 및 프레임워크
Instana 이 도구는 PHP 엔진 수준에서 PHP 애플리케이션을 모니터링하고, 선택한 함수 호출에 대한 추적 정보를 제공합니다.
데이터베이스
다음 표에는 PHP Tracer가 자동으로 계측할 수 있는 데이터베이스가 나열되어 있습니다. 또한 범용 PDO( PHP ) 데이터 객체 확장 기능을 통해 지원되는 데이터베이스도 포함되어 있습니다 [1] :
| 데이터베이스 | 계측 식별자 [2] | 계측 플래그 [3] |
|---|---|---|
| Cassandra | cassandra |
8589934592 |
| Couchbase | couchbase |
1048576 |
| Elasticsearch | elasticsearch |
해당사항 없음 |
| IBM Db2 | db2 |
256 |
| LDAP | ldap |
536870912 |
| MEMCACHE | memcache |
128 |
| Memcached | memcache |
128 |
| MongoDB | mongodb |
32 |
| MS SQL (sqlsrv) | mssql |
17179869184 |
| MySQL | mysql |
64 |
| MySQLi | mysql |
64 |
| OCI8 | oci8 |
512 |
| Redis (predis 또는 PECL redis 사용 시) | redis |
16 |
| CUBRID (PDO) | pdo |
4 |
| 파이어버드 (PDO) | pdo |
4 |
| IBM (PDO) | pdo |
4 |
| Informix (PDO) | pdo |
4 |
| MS SQL Server (PDO) | pdo |
4 |
| MySQL (PDO) | pdo |
4 |
| ODBC 및 Db2 (PDO) | pdo |
4 |
| Oracle (PDO) | pdo |
4 |
| PostgreSQL (PDO) | pdo |
4 |
| SQLite (PDO) | pdo |
4 |
프레임워크
메시징
HTTP 프로토콜
로깅
PHP 내장 확장 기능
템플리트
기타
수동 계측
또한 추적 SDK를 통해 PHP 코드를 수동으로 추적 설정을 적용할 수도 있습니다. 추적 SDK를 사용하면 Instana 에서 자동으로 수집하는 추적 데이터에 추가 정보를 포함시킬 수 있습니다. PHP 다음과 같은 SDK를 제공합니다:
- PHP SDK
- OTel SDK Instana 내보내기 도구
PHP -SDK
PHP 추적 확장 기능에는 최소한의 SDK가 포함되어 있습니다. 이 SDK를 사용하여 코드를 수동으로 인스트루먼트할 수 있습니다. 자세한 내용은 PHP -SDK를 참조하십시오.
OTel SDK Instana 내보내기 도구
Instana OpenTelemetry 를 사용하는 코드의 수동 계측을 위해 OTel SDK 익스포터를 제공합니다. 이 기능은 OpenTelemetry 스팬을 Instana 스팬으로 변환한 후, 이를 Instana 에이전트로 직접 내보냅니다. 사용 방법에 대한 자세한 내용은 Instana exporter를 참조하십시오.
OpenTracing 와의 연동
Instana OpenTracing 를 이용한 추적을 위해 별도의 PHP SDK를 제공합니다. Instana 의 자체 PHP 계측 기능과 달리, OpenTracing SDK를 사용하려면 코드를 수동으로 계측해야 합니다. PHP ( OpenTracing ) SDK를 통해 생성된 추적 정보는 Instana 자체 추적 기능으로 생성된 추적 정보와는 별개입니다.
OpenTelemetry 와의 연동
Instana PHP 애플리케이션용 OpenTelemetry 계측 기능을 지원합니다. OpenTelemetryPHP 확장 기능은 트레이스를 생성하여 OpenTelemetry Collector 및 백엔드와 같은 구성된 엔드포인트로 내보내는 자동 계측 기능(제로 코드 계측이라고도 함)을 제공합니다.
이 스팬들을 Instana 로 가져오려면 다음 내보내기 도구 중 하나를 사용할 수 있습니다:
- 기본 OpenTelemetry Protocol ( OTLP ) 익스포터: 이 익스포터를 사용하면 Instana 에이전트가 OTLP 엔드포인트를 통해 트레이스를 수신할 수 있습니다.
- Instana OpenTelemetry PHP 내보내기 도구 : 이 도구는 OpenTelemetry 스팬을 Instana 스팬으로 변환한 후, 이를 Instana 에이전트로 직접 내보냅니다.
OpenTelemetry 의 추적 정보는 Instana PHP 의 추적 정보와 유사하게 Instana UI에서 시각화됩니다. 자세한 내용은 PHP 애플리케이션용 OpenTelemetry 통합을 참조하세요.
서버리스 추적
Instana AWS Fargate 환경에서 서버리스 추적을 지원합니다. Instana 네이티브 확장 프로그램과 마찬가지로, 서버리스 확장 프로그램도 기본적으로 PHP 추적을 지원합니다. 구성에 대한 자세한 내용은 AWS Fargate 의 ‘모니터링’ 섹션을 참조하십시오.
서버리스 추적을 사용하려면 다음 요구 사항이 충족되는지 확인하십시오:
- OpenSSL3 또는 OpenSSL1.1 가 PHP 컨테이너에 설치되어 있습니다.
INSTANA_ENDPOINT_URLPHP 에서는INSTANA_AGENT_KEY환경 변수를 사용할 수 있습니다. 이러한 변수를 구성하는 방법에 대한 자세한 내용은 ‘작업 정의 구성’을 참조하십시오.
프로파일링
PHP 프로파일러는 CPU 사용량 프로파일 유형을 지원하며, 이는 Instana 에이전트와 함께 네이티브 PHP 트레이서를 사용할 때만 사용할 수 있습니다. 서버리스 모니터링에서는 PHP 프로파일러를 지원하지 않습니다.
이를 사용으로 설정하는 방법에 대한 자세한 정보는 프로파일링 구성을 참조하십시오.
Instana 일반 데이터베이스 PDO 확장 모듈에서 선택된 함수 호출을 통해 해당 데이터베이스 드라이버별 PDO 확장 모듈의 실행 범위를 캡처합니다. 데이터베이스 드라이버별 PDO 확장 기능을 직접 구현하지는 않습니다. 또한, Instana 은 PHP 8.4 에서 도입된 PDO 데이터베이스 드라이버별 하위 클래스 기능을 지원하지 않습니다. ↩︎
계측 식별자는 YAML 구성에서 특정 라이브러리에 대한 추적을 활성화하거나 비활성화하는 데 사용되는 키입니다. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
인스트루멘테이션 플래그는 INI 설정에서 특정 라이브러리나 라이브러리 집합에 대한 추적을 비활성화하는 데 사용되는 비트 플래그 값입니다. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
Instana CakePHP 프레임워크의 인스트루먼트와
Cake\Error\ExceptionTrapCake\Error\BaseErrorHandler클래스만. ↩︎