- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
go1.x
를 사용하고 provided.al2
런타임으로 마이그레이션할 수 없다면, Datadog 포워더(Forwarder)를 사용해 계측해야 합니다. 또는 이 가이드의 지침을 따라 Datadog 람다 확장을 사용해 계측하세요.datadoghq.com
Datadog 사이트의 경우 AWS PrivateLink를 사용하여 데이터를 전송하거나, 다른 모든 사이트의 경우 프록시를 사용하여 데이터를 전송할 수 있습니다.Datadog 서버리스 플러그인이 Datadog 람다 확장을 통해 메트릭, 트레이스, 로그를 Datadog로 전송하도록 함수를 자동 설정합니다.
Datadog 서버리스 플러그인을 설치 및 설정하려면 다음 단계를 따르세요:
serverless plugin install --name serverless-plugin-datadog
serverless.yml
을 업데이트합니다.custom:
datadog:
site: <DATADOG_SITE>
apiKeySecretArn: <DATADOG_API_KEY_SECRET_ARN>
플레이스홀더를 채우려면:
<DATADOG_SITE>
를 텔레메트리 전송 대상인 Datadog 사이트로 대체합니다.<DATADOG_API_KEY_SECRET_ARN>
을 Datadog API 키가 안전하게 저장된 AWS 시크릿의 ARN으로 대체합니다. 키는 플레인 텍스트 스트링으로 저장해야 합니다(JSON blob이 아님에 유의하세요). 또한, secretsmanager:GetSecretValue
권한이 있어야 합니다. 빠른 테스트를 위해 대신 apiKey
를 사용하고 Datadog API 키를 플레인 텍스트로 설정할 수 있습니다.더 자세한 정보와 추가 설정 방법은 플러그인 설명서에서 찾아볼 수 있습니다.
Datadog 람다 확장 설치
COPY --from=public.ecr.aws/datadog/lambda-extension:<TAG> /opt/. /opt/
<TAG>
을 특정 버전 번호(예: 65
) 또는 latest
으로 바꿉니다. Alpine은 특정 버전 번호(예: 65-alpine
) 또는 latest-alpine
으로도 지원됩니다. 가능한 태그 의 전체 목록을 Amazon ECR 리포지토리에서 확인할 수 있습니다.
필요한 환경 변수를 설정합니다.
DD_SITE
를
(오른쪽에서 올바른 사이트(SITE)가 선택되었는지 확인)로 설정합니다.DD_API_KEY_SECRET_ARN
을 Datadog API 키가 안전하게 저장된 AWS 시크릿의 ARN으로 대체합니다. 키는 플레인 텍스트 스트링으로 저장해야 합니다(JSON blob이 아님에 유의하세요). 또한, secretsmanager:GetSecretValue
권한이 필요합니다. 빠른 테스트를 위해 대신 DD_API_KEY
를 사용하고 Datadog API 키를 플레인 텍스트로 설정할 수 있습니다.DD_UNIVERSAL_INSTRUMENTATION: true
를 설정하여 람다 요청 및 응답 페이로드 캡처, 수신 람다 이벤트에서 APM 스팬 추론 등 고급 설정의 이점을 누릴 수 있습니다.AWS 리전 및 아키텍처 기준 ARN 형식을 따라 Datadog 람다 확장의 람다 레이어를 람다 함수에 추가하세요.
# AWS 상업 리전에 구축된 x86 기반 람다의 경우 이 형식 사용
arn:aws:lambda:<AWS_REGION>:464622532012:layer:Datadog-Extension:65
# AWS 상업 리전에 구축된 arm64 기반 람다의 경우 이 형식 사용
arn:aws:lambda:<AWS_REGION>:464622532012:layer:Datadog-Extension-ARM:65
# AWS GovCloud 리전에 구축된 x86 기반 람다의 경우 이 형식 사용
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:Datadog-Extension:65
# AWS GovCloud 리전에 구축된 arm64 기반 람다의 경우 이 형식 사용
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:Datadog-Extension-ARM:65
<AWS_REGION>
를 us-east-1
와 같이 유효한 AWS 지역으로 대체합니다.
DD_SITE
를
(오른쪽에서 올바른 사이트(SITE)가 선택되었는지 확인)로 설정합니다.DD_API_KEY_SECRET_ARN
을 [Datadog API 키2가 안전하게 저장되는 AWS 암호 ARN으로 설정하세요. 키는 일반 텍스트 문자열(JSON blob 안 됨)로 저장해야 합니다. secretsmanager:GetSecretValue
권한이 필요합니다. 빠른 테스트를 위해 대신 DD_API_KEY
키를 사용하고 일반 텍스트로 Datadog API 키를 설정할 수 있습니다.go get github.com/DataDog/datadog-lambda-go
package main
import (
"context"
"net/http"
"time"
ddlambda "github.com/DataDog/datadog-lambda-go"
"github.com/aws/aws-lambda-go/events"
"github.com/aws/aws-lambda-go/lambda"
httptrace "gopkg.in/DataDog/dd-trace-go.v1/contrib/net/http"
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
)
func main() {
// Wrap your lambda handler
lambda.Start(ddlambda.WrapFunction(myHandler, nil))
}
func myHandler(ctx context.Context, _ events.APIGatewayProxyRequest) (string, error) {
// Trace an HTTP request
req, _ := http.NewRequestWithContext(ctx, "GET", "https://www.datadoghq.com", nil)
client := http.Client{}
client = *httptrace.WrapClient(&client)
client.Do(req)
// Submit a custom metric
ddlambda.Metric(
"coffee_house.order_value", // Metric name
12.45, // Metric value
"product:latte", "order:online", // Associated tags
)
// Create a custom span
s, _ := tracer.StartSpanFromContext(ctx, "child.span")
time.Sleep(100 * time.Millisecond)
s.Finish()
return "ok", nil
}
}
추가 유용한 문서, 링크 및 기사: