3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに!

本記事では "ゆる~く" ご紹介をします。

今日出てくるサービスについては以下公式HPへ

そもそもiPaaSってという方いらっしゃるのではないでしょうか??
そんな方は是非こちらへ。

細かい話はいいから、結論どんな感じ?
という方はこちらまでスキップ!!

さて今日のお題

私自身はDatadog初学者でして、
お客様から「うちはログ監視をDatadogで統一している」という話をお聞きしました。

「なんかDatadogってどんなログも可視化できそうだし、
HULFT Squareの処理ログもDatadogで見れたら便利じゃね?」

と思い本日のお題に行きついております。

内容はこんな感じ

ざっくり概要.JPG

図の通り、まずはBOXからファイルを取得します。
そしてBOXダウンロード時の処理ログをDatadogにて可視化というものです。

今回はやってみたなので、BOXから1ファイルのみ取得する処理としています。
複数ファイル取得する場合でも同様にDatadogで可視化が可能です。

またログの渡し方は汎用的なものなので、
他サービスとの連携ログやETL処理ログも同様に連携可能です。

ちなみにHULFT SquareはBOXエコソリューションに登録されているので、
HULFT SquareからのAPIコールは非課金となります。
BOX連携はこちらの記事もご参考までにどうぞ。
Boxのフル活用法とは

まずはHULFT Squareの処理をご紹介

  • 処理内容はこんな感じ
    スクリプト全体像.png

まず左側 "Start" の直後に存在する "try_catch" では例外監視を行っています。

上段の処理が失敗した場合は、下段の処理が実施されるとイメージください。
(例えば、NWエラーやBOXサーバがダウンしている時(あるのか?)とかとか)

  • BOXに関する処理は赤枠部分
    スクリプト_BOX.png

"BOXクエリ指定" にてBOX上のどのファイルを取得してきてくれ~を指定。
"BOX_GET_結果" では "BOX_GET" の実行結果をスクリプト変数に代入しています。

  • EventBridge連携は緑枠部分
    スクリプト_EventBridge.png
    ログ連携にてBOXダウンロード処理の結果をEventBridgeへ連携しております。

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のロググループを設定しています。

image.png

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の設定を行います。

そうして今回はこんな感じで可視化しました。
image.png

ログ内のMESSAGEカラムに格納されている値を以下のようなクエリで絞込し、
円グラフで表示させています。

クエリ
@detail.MESSAGE:(skipped OR SUCCEEDED or Component_Error)

全体説明用の動画(忙しい人向け)

以上!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?