- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
코드로 추적 라이브러리를 설정한 다음 에이전트를 설정하여 애플리케이션 성능 모니터링(APM) 데이터를 수집합니다. 옵션으로 통합 서비스 태깅 설정 등, 원하는 대로 추적 라이브러리를 설정합니다.
PHP 추적기는 환경 변수와 INI 설정을 사용하여 설정할 수 있습니다.
INI 설정은 php.ini
파일 또는 특정 웹 서버 또는 가상 호스트에서 전역적으로 설정할 수 있습니다.
참고: 코드 자동-계측(권장 방식)을 사용하는 경우 계측 코드가 사용자 코드보다 먼저 실행된다는 점에 유의하세요. 따라서 아래의 환경 변수와 INI 설정은 서버 수준에서 설정되어야 하며, 사용자 코드가 실행되기 전에 PHP 런타임에서 사용할 수 있어야 합니다. 예를 들어 putenv()
및 .env
파일은 작동하지 않습니다.
PHP-fpm을 사용하는 Apache의 경우, www.conf
설정 파일에서 env
지시어를 사용하여 PHP 추적기를 설정합니다. 예시는 다음과 같습니다.
; Example of passing the host environment variable SOME_ENV
; to the PHP process as DD_AGENT_HOST
env[DD_AGENT_HOST] = $SOME_ENV
; Example of passing the value 'my-app' to the PHP
; process as DD_SERVICE
env[DD_SERVICE] = my-app
; Or using the equivalent INI setting
php_value datadog.service my-app
또는 서버 설정, 가상 호스트, 디렉토리 또는 .htaccess
파일에서 SetEnv
를 사용할 수 있습니다.
# 환경 변수로 가상 호스트 설정
SetEnv DD_TRACE_DEBUG 1
# INI 설정을 가상 호스트 설정
php_value datadog.service my-app
env[...]
지시어에서 false
값을 지원하지 않습니다. true
대신 1을
사용하고 false
대신 0을
사용하세요.NGINX의 경우 PHP-fpm의 www.conf
파일에 env
지시어을 사용합니다. 예시는 다음과 같습니다.
; Example of passing the host environment variable SOME_ENV
; to the PHP process as DD_AGENT_HOST
env[DD_AGENT_HOST] = $SOME_ENV
; Example of passing the value 'my-app' to the PHP
; process as DD_SERVICE
env[DD_SERVICE] = my-app
; Or using the equivalent INI setting
php_value[datadog.service] = my-app
참고: NGINX 서버에 애플리케이션 성능 모니터링(APM)을 활성화한 경우, 분산 추적이 제대로 작동하도록 opentracing_fastcgi_propagate_context
설정을 올바르게 구성했는지 확인하세요. 자세한 내용은 NGINX 애플리케이션 성능 모니터링(APM) 설정을 참조하세요.
명령줄에서 서버를 시작하도록 설정합니다.
DD_TRACE_DEBUG=1 php -d datadog.service=my-app -S localhost:8888
다음 표에는 추적을 설정하기 위한 환경 변수와 해당 INI 설정(사용 가능한 경우) 및 기본값이 나열되어 있습니다.
DD_ENV
datadog.env
null
prod
, pre-prod
, stage
를 사용할 수 있습니다. 시작 버전 0.90.0
을 런타임에서 ini_set
을 통해 datadog.version
으로 변경하면, 현재 루트 스팬(span)에도 적용됩니다.DD_VERSION
datadog.version
null
1.2.3
, 6c44da20
, 2020.02.13
을 설정할 수 있습니다. 시작 버전 0.90.0
을 런타임에서 ini_set
을 통해 datadog.version
으로 변경하면, 현재 루트 스팬(span)에도 적용됩니다.DD_SERVICE
datadog.service
null
DD_TRACE_ENABLED
datadog.trace.enabled
1
DD_PRIORITY_SAMPLING
datadog.priority_sampling
1
DD_SERVICE_MAPPING
datadog.service_mapping
null
DD_SERVICE_MAPPING=pdo:payments-db,mysqli:orders-db
([통합 이름] 참조))(#integration-names).DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED
datadog.trace.128_bit_traceid_generation_enabled
true
DD_TRACE_128_BIT_TRACEID_LOGGING_ENABLED
datadog.trace.128_bit_traceid_logging_enabled
0
DD_TRACE_HEALTH_METRICS_ENABLED
datadog.trace_health_metrics_enabled
false
sigaction
을 사용할 수 있는 경우, 세그폴트 발생 시 추적기는 포착되지 않은 예외 메트릭을 전송합니다.DD_TRACE_AGENT_CONNECT_TIMEOUT
datadog.trace.agent_connect_timeout
100
DD_TRACE_AGENT_PORT
datadog.trace.agent_port
8126
receiver_port
또는 DD_APM_RECEIVER_PORT
를 기본값 8126
이 아닌 다른 값으로 설정한 경우 DD_TRACE_AGENT_PORT
또는 DD_TRACE_AGENT_URL
이 일치해야 합니다.DD_TRACE_AGENT_TIMEOUT
datadog.trace.agent_timeout
500
DD_TRACE_AGENT_URL
datadog.trace.agent_url
null
DD_AGENT_HOST
및 DD_TRACE_AGENT_PORT
보다 우선합니다. 예: https://localhost:8126
. 에이전트 설정에서 receiver_port
또는 DD_APM_RECEIVER_PORT
를 기본값 8126
이 아닌 다른 값으로 설정한 경우 DD_TRACE_AGENT_PORT
또는 DD_TRACE_AGENT_URL
이 일치해야 합니다.DD_TRACE_AUTO_FLUSH_ENABLED
datadog.trace.auto_flush_enabled
0
(CLI 환경에서 1
)DD_TRACE_GENERATE_ROOT_SPAN=0
과 함께 장기 실행 프로세스를 1
로 설정합니다.DD_TRACE_CLI_ENABLED
datadog.trace.cli_enabled
1
DD_TRACE_DEBUG
datadog.trace.debug
0
1
인 경우, 로그 메시지는 error_log
INI 설정에 설정된 장치 또는 파일로 전송됩니다. error_log
의 실제 값은 PHP-FPM/Apache 설정 파일에서 재정의될수 있으므로 php -i
의 출력과 다를 수 있습니다. 활성화된 경우 DD_TRACE_LOG_LEVEL
보다 우선합니다.DD_TRACE_LOG_LEVEL
datadog.trace.log_level
Error
error
, warn
, info
, debug
, trace
및 off
입니다.DD_TRACE_LOG_FILE
datadog.trace.log_file
DD_TRACE_FORKED_PROCESS
datadog.trace.forked_process
1
1
로 설정하면 포크된 프로세스를 추적합니다. 0
로 설정하면 포크된 프로세스 추적을 비활성화할 수 있습니다. 0
으로 설정하면 프로세스의 트레이스를 ini_set("datadog.trace.enabled", "1");
로 코드에서 수동으로 다시 활성화할 수 있지만 새로운 트레이스로 표시됩니다. 포크된 프로세스 트레이스는 DD_TRACE_FORKED_PROCESS
및 DD_DISTRIBUTED_TRACING
가 모두 1
(켜짐)로 설정된 경우에만 전체 배포 트레이스로 표시됩니다.DD_TRACE_GENERATE_ROOT_SPAN
datadog.trace.generate_root_span
1
DD_TRACE_AUTO_FLUSH_ENABLED=1
과 함께 0
으로 설정하여 장기 실행 프로세스를 추적합니다.DD_TRACE_HEADER_TAGS
datadog.trace.header_tags
null
DD_TRACE_HTTP_CLIENT_SPLIT_BY_DOMAIN
datadog.trace.http_client_split_by_domain
0
host-<hostname>
로 설정합니다. 예를 들어 curl_exec()
에서 https://datadoghq.com
으로의 호출은 기본 서비스 이름인 curl
대신 host-datadoghq.com
으로 서비스 이름을 지정할 수 있습니다.DD_TRACE_MEASURE_COMPILE_TIME
datadog.trace.measure_compile_time
1
DD_TRACE_REMOVE_AUTOINSTRUMENTATION_ORPHANS
datadog.trace.remove_autoinstrumentation_orphans
false
0.88.0
에 추가되었습니다.laravel.event.handle
laravel.provider.load
Predis.Client.__construct
Predis.Client.executeCommand
Predis.Pipeline.executePipeline
DD_TRACE_REMOVE_ROOT_SPAN_LARAVEL_QUEUE
datadog.trace.remove_root_span_laravel_queue
true
DD_TRACE_GENERATE_ROOT_SPAN
참조), Laravel 대기열/Horizon 명령에 대해 자동 플러싱을 활성화합니다( DD_TRACE_AUTO_FLUSH_ENABLED
참조). 버전 0.88.0
에 추가되었습니다.DD_TRACE_REMOVE_ROOT_SPAN_SYMFONY_MESSENGER
datadog.trace.remove_root_span_symfony_messenger
true
DD_TRACE_GENERATE_ROOT_SPAN
참조)하고 Symfony Messenger 명령에 대해 자동 플러싱을 활성화( DD_TRACE_AUTO_FLUSH_ENABLED
참조)합니다. 버전 1.3.0
에 추가되었습니다.DD_TRACE_LARAVEL_QUEUE_DISTRIBUTED_TRACING
datadog.trace.laravel_queue_distributed_tracing
true
laravel.queue.process
스팬 생성을 비활성화하고 스팬 링크에만 의존합니다. 버전 0.93.0
에 추가되었습니다.DD_TRACE_SYMFONY_MESSENGER_DISTRIBUTED_TRACING
datadog.trace.symfony_messenger_distributed_tracing
true
1.3.0
에 추가되었습니다.DD_TRACE_SYMFONY_MESSENGER_MIDDLEWARES
datadog.trace.symfony_messenger_middlewares
false
1.3.0
에 추가되었습니다.DD_TRACE_RESOURCE_URI_FRAGMENT_REGEX
datadog.trace.resource_uri_fragment_regex
null
DD_TRACE_RESOURCE_URI_MAPPING_INCOMING
datadog.trace.resource_uri_mapping_incoming
null
DD_TRACE_RESOURCE_URI_MAPPING_OUTGOING
datadog.trace.resource_uri_mapping_outgoing
null
DD_TRACE_RETAIN_THREAD_CAPABILITIES
datadog.trace.retain_thread_capabilities
0
true
로 설정합니다. 이 옵션은 대부분의 설정에 영향을 미치지 않지만, 일부 모듈(현재 Datadog는 Apache의 mod-ruid2만 인식)은 setuid()
또는 유사한 syscall을 호출하여 기능을 상실하면서 기능의 충돌이나 손실을 야기할 수 있습니다.setcap
유틸리티를 사용하여 웹 서버의 기능을 제한할 것을 권장합니다.DD_HTTP_SERVER_ROUTE_BASED_NAMING
datadog.http_server_route_based_naming
true
true
로 설정합니다. false
인 경우 HTTP 메서드와 경로가 대신 사용됩니다. 버전 0.89.0
에 추가되었습니다.DD_TRACE_SAMPLE_RATE
datadog.trace.sample_rate
-1
0.0
과 1.0
사이의 숫자입니다. 기본값 -1
은 샘플링 제어를 Datadog 에이전트로 이관합니다.DD_TRACE_SAMPLE_RATE
은 DD_TRACE_SAMPLING_RULES
를 위해 더 이상 사용되지 않습니다.DD_TRACE_RATE_LIMIT
datadog.trace.rate_limit
0
DD_TRACE_URL_AS_RESOURCE_NAMES_ENABLED
datadog.trace.url_as_resource_names_enabled
1
DD_TRACE_HTTP_URL_QUERY_PARAM_ALLOWED
datadog.trace.http_url_query_param_allowed
*
*
을 모두 수집하려면 파라미터로 설정합니다. 버전 0.74.0
에 추가되었습니다.DD_TRACE_HTTP_POST_DATA_PARAM_ALLOWED
datadog.trace.http_post_data_param_allowed
*
으로 설정하면 게시된 모든 데이터가 수집되지만 DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP
난독화 규칙과 일치하는 필드의 값은 삭제됩니다. 특정 필드를 지정하면 해당 필드의 값만 표시되고 다른 모든 필드의 값은 삭제됩니다. 버전 0.86.0
에 추가되었습니다.qux=quux&foo[bar][password]=Password12!&foo[bar][username]=admin&foo[baz][bar]=qux&foo[baz][key]=value
DD_TRACE_HTTP_POST_DATA_PARAM_ALLOWED
로 설정되어 있습니다. foo.baz,foo.bar.password
http.request.foo.bar.password=Password12!
http.request.foo.bar.username=<redacted>
http.request.foo.baz.bar=qux
http.request.foo.baz.key=value
http.request.qux=<redacted>
DD_TRACE_RESOURCE_URI_QUERY_PARAM_ALLOWED
datadog.trace.resource_uri_query_param_allowed
*
*
을 모두 수집하려면 파라미터로 설정합니다. 버전 0.74.0
에 추가되었습니다.DD_TRACE_CLIENT_IP_ENABLED
datadog.trace.client_ip_enabled
false
0.84.0
에 추가되었습니다.DD_TRACE_CLIENT_IP_HEADER
datadog.trace.client_ip_header
null
x-forwarded-for
). 0.84.0
버전에 추가되었습니다(ASM 사용 시0.76.0
).DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP
datadog.trace.obfuscation_query_string_regexp
(?i)(?:p(?:ass)?w(?:or)?d|pass(?:_?phrase)?|secret|(?:api_?|private_?|public_?|access_?|secret_?)key(?:_?id)?|token|consumer_?(?:id|key|secret)|sign(??:ed|ature)?|auth(?:entication|orization)?)(?:(?:\s|%20)*(?:=|%3D)[^&]+|(?:"|%22)(?:\s|%20)*(?::|%3A)(?:\s|%20)*(?:"|%22)(?:%2[^2]|%[^2]|[^"%])+(?:"|%22))|bearer(?:\s|%20)+[a-z0-9\._\-]|token(?::|%3A)[a-z0-9]{13}|gh[opsu]_[0-9a-zA-Z]{36}|ey[I-L](?:[\w=-]|%3D)+\.ey[I-L](?:[\w=-]|%3D)+(?:\.(?:[\w.+\/=-]|%3D|%2F|%2B)+)?|[\-]{5}BEGIN(?:[a-z\s]|%20)+PRIVATE(?:\s|%20)KEY[\-]{5}[^\-]+[\-]{5}END(?:[a-z\s]|%20)+PRIVATE(?:\s|%20)KEY|ssh-rsa(?:\s|%20)*(?:[a-z0-9\/\.+]|%2F|%5C|%2B){100,}
URL의 일부로 포함된 쿼리 문자열을 난독화하는 데 사용되는 정규식입니다. 이 표현식은 HTTP POST 데이터에 대한 프로세스 삭제에도 사용됩니다. 버전 0.76.0
에 추가되었습니다.
DD_TRACE_SAMPLING_RULES
datadog.trace.sampling_rules
null
'[{"sample_rate": 0.2}]'
를 사용합니다. ‘a’로 시작하는 서비스 및 스팬 이름 ‘b’의 경우 샘플 비율을 10%로 설정하고 다른 모든 서비스의 경우 샘플 비율을 20%'[{"service": "a.*", "name": "b", "sample_rate": 0.1}, {"sample_rate": 0.2}]'
(통합 이름 참조)로 설정합니다. 큰따옴표("
) 문자의 이스케이프 문제를 방지하기 위해 JSON 객체는 반드시 작은 따옴표('
)로 둘러싸야 합니다. 서비스 매칭은 DD_SERVICE_MAPPING
을 고려합니다(시작 버전 0.90.0
). 이름과 서비스는 유효한 정규식이어야 합니다. 유효한 정규식이 아닌 규칙은 무시됩니다.DD_TRACE_SAMPLING_RULES_FORMAT
datadog.trace.sampling_rules_format
glob
DD_TRACE_SAMPLING_RULES
에 정의된 샘플링 규칙에 사용되는 형식(regex
또는 glob
)을 규칙화합니다. 버전 0.98.0
에 추가되었으며 1.0.0
부터 사용되지 않습니다.DD_TRACE_SPANS_LIMIT
datadog.trace.spans_limit
1000
memory_limit
를 사용하여 늘릴 수 있습니다.DD_SPAN_SAMPLING_RULES
datadog.span_sampling_rules
null
sample_rate
값은 0.0에서 1.0 사이(포함)여야 합니다.'[{"service": "my-service", "name": "http.request", "sample_rate":0.5, "max_per_second": 50}]'
큰따옴표("
) 문자의 이스케이프 문제를 방지하기 위해 JSON 객체는 작은 따옴표('
)로 묶어야 합니다.DD_AGENT_HOST
datadog.agent_host
localhost
DD_AUTOFINISH_SPANS
datadog.autofinish_spans
0
DD_DISTRIBUTED_TRACING
datadog.distributed_tracing
1
DD_DOGSTATSD_URL
datadog.dogstatsd_url
null
DD_AGENT_HOST
및 DD_DOGSTATSD_PORT
보다 우선합니다. udp://
또는 unix://
스키마만 지원합니다.DD_DOGSTATSD_PORT
datadog.dogstatsd_port
8125
DD_TRACE_HEALTH_METRICS_ENABLED
가 활성화된 경우 DD_AGENT_HOST
어ㅏ 함께 DogStatsD 에 대한 연결을 협상하는 데 사용됩니다.DD_TAGS
datadog.tags
null
key1:value1,key2:value2
.DD_INSTRUMENTATION_TELEMETRY_ENABLED
datadog.instrumentation_telemetry_enabled
true
DD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE
datadog.trace.db_client_split_by_instance
0
pdo-<hostname>
으로 설정합니다. 예를 들어, 호스팅하다 datadoghq.com
데이터베이스에 대한 PDO->query()
호출은 기본 서비스 이름인 pdo
대신 서비스 이름 pdo-datadoghq.com
을 갖습니다.DD_TRACE_REDIS_CLIENT_SPLIT_BY_HOST
datadog.trace.redis_client_split_by_host
0
redis-<hostname>
으로 설정합니다.DD_DBM_PROPAGATION_MODE
datadog.dbm_propagation_mode
'disabled'
'service'
또는 'full'
로 설정하면 애플리케이션 성능 모니터링(APM)과 데이터베이스 모니터링 제품 간 데이터 전송을 활성화합니다.'service'
옵션은 DBM과 애플리케이션 성능 모니터링(APM) 서비스 간의 연결을 활성화합니다. Postgres, MySQL 및 SQLServer에서 사용할 수 있습니다.'full'
옵션은 데이터베이스 스팬과 데이터베이스 쿼리 이벤트 간의 연결을 활성화합니다. Postgres 및 MySQL에서 사용할 수 있습니다.DD_LOGS_INJECTION
datadog.logs_injection
0
0.89.0
버전에 추가되었습니다.DD_TRACE_OTEL_ENABLED
true
또는 false
입니다.false
DD_PROFILING_ENABLED
datadog.profiling.enabled
. INI 사용 가능 0.82.0
.1
0.69.0
에서 추가되었습니다. PHP 프로파일러 활성화하기를 참조하세요. 버전 0.81.0
이하의 경우 기본값은 0
입니다.DD_PROFILING_ENDPOINT_COLLECTION_ENABLED
datadog.profiling.endpoint_collection_enabled
. 0.82.0
이후 INI를 이용할 수 있습니다.1
0.79.0
에 추가되었습니다.DD_PROFILING_ALLOCATION_ENABLED
datadog.profiling.allocation_enabled
. 0.88.0
부터 INI를 사용할 수 있습니다.1
0.88.0
에 추가되었습니다. 활성 JIT가 감지되면 ZendEngine의 제한으로 인해 PHP 버전 8.0.0
-8.1.20
및 8.2.0
-8.2.7
에 대해 할당 프로파일링이 해제됩니다.0.84
부터 사용 가능했던 DD_PROFILING_EXPERIMENTAL_ALLOCATION_ENABLED
환경 변수(datadog.profiling.experimental_allocation_enabled
INI 설정)를 대체합니다. 둘 다 설정되어 있는 경우 이 설정이 우선합니다.DD_PROFILING_EXPERIMENTAL_FEATURES_ENABLED
datadog.profiling.experimental_features_enabled
. 0.96.0
부터 INI를 사용할 수 있습니다.0
DD_PROFILING_EXPERIMENTAL_CPU_TIME_ENABLED
datadog.profiling.experimental_cpu_time_enabled
. 0.82.0
부터 INI를 사용할 수 있습니다.1
0.69.0
에 추가되었습니다. 버전 0.76
이하에서는 기본값이 0
로 설정되었습니다.DD_PROFILING_EXCEPTION_ENABLED
datadog.profiling.exception_enabled
. 0.96.0
부터 INI를 사용할 수 있습니다.1
0.92.0
및 GA
버전 0.96.0
에 추가되었습니다.0.92
부터 사용 가능했던 DD_PROFILING_EXPERIMENTAL_EXCEPTION_ENABLED
환경 변수(datadog.profiling.experimental_exception_enabled
INI 설정)를 대체합니다. 둘 다 설정되어 있으면 이 설정이 우선합니다.DD_PROFILING_EXCEPTION_MESSAGE_ENABLED
datadog.profiling.exception_message_enabled
. 0.98.0
부터 INI를 사용할 수 있습니다.0
DD_PROFILING_EXCEPTION_SAMPLING_DISTANCE
datadog.profiling.exception_sampling_distance
. 0.96.0
부터 INI를 사용할 수 있습니다.100
예외에 대한 샘플링 거리를 설정합니다. 샘플링 거리가 클수록 생성되는 샘플 수가 줄어들고 오버헤드가 감소합니다.0.92
부터 사용 가능했던 DD_PROFILING_EXPERIMENTAL_EXCEPTION_SAMPLING_DISTANCE
환경 변수(datadog.profiling.experimental_exception_sampling_distance
INI 설정)를 대체합니다. 둘 다 설정되어 있으면 이 설정이 우선합니다.DD_PROFILING_TIMELINE_ENABLED
datadog.profiling.timeline_enabled
. 0.98.0
부터 사용 가능합니다.1
0.89.0
버전에 추가되었습니다.0.89
(기본값 0
)부터 사용 가능했던 DD_PROFILING_EXPERIMENTAL_TIMELINE_ENABLED
환경 변수(datadog.profiling.experimental_timeline_enabled
INI 설정)를 대체합니다. 둘 다 설정되어 있으면 이 설정이 우선합니다.DD_PROFILING_LOG_LEVEL
datadog.profiling.log_level
. 0.82.0
부터 INI를 사용할 수 있습니다.off
off
, error
, warn
, info
, debug
, trace
입니다. 프로파일러의 로그는 프로세스의 표준 오류 스트림에 기록됩니다. 0.69.0
버전에 추가되었습니다.분산된 트레이스 컨텍스트를 전파하기 위해 PHP 추적 라이브러리를 설정하여 헤더를 추출하고 삽입하는 방법에 대한 자세한 내용은 트레이스 컨텍스트 전파를 참조하세요.
DD_TRACE_PROPAGATION_STYLE_INJECT
datadog.trace.propagation_style_inject
Datadog,tracecontext
DD_TRACE_PROPAGATION_STYLE_EXTRACT
datadog.trace.propagation_style_extract
Datadog,tracecontext,b3multi,B3 single header
DD_TRACE_<INTEGRATION>_ENABLED
datadog.trace.<INTEGRATION>_enabled
1
DD_TRACE_WORDPRESS_ADDITIONAL_ACTIONS
datadog.trace.wordpress_additional_actions
null
DD_TRACE_WORDPRESS_ENHANCED_INTEGRATION
이 활성화된 경우에만 사용할 수 있습니다. 0.91.0
버전에 추가되었습니다.DD_TRACE_WORDPRESS_CALLBACKS
datadog.trace.wordpress_callbacks
true
입니다.DD_TRACE_WORDPRESS_ENHANCED_INTEGRATION
이 활성화된 경우에만 사용할 수 있습니다. 버전 0.91.0
에 추가되었습니다.DD_OPENAI_SERVICE
datadog.openai.service
DD_SERVICE
DD_OPENAI_LOGS_ENABLED
datadog.openai.logs_enabled
false
DD_OPENAI_METRICS_ENABLED
datadog.openai.metrics_enabled
true
DD_DOGSTATSD_URL
을 사용하여 OpenAI 메트릭 컬렉션을 설정하세요.DD_OPENAI_SPAN_CHAR_LIMIT
datadog.openai.span_char_limit
128
최대 글자 수를 초과하는 텍스트는 글자 수 제한에 따라 잘리고 끝에 ...
가 추가됩니다.
DD_OPENAI_SPAN_PROMPT_COMPLETION_SAMPLE_RATE
datadog.openai.span_prompt_completion_sample_rate
1.0
DD_OPENAI_LOG_PROMPT_COMPLETION_SAMPLE_RATE
datadog.openai.log_prompt_completion_sample_rate
0.1
아래 표는 각 통합에 대한 기본 서비스 이름입니다. 서비스 이름을 DD_SERVICE_MAPPING
으로 변경합니다.
DD_TRACE_<INTEGRATION>_ENABLED
와 같이 통합별 설정을 구성할 때 이름을 사용합니다. 예를 들어 Larabel은 DD_TRACE_LARAVEL_ENABLED
입니다.
통합 | 서비스 이름 |
---|---|
AMQP | amqp |
CakePHP | cakephp |
CodeIgniter | codeigniter |
cURL | curl |
ElasticSearch | elasticsearch |
Eloquent | eloquent |
Guzzle | guzzle |
Laminas | laminas |
Laravel | laravel |
Laravel 대기열 | laravelqueue |
Lumen | lumen |
Memcache | memcache |
Memcached | memcached |
Mongo | mongo |
MongoDB | mongodb |
Mysqli | mysqli |
Nette | nette |
OpenAI | openai |
PCNTL | pcntl |
PDO | pdo |
PhpRedis | phpredis |
Predis | predis |
Psr18 | psr18 |
Roadrunner | roadrunner |
Sql 서버 | sqlsrv |
Symfony | symfony |
Symfony Messenger | symfonymessenger |
WordPress | wordpress |
Yii | yii |
ZendFramework | zendframework |
DD_TRACE_RESOURCE_URI_FRAGMENT_REGEX
, DD_TRACE_RESOURCE_URI_MAPPING_INCOMING
및 DD_TRACE_RESOURCE_URI_MAPPING_OUTGOING
을 설정하면 새로운 리소스 정규화 방식을 선택하게 되며 DD_TRACE_RESOURCE_URI_MAPPING의
모든 값은 무시됩니다.HTTP 서버 및 클라이언트 통합의 경우 URL은 쿼리 문자열이 제거된 <HTTP_REQUEST_METHOD> <NORMALIZED_URL>
형식의 트레이스 리소스 이름을 형성하는 데 사용됩니다. 이렇게 하면 URL을 정규화하고 일반 엔드포인트를 하나의 리소스 아래에 그룹화하여 자동으로 계측되지 않는 커스텀 프레임워크에서 가시성을 높일 수 있습니다.
HTTP 요청 | 리소스 이름 |
---|---|
/foo?a=1&b=2 에 대한 GET 요청 | GET /foo |
/bar?foo=bar 에 대한 POST 요청 | POST /bar |
숫자 ID, UUID(대시 포함 또는 제외) 및 32~512비트 16진수 해시는 ?
문자로 자동 대체됩니다.
URL(GET 요청) | 리소스 이름 |
---|---|
/user/123/show | GET /user/?/show |
/widget/b7a992e0-3300-4030-8617-84553b11c993 | GET /widget/? |
/api/v2/b7a992e033004030861784553b11c993/123 | GET /api/v2/?/? |
/book/0dbf3596 | GET /book/? |
DD_TRACE_URL_AS_RESOURCE_NAMES_ENABLED=0
을 사용하여 이 기능을 끌 수 있습니다.
자동 정규화가 적용되지 않는 몇 가지 경우가 있습니다.
URL(GET 요청) | 예상 리소스 이름 |
---|---|
/using/prefix/id123/for/id | GET /using/prefix/?/for/id |
/articles/slug-of-title | GET /articles/? |
/cities/new-york/rivers | GET /cities/?/rivers |
/nested/cities/new-york/rivers | GET /nested/cities/?/rivers |
자동 정규화가 적용되지 않는 시나리오에는 두 가지 클래스가 있습니다:
id<number>
와 같이 URL의 어느 부분에나 존재할 수 있습니다. 이 시나리오에는 아래의 DD_TRACE_RESOURCE_URI_FRAGMENT_REGEX
설정이 적용됩니다./cities/new-york
은 도시 이름 new-york
이므로 정규화해야 한다는 것을 알려줍니다. 이 시나리오는 수신 및 발신 요청에 대해 각각 DD_TRACE_RESOURCE_URI_MAPPING_INCOMING
및 DD_TRACE_RESOURCE_URI_MAPPING_OUTGOING
설정에서 다룹니다.DD_TRACE_RESOURCE_URI_FRAGMENT_REGEX
이 설정은 모든 경로 조각에 독립적으로 적용되는 하나 이상의 정규 표현식으로 구성된 CSV입니다. 예를 들어 /using/prefix/id123/for/id
경로에 대해 DD_TRACE_RESOURCE_URI_FRAGMENT_REGEX
를 ^id\d+$
로 설정하면 각 조각(using
, prefix
, id123
, for
및 id
)에 정규식이 적용됩니다.
URL | 정규식 | 예상 리소스 이름 |
---|---|---|
/using/prefix/id123/for/id | ^id\d+$ | GET /using/prefix/?/for/id |
이 변수의 형식은 CSV이므로 쉼표 문자 ,
는 이스케이프 처리되지 않으며 정규식에 사용할 수 없습니다.
DD_TRACE_RESOURCE_URI_MAPPING_INCOMING
및 DD_TRACE_RESOURCE_URI_MAPPING_OUTGOING
이 설정은 와일드카드 *
를 포함할 수 있는 패턴의 CSV입니다. 예를 들어 cities/*
패턴을 추가하면 URL을 분석하는 동안 cities
조각이 발견될 때마다 다음 조각(있는 경우)이 ?
로 바뀝니다. 패턴은 모든 깊이에 적용되므로 다음 규칙을 적용하면 위 표의 /cities/new-york
및 /nested/cities/new-york
이 모두 정규화됩니다.
특정 조각의 일부에 패턴을 적용할 수 있습니다. 예를 들어 path/*-fix
는 /some/path/changing-fix/nested
URL을 다음과 같이 정규화합니다. /some/path/?-fix/nested
DD_TRACE_RESOURCE_URI_MAPPING_INCOMING
은 들어오는 요청(예: 웹 프레임워크)에만 적용되고 DD_TRACE_RESOURCE_URI_MAPPING_OUTGOING
은 나가는 요청(예: curl
및 guzzle
요청)에만 적용된다는 점에 유의하세요.
open_basedir
제한 사항open_basedir
]9 설정을 사용하는 경우 허용된 디렉터리 목록 에 /opt/datadog-php
을 추가해야 합니다.
애플리케이션이 도커(Docker) 컨테이너 에서 실행되는 경우 /proc/self
경로도 허용된 디렉터리의 목록 에 추가해야 합니다.