株式会社カンムのDatadog導入事例
株式会社カンム / winebarrel
メンバー / SRE / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
APM,Logs,Infrastructure,Error Tracking,Synthetic Monitoring, etc. | 11名〜50名 | 2021年9月 | B to C |
利用機能 | APM,Logs,Infrastructure,Error Tracking,Synthetic Monitoring, etc. |
---|---|
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2021年9月 |
事業形態 | B to C |
アーキテクチャ
.png?disposition=inline)
アーキテクチャの意図・工夫
メトリクス収集
カンムのサービスのほとんどがECS Fargate上で稼働しており、ECSタスク内のアプリケーションはサイドカーであるDatadog Agent・Fluent Bitを経由してメトリクス・ログをDatadogに送信します。 データベースやElasticsearchなどのミドルウェアついては、アプリケーションとは別のDatadog AgentをECSタスクとして動かしてメトリクスを収集しています。 また、データセンターにつながるネットワークにはネットワーク機器からメトリクスを収集するDatadog Agentを動かしています。
アラート通知
モニターのアラートはインテグレーションを利用してSlackチャンネルやPagerDutyへと通知されます。
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
元々はサービスのモニタリングのために、Mackerel・New Relic・Sentryを利用していたのですが、複数のメトリクスを見るためには異なるSaaSをまたがなければならない状態になっていました。また、同じ時期にAmazon EC2からAmazon ECSへの移行も検討しており、コンテナのログを収集するために新しいSaaSを導入する必要もありました。
どのような状態を目指していたか
- 複数のログインを挟むことなく、同じサイトでAPM・エラートラッキング・メトリクスを閲覧できる
- コンテナのログの閲覧をWeb上から行える
- APM・エラートラッキングとログを紐付けて、エラー情報からAPM・ログを辿ることができる
比較検討したサービス
- New Relic
- Sentry
- Mackerel
比較した軸
- コスト(特にログのコスト)
- ECSで問題なくログを収集できるか
- Goのアプリケーションでトレーシングが正しく機能するか
選定理由
- すでに導入中のサービスと比較して妥当なコストだった
- 機能検証での使用感が良かった
- AWSとの連携機能が豊富だった
- すでにDatadogに慣れたメンバーがいた
導入の成果
改善したかった課題はどれくらい解決されたか
APM・エラートラッキング・メトリクス、さらに外形監視ネットワーク監視など、バックエンドシステムのモニタリングに必要な情報のほとんどをDatadogに集約することができ、各種モニタリングの情報をまとめて見ることができるようになりました。 また、コンテナのログもすべてDatadogから閲覧することができ、かつAPM・エラートラッキングと紐付けられているので、エラー情報からログ・トレース情報を追うことができ、原因の調査もスムーズに行えるようになりました。
どのような成果が得られたか
- モニタリング情報を一元管理することにより、複数のメトリクスをまたいでシステムの状態を分析することが簡単になった
- コンテナ環境でもシンプルにログの閲覧・検索ができるようになった
- APM・エラートラッキング・ログの紐付けによるアプリケーションのオブザーバビリティの向上
導入時の苦労・悩み
- エラートラッキングがエラーを収集するだけのものではなくAPMと一体化されたものだったため、機能を理解してアプリケーションに組み込むまでに時間がかかった
- APMが基本的にWebアプリケーションをターゲットとしており、WebではないアプリケーションへのAPMを組み込みについてのドキュメントが乏しかった
- 当時、Goアプリケーションでのエラートラッキングの利用について十分なドキュメントがなく、導入のために試行錯誤が必要だった
導入に向けた社内への説明
上長・チームへの説明
前述の通りの課題感があり、すでにチームとしてDatadogの導入が検討されていたため、コストの見積もりや機能検証を行った上で、特に大きな議論はなく導入を進めました。 コストについては事前にDatadogにコンタクトをとり、ミーティングを設定してもらって詳しい説明を受け、また機能検証については無料枠があるのでその範囲内で十分に検証することができました。
活用方法
- サービスの異常の検知
- 不具合によるステータコード5xxや応答速度の増加、ミドルウェアのダウンなどをDatadogのモニターで検知し、開発者は各種メトリクスを参照して原因の調査・不具合の修正を行います。
- アプリケーションの問題の調査
- アプリケーションで何らかのエラーが発生した場合、エラートラッキングからスタックトレース・APMのステータス・トレースで出力したログを確認し、エラーの原因を調査します
- また特定の機能の処理時間が遅くなった場合、その機能のトレースを参照してボトルネックを洗い出します(特定の関数が重い・データベースが重い・外部APIアクセスが遅い、等)
よく使う機能
- Monitors
- メトリクス・APM・エラートラッキング・ログ等のモニターでサービスの健康状態を監視
- ELBのステータスコード・APMの5xx・ログの特定の文字列・新しく観測されたエラー…などをモニタリング
- APM
- Webサービスのステータス・応答速度・各レイヤのトレースの可視化
- バッチやジョブキューシステムにもAPMを組み込んで同様のメトリクスを可視化
- Error Tracking
- アプリケーションで発生したエラーの検知・調査・分析
- エラーのスタックトレースへの閲覧
- GitHubと連携したエラー発生箇所の可視化
- Logs
- システムで出力されるほぼすべてのログの閲覧・検索
- アプリケーション・ミドルウェア・ネットワーク機器・バッチなどのログを集約
- Synthetic Monitoring
- 同様に外形監視でサービスの生存状態を監視
- HTTP・ネットワーク疎通・TLS/SSL証明書有効性などをモニタリング
ツールの良い点
- 総合的な監視SaaSで機能が豊富、かつ機能間の連携ができる
- インテグレーションが豊富で他のSaaSと連携しやすい
- エージェントやライブラリがOSS化されており、実装を確認でき、また自身で不具合を直すことができる
- メトリクス・ログのクエリが柔軟で様々な分析をすることができる
ツールの課題点
- 機能が豊富な反面、機能の把握や画面操作に学習コストがかかる
- 料金体系がとてもわかりづらい
ツールを検討されている方へ
無料枠があるので、まずは簡単に使ってみて各種機能の動作を検証をした方が良いです。カンムでのDatadogの導入当時は詳しくドキュメント化されていない機能があったり、予期しない振る舞いをすることがあったので、実際に触ってみることで分かることも多いと思います。
また、課題点で指摘したとおり、料金体系がわかりづらくコストの見積もりが難しいので、導入前にDatadogにコンタクトをとった上で、抱えている課題や予算感を共有し、適切なソリューションの提案やコストの説明を受けることをおすすめします。
今後の展望
データベース モニタリングやCloud SIEMなどの活用できていない機能や、MCP Serverなどの新しい機能などを積極的に導入していきたいと考えています。
株式会社カンム / winebarrel
メンバー / SRE / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
よく見られているレビュー
株式会社カンム / winebarrel
メンバー / SRE / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法