ダッシュボードを活用したSLO運用やAPM活用
ファインディ株式会社 / yuta-hayashi
メンバー / フルスタックエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
Infrastructure, APM, Synthetic Monitoring, Dashboards, SLOs | 11名〜50名 | 2024年4月 | B to C |
利用機能 | Infrastructure, APM, Synthetic Monitoring, Dashboards, SLOs |
---|---|
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2024年4月 |
事業形態 | B to C |
アーキテクチャ
アーキテクチャの意図・工夫
AWSの各種サービスからメトリクスやアプリケーションからAPMを収集している。
Error TrackingにはSentryを、ログにはAmazon CloudWatch Logsを使うなど、それぞれ利便性やコストが有利なサービスを部分的に使っている。
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
リリースして4ヶ月ほどの新規サービスFindy Toolsでは、規模も小さくベータ版であることや、当時の開発エンジニアも2人程度だったため、監視ツールは導入していなかった。
また、インフラとして使っているECSのメトリクスを確認したり、APMがなく、アラートの設定やSLOを策定した運用もしていなかった。
そのため、障害が発生した場合にもすぐに気がつける手段がなく、調査も大変な状況だった。
どのような状態を目指していたか
障害が発生した時に、アラートですぐに気がつけるようになることやSLOを策定し、レスポンスタイムなどを一定水準を保てるようになること。
また、障害時の調査がスムーズにできるようになり、結果的に復旧が早くなる状態を目指していた。
比較検討したサービス
- APMに関してはSentry Tracingと比較し、Datadog APMを採用
- Error TrackingとSentry Issuesと比較したが、Sentry Issuesを採用
比較した軸
- 社内の導入事例
- 利便性
- 価格
選定理由
- 社内で導入事例があったこと
- 関わるエンジニアが利用経験があり使い勝手は良いことを知っていたこと
導入の成果
改善したかった課題はどれくらい解決されたか
- 障害が発生した時に、アラートですぐに気がつけるようになった
- SLOを策定しユーザ向けのレスポンスタイムなどを一定水準に保てるようになった
- 障害時の調査がスムーズにできるようになった
導入時の苦労・悩み
DatadogのRubyのTrace gemである datadog/auto_instrument
をRailsに導入したが、自動でTraceされるものが多すぎて、1リクエスト内でTrace Spanが大量にできていた。
そこで、Spanの時間が短いものはフィルタする設定を記述し、余計なTraceを送らないようにした。このフィルタの設定が細かく制御できるのは便利。
設定例
Datadog.configure do |c|
Datadog::Tracing.before_flush(
Datadog::Tracing::Pipeline::SpanFilter.new do |span|
span.duration < 0.01.seconds
end
)
end
導入に向けた社内への説明
上長・チームへの説明
「ツール導入前の課題」のように、本番アプリケーションの状態が監視できていないこと、障害時の調査が大変であることを説明し、導入に至った。
社内の他サービスでの導入事例もあったっため、細かく説明しなくても理解があった。
活用方法
- 開発チームやSREとの定期的なMTGでダッシュボードを活用してSLOの振り返りをしている
- SLOが閾値を下回った場合にアラートをSlackに通知し、ダッシュボードやAPMからエラーの原因を調査している
- 負荷が高まる可能性がある機能や時期にダッシュボードやAPMでモニタリングをしている
よく使う機能
- Dashborads
- SREにSLOや各種メトリクスを一目で確認できるダッシュボードを作成してもらい、振り返り時に活用
- APM
- エラーになった処理や重い処理のTraceの調査に活用
ツールの良い点
インフラのモニタリングから、APM、アラートなど監視や運用に欲しい機能がオールインワンで揃っていること。
また、慣れると操作もしやすく複雑な調査もできること。
ツールの課題点
従量課金制なので、使いすぎて後から高くなることを知ることもある。
ファインディ株式会社 / yuta-hayashi
メンバー / フルスタックエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
新卒で自社開発サービスのエンジニアとしてキャリアをスタート。 現在は新規事業でRailsを使ったGraphQL APIやNext.jsを用いた開発をしている。
よく見られているレビュー
ファインディ株式会社 / yuta-hayashi
メンバー / フルスタックエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
新卒で自社開発サービスのエンジニアとして...
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法