【レポート】モダンなモニタリングへの変革!Datadog徹底解説 #AWSSummit
こんにちは、中川です。
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、リージョンなどを自動でタグ付け
- 各種サービスのダッシュボードテンプレート
- AWS 各種サービスのメトリクス・イベントを簡単に可視化
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 のブースまで!!
▼デモを実演いただいています