全員が理解できるデータを実現:Grafanaによるシステムの見える化
KINTOテクノロジーズ株式会社 / Geonwoo Jeong
メンバー / バックエンドエンジニア / 従業員規模: 301名〜500名 / エンジニア組織: 101名〜300名
利用プラン | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
AWS Managed Grafana | 11名〜50名 | 2023年7月 | B to B |
利用プラン | AWS Managed Grafana |
---|---|
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2023年7月 |
事業形態 | B to B |
アーキテクチャ
アーキテクチャの意図・工夫
AWS Managed Grafanaは完全マネージド型であるため、アーキテクチャに関する特別な工夫は行っていません。ただし、DynamoDBのデータを表示するためにAthenaを経由して取得するようにしています。当初はZero ETLでの実装を検討しましたが、コスト面から最終的にAthenaを経由する方法を選択しました。
導入の背景・解決したかった問題
導入背景
導入前の状況・課題
サイトリニューアル直後の状況で、AWS CloudWatchを活用してインフラの測定は行っていましたが、アプリケーション自体のパフォーマンスや動作状況の測定までは至っていませんでした。
- 測定の欠如: アプリケーションの問題を把握するのが難しく、トラブルシューティングに時間がかかっていました。
- データの分散: マイクロサービス化に伴い、OpenSearchに依存して各データを把握するのが困難で混乱を招いていました。
- 効率の低下: データの収集と分析に多大な時間がかかり、迅速な問題解決ができていませんでした。
目指していた状態
システムのオブザーバビリティを向上させ、異なる技術的背景を持つ全てのメンバーがデータを容易に理解できる状態を目指していました。
比較した軸
- リアルタイムでデータを確認できること
- 管理のしやすさ
- 異なるデータソースとの統合の容易さ
- カスタマイズの柔軟性
選定理由
社内のプラットフォームグループが全社的な導入を推進していたため、社内サポートが受けやすいという点が決め手となりました。また、既存のインフラとの互換性や、既に使用している他のツールとの連携のしやすさも採用の理由の一つです。
導入の成果
マイクロサービス化によって分散されていた情報をGrafanaを使用して一箇所に集約することができました。また、ダッシュボードを非エンジニアでも理解できるように作成したことで、技術的な背景が異なるメンバーでもデータを容易に確認できるようになりました。
これまで認識されていなかった様々な問題を発見し対応できるようになりました。例えば、メール発送の不具合やメモリリークの問題についても迅速に把握し、修正対応が可能になりました。また、システム全体のパフォーマンス監視が強化され、障害発生時の対応速度が向上しました。
導入時の苦労・悩み
チーム内にオブザーバビリティの経験者が少なく、1から構築をした経験のあるメンバーがいなかったため、初めての導入に多くの困難がありました。
特に、どのようにシステムを設計し、どのデータを収集し、どのように可視化するのが最適であるかを決めることに苦労しました。また、ツールの選定や設定、運用方法についても手探りで進める必要がありました。
導入に向けた社内への説明
上長・チームへの説明
上司には、現在のシステムにおけるオブザーバビリティの欠如が問題であることを強調しました。具体的には、システムのパフォーマンスや異常検知の迅速化、メンバー間でのデータ共有の重要性を説明しました。幸い、全社的にオブザーバビリティツールの導入を進めていたため、費用対効果の詳細な説明は特に必要ありませんでした。
社内への展開・導入推進
まず、オブザーバビリティの重要性を上司に説明し、理解を得ました。その後、会社のサポートを受けてオンライン講座でオブザーバビリティやGrafanaの基本概念と使い方を学び、自分でシステムの構築を行いました。
システム構築後は、社内で説明会やGrafanaの勉強会を開催し、メンバーに対してオンライン講座で学んだ内容を共有しました。具体的な活用方法やダッシュボードの作成方法を示しながら、日常的な業務での利用を促進しました。さらに、継続的にサポートを提供し、質問や疑問点に対応することで、チーム全体の理解と活用を深めました。
活用方法
よく使う機能
- インシデント発生時にログ以外のシステム情報が必要なとき、詳細なデータを確認し、問題の原因を特定して修正対応を行います。
- 日常的にシステムをモニタリングし、異常が発生した際には即座に通知を受け取ることで、迅速に対応し、システムの安定性を保っています。
- APIの使用状況やメール送信の状況などを定期的に確認し、システムのパフォーマンスや利用状況を把握して、必要な改善を行います。
ツールの良い点
- AWS Managed Grafanaを利用することで、インフラのセットアップやメンテナンスの手間が省け、運用コストや時間を大幅に削減できます。
- AWS CloudWatchをはじめ、さまざまなデータソースと簡単に統合でき、データの収集と集計をスムーズに行えます。この柔軟性により、統一されたダッシュボード上で異なるデータを一元管理できます。
- CloudWatchなどのデータをリアルタイムに可視化できるため、システムの状態を即座に把握し、迅速に対応することができます。これにより、システムの安定性とパフォーマンスが向上します。
ツールの課題点
- AWS Managed Grafanaの各メトリックに関する詳細なドキュメントやリファレンスが不足しているため、ユーザーは独自に試行錯誤しながら理解を深める必要があります。より充実した公式資料が求められます。
- Grafanaを最大限に活用するためには、PromQLやその他のクエリ言語の学習が必要であり、これが新しいユーザーにとってはハードルとなります。学習リソースが充実しているものの、習得には時間と労力がかかります。
- 高度なカスタマイズや設定を行う際、設定項目が多岐にわたり複雑であるため、初めて使用するユーザーには難易度が高く感じられることがあります。専門知識を持った人材のサポートが求められることが多いです。
ツールを検討されている方へ
Grafanaの導入は、単にツールを構築するだけでなく、チーム全体の共通認識を作ることと、興味を持っていただくことが必須になります。そのためには使用目的を明確に定義し、全員がその重要性を理解することが大切です。これにより、ツールの効果的な活用とチームの協力が促進されます。
また、導入前には、Datadogといった他のオブザーバビリティツールともよく比較検討し、チームに最も適したツールを選ぶことをお勧めします。
KINTOテクノロジーズ株式会社 / Geonwoo Jeong
メンバー / バックエンドエンジニア / 従業員規模: 301名〜500名 / エンジニア組織: 101名〜300名
2017年に来日し、自社開発のエンジニアとしてバックエンド、フロントエンド、インフラの開発経験を積みました。2020年にKINTOへ中途入社し、ECサイトのバックエンド開発を担当しました。2022年からは、ECサイトのリニューアルとマイクロサービス化を担当しています。
よく見られているレビュー
ツールの比較記事Pickup
記事の追加・取り下げを希望の場合はこちらのフォームより申請をお願いします。KINTOテクノロジーズ株式会社 / Geonwoo Jeong
メンバー / バックエンドエンジニア / 従業員規模: 301名〜500名 / エンジニア組織: 101名〜300名
2017年に来日し、自社開発のエンジニア...
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法