【レポート】モダンなモニタリングへの変革!Datadog徹底解説 #AWSSummit

2019.06.13

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、中川です。

2019/6/12(水)~14(金) の期間で開催されている、AWS Summit 2019 Tokyo からセッションをレポートします。 本記事は「モダンなモニタリングへの変革!Datadog徹底解説」についてレポートします。

セッション概要

スピーカー(敬称略):
・ 池山 邦彦(Datadog, Inc. Sales Engineer)
・ 中川 誠一(Datadog, Inc. Country Manager)

セッション名:モダンなモニタリングへの変革!Datadog徹底解説

マイクロサービス化やアジャイル開発、DevOpsにより、開発サイクルは短くなり、またリリース頻度は高くなっています。新サービスを安定して提供することがミッションとなる中、目標に向かうために必要なことは何でしょうか? サービスレベル目標の達成状況や定常的なUXの可視化はもちろん、問題やインシデントをいち早く検知し解決すること、また、全員で共通認識を持つことが重要となります。 このセッションでは、このような課題に直面したときに必要とされるモダンなモニタリング手法のセオリーをデモを交えてお話しします。

セッションレポート

以下、セッションレポートになります。

Digital Transformation と Datadog

  • DatadogがDigitalization & Visualizationをサポート
  • 要素
    • Cloud
    • Mobility
    • Dig Data
    • Social Tech
  • 本質
    • Speed
    • Quality
    • Cost

Datadog活用方法を徹底解説

Datadogってナニ?

  • Waht is Datadog
    • リアルタイムのパフォーマンス可視化
    • 強力なアラート
    • 履歴の分析
    • 根本原因の相関と分析
    • ダッシュボード公開やチーム間のコラボレーション
  • オブザーバビリティの三本柱
    • Traces
    • Metrics
    • Logs
レガシー 次世代
インフラ 集約 分散
アーキテクチャ モノリス マイクロサービス
開発サイクル ウォーターフォール アジャイル
スタック 標準化されたオンプレのベンダーソフトウェア 多種多様で導入しやすいOSSやSaaSコンポーネント
開発者 インフラ(開発者)
開発(参加者)
複数のインフラ・開発チーム
モニタリング Zabbix, Nagios, etc Datadog
  • 250を超える豊富なインテグレーション

AWS × Datadog

  • Why Datadog?
    • Datadogで見れる範囲が多い
    • メトリクスとログといったデータをシームレスに、リアルタイムで共有できる
    • インテグレーションが豊富
  • Forrester Wave™: DatadogがIASMのリーダーに
  • AWS Integration
    • AWS各種サービスのメトリクス・イベントを簡単に可視化
      • CloudWatchメトリクス
      • X-Rayのトレースデータ
    • 複数のAWSアカウントをモニタリング
    • インスタンスタイプ、AZ、リージョンなどを自動でタグ付け
    • 各種サービスのダッシュボードテンプレート

Cattle, not pets

  • サービスを提供するためにリソースを群として扱う考え方
  • Tag
    • メトリクスに付帯
    • フィルタリング/グルーピング
    • カスタマイズ可能
  • モニタリングのポイント
    • ワークメトリクス: サービスを提供するためにフロントに出るメトリクス
    • リソースメトリクス: システム・サービスのバックエンドのメトリクス
    • イベント: システムの変更といった重要な通知
    • APM: アプリケーションのパフォーマンスやエラーを監視
    • ログ: アプリケーションやシステムの挙動を詳細に記録
    • 外形監視 (Synthetics): サービスを外側から監視してユーザー体験を測定
  • Work / Resource / Events のメトリクスを繰り返し掘り下げながら調べる

Datadogでモニタリングと可視化

  • Screenboard
    • 「今何が起こっているか」、どこで問題が起きているか、を判別
    • サービス全体を俯瞰してチーム間で共有
    • ポイント
      • チーム感で共通の可視性を保つこと
      • 問題が発生しているところを特定できること
      • インフラ、APM、ログにまたがるタグ付けが必要
  • Timeboard
    • 「なぜ問題が起こったのか」、「いつから起きているのか」、を調査
    • 担当者が使用
    • サービスをドリルダウンしてリソースまで確認
    • 例)アプリケーションエラー率と処理時間、バックエンドDBのクエリエラー率と処理時間など
  • モニター & アラート
    • 閾値
    • 異常検知
    • 外れ値
    • 予測
    • ディスク使用率など
    • ログ
    • APM
    • 複合条件
    • 条件Aと条件Bが両方共上がったときにアラート
  • アラート設定のポイント
    • 記録する(緊急度:低)
      • 知らせるだけ
    • 通知する(緊急度:中)
      • すぐに必要でないが、誰かが対応するようにメールやチャット
    • 呼び出す(緊急度:高)
  • アラートワークフローで役に立つインテグレーション
    • Slack, PagerDuty, JIRAなど
    • モニターごとにアラート先を変更可能

Datadogでトラブルシューティング

  • ログ管理
    • Datadogエージェントからログ収集して一箇所に集約管理
    • CloudWatch LogsやS3のログはLambda経由でログをインデックス
    • ログイベントをパースして検索やグラフ化することが可能
    • 機械学習によるクラスタリングを分析
      • ログメッセージの文字列を分析して、ログ件数や異常なメッセージを見つける
  • APM
    • 対応言語:Go, Ruby, Java, Python, Node.js, PHP, .NET
    • サービス内のリソースごとに処理時間やエラーを記録
  • マイクロサービスのトレース
    • 分散トレーシングによりマイクロサービス間をトレース
  • Trace Search
    • 各トレースをログと同様に収集
    • サービス種類、ステータス、処理時間、エラー種類などで絞り込み
  • Watchdog
    • 機械学習による異常検知の自動化
  • Synthetics - API Tests (外形監視)
    • サービスを外側から監視
    • 複数の拠点から任意のサイトやAPIエンドポイントにHTTP(S)を送信
  • Synthetics - Browser Tests
    • エンドユーザ想定でWebの画面遷移をシミュレートするE2Eテスト
  • SLOウィジェットでサービスレベル目標を可視化
    • Syntheticsやメトリクスからサービスレベルを簡単に可視化
    • SLOの設定も可能
    • エラーバジェットの計算・表示

まとめ

  • 動いているからヨシ!としないで、Datadogを使ってサービスが動いていることを監視
  • 魅力的な機能まだまだあります
    • ブースにきてください!
  • お試しください
    • 14日間のフリートライアルにサインアップ!
    • https://www.datadoghq.com/

さいごに

Datadogの活用法について、基本から最新の機能までを話していただきました。
個人的にダッシュボードの作る際の考え方が参考になりました。
Datadogの機能をもっと知りたいという方は、是非Datadogのブースまで!!

▼デモを実演いただいています