10 CloudWatchログ無サーバーアプリケーションの洞察例
5040 ワード
CloudWatchログの洞察は、対話的に検索し、アマゾンCloudWatchのログでログデータを分析することができますCloudWatch機能です.あなたがより効率的かつ効果的に操作上の問題に対処するためのクエリを実行することができます、問題を診断し、アプリケーションのパフォーマンスをトラブルシューティング.
CloudWatch Logs Insights syntax 学ぶことが難しいので、このポストには10のCloudWatchのログは、Serverlessなアプリケーションとして私たちの日常の仕事で有用であることがわかります.
もっと発見するhttps://aws.amazon.com/cloudwatch/pricing/
導入Cloudash , あなたのServerlessサービスのパフォーマンス、起動、エラーなどを監視するためのデスクトップアプリケーション.
先週、生産事件が起こりましたか.または20秒前?CloudDashを使用すると、フィルタを検索することができますし、簡単にServerlessログとメトリックを参照します.
いつでも好きなものを検索します.CloudDashは、これまで以上に速くあなたの問題の底に着くのを可能にしているビルトイン・フィルタリング機能で来ます.
始めるhere .
CloudWatch Logs Insights syntax 学ぶことが難しいので、このポストには10のCloudWatchのログは、Serverlessなアプリケーションとして私たちの日常の仕事で有用であることがわかります.
指定したリクエストIDまたはX線トレースIDのログをすべて表示します
fields @timestamp, @message
| filter @message like /REQUEST_ID_GOES_HERE/
注意:/REQUEST_ID_GOES_HERE/
は実際のリクエストIDのプレースホルダですxRayTraceId
を検索します.そのことを心に留める/something/
は正規表現です.最近のエラー
fields Timestamp, LogLevel, Message
| filter LogLevel == "ERR"
| sort @timestamp desc
| limit 50
最も高価なラムダ関数呼び出しを見つける
filter @type = "REPORT"
| fields @requestId, @billedDuration
| sort by @billedDuration desc
ラムダ関数の5分間隔の表示待ち時間統計
filter @type = "REPORT"
| stats avg(@duration), max(@duration), min(@duration) by bin(5m)
ラムダ関数のためのオーバープロビジョニングメモリの量を決定する
filter @type = "REPORT"
| stats max(@memorySize / 1024 / 1024) as provisonedMemoryMB,
min(@maxMemoryUsed / 1024 / 1024) as smallestMemoryRequestMB,
avg(@maxMemoryUsed / 1024 / 1024) as avgMemoryUsedMB,
max(@maxMemoryUsed / 1024 / 1024) as maxMemoryUsedMB,
provisonedMemoryMB - maxMemoryUsedMB as overProvisionedMB
注意:Lambda allocates CPU power in proportion to the amount of memory configured. Memory is the amount of memory available to your Lambda function at runtime. You can increase or decrease the memory and CPU power allocated to your function using the Memory (MB) setting.
APIゲートウェイ実行ログの非200エラーを見つける
fields @timestamp, @message, @requestId, @duration, @xrayTraceId, @logStream, @logStream
| filter
@message like /fail/ or
@message like /timed/ or
@message like /X-Amz-Function-Error/ or
@message like /tatus: 4/ or
@message like /tatus: 5/
| sort @timestamp desc
ラムダ関数の数のコールドスタート、平均init時間と最大init期間を数えてください
filter @type="REPORT"
| fields @memorySize / 1000000 as memorySize
| filter @message like /(?i)(Init Duration)/
| parse @message /^REPORT.*Init Duration: (?<initDuration>.*) ms.*/
| parse @log /^.*\/aws\/lambda\/(?<functionName>.*)/
| stats count() as coldStarts, avg(initDuration) as avgInitDuration, max(initDuration) as maxIntDuration by functionName, memorySize
コールドスタート率
filter @type = "REPORT"
| stats
sum(strcontains(
@message,
"Init Duration"))
/ count(*)
* 100
as coldStartPercentage,
avg(@duration)
by bin(5m)
信用https://github.com/julianwood/serverless-cloudwatch-logs-insights-examples 表示平均期間、最大持続時間、最小期間、p 99パーセンタイル期間とリクエストカウント
filter @type = "REPORT"
| stats avg(@duration), max(@duration), min(@duration), pct(@duration, 99), count(@duration) by bin(5m)
情報ログを除外し、ラムダエラーのみを強調表示する
fields @timestamp, @message
| sort @timestamp desc
| filter @message not like 'EXTENSION'
| filter @message not like 'Lambda Insights'
| filter @message not like 'INFO'
| filter @message not like 'REPORT'
| filter @message not like 'END'
| filter @message not like 'START'
CloudWatchログ洞察クエリは無料ではありません.例えば、US - East - 1 AWSでは、クエリのためにスキャンされたデータのGBあたり0.005ドルを請求します.によるとAmazon CloudWatch FAQ 失敗したクエリに対して課金されず、手動でクエリを取り消す場合は、クエリをキャンセルした時点までスキャンされたログインログデータの量に対して課金されます.もっと発見するhttps://aws.amazon.com/cloudwatch/pricing/
あなたのログの上に滞在します。⚡️
導入Cloudash , あなたのServerlessサービスのパフォーマンス、起動、エラーなどを監視するためのデスクトップアプリケーション.
先週、生産事件が起こりましたか.または20秒前?CloudDashを使用すると、フィルタを検索することができますし、簡単にServerlessログとメトリックを参照します.
いつでも好きなものを検索します.CloudDashは、これまで以上に速くあなたの問題の底に着くのを可能にしているビルトイン・フィルタリング機能で来ます.
始めるhere .
Reference
この問題について(10 CloudWatchログ無サーバーアプリケーションの洞察例), 我々は、より多くの情報をここで見つけました https://dev.to/aws-heroes/10-cloudwatch-logs-insights-examples-for-serverless-applications-4293テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol