Datadog enhanced AWS Lambda metrics 사용해 보기
enhanced AWS Lambda metrics란 무엇입니까?

Datadog에서 AWS를 연동하면 나오는 기본 대시보드 안에 존재하는 수수께끼 녀석(그림의 하단)

일단 열어도 정보가 없으며 하단 Invocations 값이 포함되어 있지만 상단 Invocations에는 값이 없습니다.
참조 소스 메트릭을 살펴보면 다른 것을 참조합니다.
상단 : aws.lambda.enhanced.invocations
하단 : aws.lambda.invocations
enhanced는 어디에서 얻는가?
Lambda의 향상된 정보를 얻는 방법
대시보드의 맨 위에 확장 Lambda 지표 을 설정하여 찍혀 있으므로 설정 방법이 걸린 페이지로 이동합니다.
유효한 방법이 있습니다 (영어 모르겠습니다)

영어를 모르게 읽으면
1. Datadog Forwarder 설정
2. 지표를 얻고자 하는 Lambda의 Lambda Layer에 Datadog Lambda Layer
3. Lambda 태그를 Datadog 메트릭에 유용하고 싶다면 Datadog Forwarder 측에 DdFetchLambdaTags
: true
의 변수를 부여한다
4. 샘플 코드 와 같이 Datadog의 Library로 랩한다(python이라면 데코레이터 부여하는 것만으로 좋을 것 같다)
5. 브라우저에서 조만간 대시보드 확인
좋은 시도해 보겠습니다.
Datadog Forwarder 설정
Datadog Forwarder 를 보러 가면 CloudFormation 템플릿 이 있었기 때문에 이용합니다.
템플릿에는 다음을 설정(설정한 것 이외는 기본값)
대시보드의 맨 위에 확장 Lambda 지표 을 설정하여 찍혀 있으므로 설정 방법이 걸린 페이지로 이동합니다.
유효한 방법이 있습니다 (영어 모르겠습니다)

영어를 모르게 읽으면
1. Datadog Forwarder 설정
2. 지표를 얻고자 하는 Lambda의 Lambda Layer에 Datadog Lambda Layer
3. Lambda 태그를 Datadog 메트릭에 유용하고 싶다면 Datadog Forwarder 측에
DdFetchLambdaTags
: true
의 변수를 부여한다4. 샘플 코드 와 같이 Datadog의 Library로 랩한다(python이라면 데코레이터 부여하는 것만으로 좋을 것 같다)
5. 브라우저에서 조만간 대시보드 확인
좋은 시도해 보겠습니다.
Datadog Forwarder 설정
Datadog Forwarder 를 보러 가면 CloudFormation 템플릿 이 있었기 때문에 이용합니다.
템플릿에는 다음을 설정(설정한 것 이외는 기본값)
DdFetchLambdaTags
: true
DdApiKey
: 自身のDatadogのAPIキー

IAM 또는 리소스를 만들 수 있는지 묻기 때문에 확인하십시오
Create Stack
Datadog Layer를 사용한 샘플 코드 작성
무엇이든 좋을 것 같아 Python3의 hello-world의 Blueprint를 이용합니다.

function명만 지정해 Create(이번은 test라고 이름)
Datadog Lambda Layer를 만든 코드에 추가
[Datadog Lambda Layer] htps : // / cs. 다만 ghq. 코 m/그리고 g라치온 s/아마죤_아 mb다/? b = 아 ws 안녕하세요 # # s s ぃ ん ぃ
현재 python3.7의 경우
arn:aws:lambda:us-east-1:464622532012:layer:Datadog-Python37:11
이것을 사용합니다.

샘플 람다
Layers
를 선택하면 Add a Layer

이전 Datadog Layer 입력

추가되었습니다.
Datadog 라이브러리로 샘플 코드 랩
코드에 이 두 줄 추가
from datadog_lambda.wrapper import datadog_lambda_wrapper
@datadog_lambda_wrapper
전체상
lambda_function.py
import json
from datadog_lambda.wrapper import datadog_lambda_wrapper
print('Loading function')
@datadog_lambda_wrapper
def lambda_handler(event, context):
#print("Received event: " + json.dumps(event, indent=2))
print("value1 = " + event['key1'])
print("value2 = " + event['key2'])
print("value3 = " + event['key3'])
return event['key1'] # Echo back the first key value
#raise Exception('Something went wrong')
샘플 코드에 환경 변수 추가
전단의 상태에서 테스트 실행해도 에러가 되므로 아래 환경 변수를 추가
DD_API_KEY
: 自分のDatadogのAPIキー
일단 이것만으로 움직이게 됩니다만, 결과 이것만으로는 하고 싶은 것에 부족하지 않았으므로 이하의 환경 변수도 추가합니다.
DD_ENHANCED_METRICS
: true
DD_FLUSH_TO_LOG
: true
CloudWatch Logs에 Enhanced 지표에 대한 데이터가 흐릅니다.
샘플 코드의 설정이 끝나고 테스트 실행하면 다음과 같은 로그가 흐르게 된다.
{
"m": "aws.lambda.enhanced.invocations",
"v": 1,
"e": 1590216872,
"t": [
"region:us-east-1",
"account_id:xxxxxxxx",
"functionname:test",
"cold_start:true",
"memorysize:128",
"runtime:python3.7",
"dd_lambda_layer:datadog-python37_0.11.0"
]
}
Datadog Forwarder에 샘플 코드의 Logs 연결
우선, 전단의 상태로 테스트 실행해도, aws.lambda.invocations
의 값은 증가하지만aws.lambda.enhanced.invocations
에 변화는 보이지 않는다.
Datadog Forwarder의 Readme를 보면Set up triggers to the installed Forwarder either automatically or manually.
라고 써 있으므로 샘플 코드의 Logs를 묶는다

동작 확인
샘플 코드(test)를 시험에 3회 연속으로 실행해 보았다

Invocations등에 값이 들어가게 된, 3연속 때문인지, Invocations
는 3으로 Cold Starts
가 1이 되었다.

메모리 소비 상황 등도 볼 수있는 것 같습니다.
요약
Datadog의 향상된 AWS Lambda metrics를 사용할 수 있도록 시도했습니다.
일반 Lambda 대시보드와 달리 Cold_start의 상황이나 메모리의 소비 상황 등을 확인할 수 있으므로 Lambda의 스펙 등을 튜닝할 때 등에 쉽지 않은 것 같습니다.
Reference
이 문제에 관하여(Datadog enhanced AWS Lambda metrics 사용해 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/momin/items/92de3b9ac58d969b16ea
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
샘플 코드(test)를 시험에 3회 연속으로 실행해 보았다

Invocations등에 값이 들어가게 된, 3연속 때문인지,
Invocations
는 3으로 Cold Starts
가 1이 되었다.
메모리 소비 상황 등도 볼 수있는 것 같습니다.
요약
Datadog의 향상된 AWS Lambda metrics를 사용할 수 있도록 시도했습니다.
일반 Lambda 대시보드와 달리 Cold_start의 상황이나 메모리의 소비 상황 등을 확인할 수 있으므로 Lambda의 스펙 등을 튜닝할 때 등에 쉽지 않은 것 같습니다.
Reference
이 문제에 관하여(Datadog enhanced AWS Lambda metrics 사용해 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/momin/items/92de3b9ac58d969b16ea
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Datadog enhanced AWS Lambda metrics 사용해 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/momin/items/92de3b9ac58d969b16ea텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)