はじめに!
本記事では "ゆる~く" ご紹介をします。
今日出てくるサービスについては以下公式HPへ
そもそもiPaaSってという方いらっしゃるのではないでしょうか??
そんな方は是非こちらへ。
細かい話はいいから、結論どんな感じ?
という方はこちらまでスキップ!!
さて今日のお題
私自身はDatadog初学者でして、
お客様から「うちはログ監視をDatadogで統一している」という話をお聞きしました。
「なんかDatadogってどんなログも可視化できそうだし、
HULFT Squareの処理ログもDatadogで見れたら便利じゃね?」
と思い本日のお題に行きついております。
内容はこんな感じ
図の通り、まずはBOXからファイルを取得します。
そしてBOXダウンロード時の処理ログをDatadogにて可視化というものです。
今回はやってみたなので、BOXから1ファイルのみ取得する処理としています。
複数ファイル取得する場合でも同様にDatadogで可視化が可能です。
またログの渡し方は汎用的なものなので、
他サービスとの連携ログやETL処理ログも同様に連携可能です。
ちなみにHULFT SquareはBOXエコソリューションに登録されているので、
HULFT SquareからのAPIコールは非課金となります。
BOX連携はこちらの記事もご参考までにどうぞ。
⇒Boxのフル活用法とは
まずはHULFT Squareの処理をご紹介
まず左側 "Start" の直後に存在する "try_catch" では例外監視を行っています。
上段の処理が失敗した場合は、下段の処理が実施されるとイメージください。
(例えば、NWエラーやBOXサーバがダウンしている時(あるのか?)とかとか)
"BOXクエリ指定" にてBOX上のどのファイルを取得してきてくれ~を指定。
"BOX_GET_結果" では "BOX_GET" の実行結果をスクリプト変数に代入しています。
AWSの設定
構成要素は上図の通り、「EventBridge」、「CloudWatch」、「Lambda」を利用しています。
EventBridgeのイベントパターン
{
"source": ["my.custom.source"],
"detail-type": ["MyDetailType"],
"detail": {
"result": [{
"exists": true
}],
"succeeded_count": [{
"exists": true
}],
"failed_count": [{
"exists": true
}],
"skipped_count": [{
"exists": true
}],
"message_category": [{
"exists": true
}],
"message_code": [{
"exists": true
}],
"message_level": [{
"exists": true
}],
"error_type": [{
"exists": true
}],
"error_message": [{
"exists": true
}],
"error_trace": [{
"exists": true
}]
}
}
とりあえず 各項目に任意の文字列が入るように "exists":true としています。
EventBridgeのターゲット
CloudWatchのロググループを設定しています。
Cloudwatchの設定は省略!!!!
Lambdaコード
Datadog公式がCloud Formationにて用意してくれているので、
そのまま使わせていただきました!
苦戦した点・・・
Datadog Forwarderの設定時にCloud Formationを利用する場合。
パラメータ設定にDbsiteがあるかと思います。
利用しているDatadogのサーバを正しく記載しないとThe API key is not valid.
というエラーが表示されます。
私の場合は、ap1.datadoghq.com
と設定しました。
(Datadog Forwarderのサイト下部に記載があるんですけどね)
Datadogの設定
こちらに記載の通り、Datadog上のAWSインテグレーションページで
LogCollectionの設定を行います。
ログ内のMESSAGEカラムに格納されている値を以下のようなクエリで絞込し、
円グラフで表示させています。
クエリ
@detail.MESSAGE:(skipped OR SUCCEEDED or Component_Error)
全体説明用の動画(忙しい人向け)
HULFT Square ! Datadog !
— さんまの塩焼き (@sanmashioy4ki) October 7, 2024
ログ可視化したぜ
処理実行は1:09~~#HULFTSquare #Datadog #HULFT #dx pic.twitter.com/ANXalJT2x9
以上!