Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OpenSearchのデータを Grafanaで可視化して、 自由の翼を授ける
Search
katsu
March 24, 2025
0
270
OpenSearchのデータを Grafanaで可視化して、 自由の翼を授ける
katsu
March 24, 2025
Tweet
Share
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
We Have a Design System, Now What?
morganepeng
54
7.9k
Making Projects Easy
brettharned
120
6.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Being A Developer After 40
akosma
91
590k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Scaling GitHub
holman
464
140k
Speed Design
sergeychernyshev
33
1.4k
A designer walks into a library…
pauljervisheath
210
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Transcript
OpenSearchのデータを Grafanaで可視化して、 ⾃由の翼を授ける PHPerKaigi2025 Day1 #TrackB
⾃⼰紹介 名前:Katsu 所属企業:株式会社ウィルゲート 所属チーム:インフラチーム 趣味:ゲーム、読書 PHPerKaigiに初参加初登壇 PHPは趣味で書く
皆さんに質問です
翼欲しいですか?
欲しいですよね?
今回は翼を授ける話です
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5.
技術選定の理由 6. Grafanaの設定 7. 苦労した点 8. 注意する点 9. 設定した結果
⽬次 1. 導⼊
新規技術を採⽤するとき思いがちな 「可視化するのだるい... 」 大事なのは分かるけど ... コストあまりかけたくない
ある⽇採⽤した新規技術を可視化することになった
今回可視化する対象は 「OpenSearch」 ドーモ。OpenSearch=サン。
実際のプロダクトをもとに説明
宣伝
⽬次 1. 導⼊ 2. アポトルの概要
アポトルの概要 • BtoB セールスツールで、あらゆる機能が「企業を検索する」こと に関連
アポトルの概要 • 企業名や事業‧サービス内容のフリーテキスト検索、業種や所在 地を選択しての検索、従業員数や売上⾼などの数値の範囲検索を ⾃由に組み合わせて検索
アポトルの概要 • ⽇本で法⼈番号を持つ法⼈は約 500 万件の企業が存在
アポトルの概要 • 企業ごとにキーマン情報を取得
リリース当時のアポトルの課題
アポトルの課題 • 検索条件に対応する値をカラムとして持つ 1 つのテーブルに対し て、 MySQLでAND や OR でつなげて検索するイメージ
• 検索条件の組み合わせの最もひどいケースではMySQLサーバーか らレスポンスに 9 分近くかかる
OpenSearchを導⼊した理由は 「検索」が遅かったから うわっ…企業の検索、遅 すぎ…?
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要
OpenSearchって何?
OpenSearchとは 「検索を速くする技術」
導⼊した結果は‧‧‧ 「10倍速くなった!」
導⼊結果 • 画⾯上で 1 つの条件を指定し「検索」ボタンをクリックしてから 結果が表⽰されるまでの時間が13 秒から1 秒に短縮された • 他にも数分間かかる複雑な条件の組み合わせが、1
秒強以内にな り、検索速度が全体的に少なくとも10倍になった 13秒 1秒
ブログ • 詳細はテックブログを参照してください 参考資料 :https://tech.willgate.co.jp/entry/2024/12/07/090000
OpenSearchの構成 • Amazon OpenSearch Service でOpenSearchの環境を構築
OpenSearchの構成 • セキュリティ⾯を考慮し、VPCドメイン(VPC内でのみアクセス可 能)で設定したため、踏み台経由でアクセスしていた
Grafanaの導⼊経緯 • プロダクトのセキュリティも担保し、パフォーマンスは上がった 開発チーム おっ、やったか!? よし、勝ったな 風呂入ってくる
Grafanaの導⼊経緯 • 営業チームが欲しいデータを直接DBから抽出していたり、 OpenSearchに直接クエリ叩いて抽出していた N回
Grafanaの導⼊経緯 • 運⽤⾯の負担が開発チームに重くのしかかっていた 開発チーム
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要
Grafanaって何?
Grafanaとは 「データ可視化ツール」
Grafanaの導⼊経緯 • プロダクトの監視でGrafanaを利⽤していた
構成図
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5.
技術選定の理由
技術選定 機能 可⽤性 セキュリティ コスト 標準のダッシュボード ◎ ◎ △ △
Amazon Managed Grafana 〇 ◎ 〇 × Grafana 〇 △ 〇 ◎
技術選定 機能 可⽤性 セキュリティ コスト 標準のダッシュボード ◎ ◎ △ △
Amazon Managed Grafana 〇 ◎ 〇 × Grafana 〇 △ 〇 ◎
標準のダッシュボードの特徴 メリット • OpenSearchにクエリを投げる、モニタリングする、データをバッ クアップする、権限を管理するなど幅広い操作が可能 • Amazon OpenSearch Serviceの場合、クラスターを作成した時点 で利⽤可能
標準のダッシュボードの特徴 デメリット • 機能が多すぎることで学習コストと運⽤コストが⾼い • インフラ⾯での管理コストは低いが、権限設定や学習コストの⾼ さで、アプリケーション⾯の管理コストが⾼くなる
標準のダッシュボードのユースケース ユースケース • 基本的には標準のダッシュボードがおすすめ • OpenSearchへのアクセスが容易 • 操作する⼈が開発チームのみなど限られている ◦ 権限設定などで考慮する点が少なくなる
技術選定 機能 可⽤性 セキュリティ コスト 標準のダッシュボード ◎ ◎ △ △
Amazon Managed Grafana 〇 ◎ 〇 × Grafana 〇 △ 〇 ◎
Amazon Managed Grafanaの特徴 メリット • マネージドサービスなのでサーバーを管理する必要が無く、管理 コストと運⽤コストは低い • OpenSearchのネットワークの設定やセキュリティ⾯を考慮しなく て良い
• 既にGrafanaを運⽤している場合、学習コストが低い
Amazon Managed Grafanaの特徴 デメリット • ⾃前のGrafanaよりサービス分のコストが⾼い • インフラ⾯のセキュリティリスクは低いが、アプリケーション⾯の セキュリティリスクは⾃前のGrafanaと同じ
Amazon Managed Grafanaのユースケース ユースケース • インフラコストが増えても運⽤コストや管理コストを低くしたい • OpenSearchのセキュリティ⾯を厳しく設定している
技術選定 機能 可⽤性 セキュリティ コスト 標準のダッシュボード ◎ ◎ △ △
Amazon Managed Grafana 〇 ◎ 〇 × Grafana 〇 △ 〇 ◎
Grafanaの特徴 メリット • AWS以外の環境でも使え、移⾏しやすい • 既にGrafanaを運⽤している場合、学習コストが低い • サーバーを管理する運⽤コストは⾼いが、サービス分のコストが 低い
Grafanaの特徴 デメリット • セキュリティ⾯やネットワーク⾯を考慮する必要があるので、実装 に⼯夫が必要 • Grafanaを運⽤していない場合、コスト⾯のメリットはあまり無い
Grafanaののユースケース ユースケース • 既にGrafanaを運⽤している • 運⽤コストや管理コストが増えてもインフラコストを低くしたい
ここまでのまとめ • 特に制約が無い場合 → 標準のダッシュボードがおすすめ • 運⽤コストや管理コストを低くしたい場合 → Amazon Managed
Grafanaがおすすめ • インフラコストを低くしたい場合 → Grafanaがおすすめ
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5.
技術選定の理由 6. Grafanaの設定
どうやってGrafanaで可視化した?
設定 参考資料 :https://grafana.com/grafana/plugins/grafana-opensearch-datasource/
設定 • 標準のダッシュボードからOpenSearchのインデックス や監視するのに欲しい項⽬を調査し、可視化
設定 • 標準のダッシュボードからOpenSearchのインデックス や監視するのに欲しい項⽬を調査し、可視化 • GrafanaのOpenSearchのプラグインを利⽤
設定 • 標準のダッシュボードからOpenSearchのインデックス や監視するのに欲しい項⽬を調査し、可視化 • GrafanaのOpenSearchのプラグインを利⽤ • OpenSearchのエンドポイントを指定すれば設定完了
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5.
技術選定の理由 6. Grafanaの設定 7. 苦労した点
苦労した点 • 可視化する話が出た段階でOpenSearchを知らなかった ◦ → 0からキャッチアップ • そもそも何を可視化すれば良いのかが分からなかった ◦ →
サンプルデータを使って、出来る範囲を調査 • VPCドメインで作成し、アカウントもまたいでいるので、ネット ワークの疎通が難しかった ◦ → VPCエンドポイントの設定が必要になった
構成図
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5.
技術選定の理由 6. Grafanaの設定 7. 苦労した点 8. 注意する点
注意点 • VPCエンドポイントを利⽤する場合、その分だけコストが増える • インデックスの構造が適切でないと正常に表⽰されない場合があ る
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5.
技術選定の理由 6. Grafanaの設定 7. 苦労した点 8. 注意する点 9. 設定した結果
Grafanaを設定した結果 • 直接DBから抽出したり、OpenSearchに直接クエリ叩く必要がな くなった
Grafanaを設定した結果 • 厳密な権限の管理が不要なので、クエリのミスなど⼈的な事故の リスクがほぼなくなった
Grafanaを設定した結果 • 開発チームに重くのしかかっていた運⽤⾯の負担を取り除き、翼を 授けるに成功
翼を授けることに成功!