実行履歴のある Lambda のメトリクスが表示されない問題について
こんにちは、実行履歴のある Lambda のメトリクスが表示されない問題がありましたので
こちらを確認するための方法をご紹介するブログを書きたいと思います。
AWS LambdaのメトリクスがCloudWatchに表示されない
昔作って実行したことは確実だが、メトリクスで確認したくて CloudWatch に接続しても表示されない問題が発生しました。
こちらの原因と対処方法に関して調べたいと思います。
理由
結論から申し上げますと、過去2週間に新しいデータポイントがなかったことが原因になります。
こちらの公式ドキュメントに記載がありますので確認していきます。
======抜粋======
過去 2 週間に新しいデータポイントがなかったメトリクスは、CloudWatch コンソールから削除されます。
コンソールで、[すべてのメトリクス] タブの検索ボックスにメトリクス名またはディメンション名を入力しても、表示されなくなります。
また、AWS CLI コマンド list-metrics を実行しても、そのメトリクスは出力に含まれません。
======抜粋======
対処方法
そこで、削除されたデータを確認する方法としてAWS CLIを活用する方法があります。
コマンドの実行
aws cloudwatch get-metric-data \
--metric-data-queries '[{
"Id": "ID値",
"MetricStat": {
"Metric": {
"Namespace": "AWS/Lambda",
"MetricName": "Invocations",
"Dimensions": [
{
"Name": "FunctionName",
"Value": "関数名"
}
]
},
"Period": 300,
"Stat": "Sum"
},
"ReturnData": true
}]' \
--start-time 2025-01-01T00:00:00Z \
--end-time 2025-04-30T23:59:59Z
上記のようにコマンドを実行すると
{
"MetricDataResults": [
{
"Id": "ID値",
"Label": "Invocations",
"Timestamps": [
"2025-04-30T15:30:00Z",
"2025-04-30T15:25:00Z",
"2025-04-30T15:20:00Z"
],
"Values": [
5.0,
3.0,
4.0
],
"StatusCode": "Complete"
}
],
"Messages": []
}
こちらのような結果を確認できます。
まとめ
関数のメトリクスが表示されなかった原因は過去 2 週間に新しいデータポイントがなかったことです。
削除された過去のメトリクスを調べる方法は AWS CLI があります。
コマンドとしてはget-metric-data コマンドまたは get-metric-statistics コマンドを使えます。