OpenSearchのデータを Grafanaで可視化して、 自由の翼を授ける
by
katsu
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
OpenSearchのデータを Grafanaで可視化して、 ⾃由の翼を授ける PHPerKaigi2025 Day1 #TrackB
Slide 2
Slide 2 text
⾃⼰紹介 名前:Katsu 所属企業:株式会社ウィルゲート 所属チーム:インフラチーム 趣味:ゲーム、読書 PHPerKaigiに初参加初登壇 PHPは趣味で書く
Slide 3
Slide 3 text
皆さんに質問です
Slide 4
Slide 4 text
翼欲しいですか?
Slide 5
Slide 5 text
欲しいですよね?
Slide 6
Slide 6 text
今回は翼を授ける話です
Slide 7
Slide 7 text
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5. 技術選定の理由 6. Grafanaの設定 7. 苦労した点 8. 注意する点 9. 設定した結果
Slide 8
Slide 8 text
⽬次 1. 導⼊
Slide 9
Slide 9 text
新規技術を採⽤するとき思いがちな 「可視化するのだるい... 」 大事なのは分かるけど ... コストあまりかけたくない
Slide 10
Slide 10 text
ある⽇採⽤した新規技術を可視化することになった
Slide 11
Slide 11 text
今回可視化する対象は 「OpenSearch」 ドーモ。OpenSearch=サン。
Slide 12
Slide 12 text
実際のプロダクトをもとに説明
Slide 13
Slide 13 text
宣伝
Slide 14
Slide 14 text
⽬次 1. 導⼊ 2. アポトルの概要
Slide 15
Slide 15 text
アポトルの概要 ● BtoB セールスツールで、あらゆる機能が「企業を検索する」こと に関連
Slide 16
Slide 16 text
アポトルの概要 ● 企業名や事業‧サービス内容のフリーテキスト検索、業種や所在 地を選択しての検索、従業員数や売上⾼などの数値の範囲検索を ⾃由に組み合わせて検索
Slide 17
Slide 17 text
アポトルの概要 ● ⽇本で法⼈番号を持つ法⼈は約 500 万件の企業が存在
Slide 18
Slide 18 text
アポトルの概要 ● 企業ごとにキーマン情報を取得
Slide 19
Slide 19 text
リリース当時のアポトルの課題
Slide 20
Slide 20 text
アポトルの課題 ● 検索条件に対応する値をカラムとして持つ 1 つのテーブルに対し て、 MySQLでAND や OR でつなげて検索するイメージ ● 検索条件の組み合わせの最もひどいケースではMySQLサーバーか らレスポンスに 9 分近くかかる
Slide 21
Slide 21 text
OpenSearchを導⼊した理由は 「検索」が遅かったから うわっ…企業の検索、遅 すぎ…?
Slide 22
Slide 22 text
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要
Slide 23
Slide 23 text
OpenSearchって何?
Slide 24
Slide 24 text
OpenSearchとは 「検索を速くする技術」
Slide 25
Slide 25 text
導⼊した結果は‧‧‧ 「10倍速くなった!」
Slide 26
Slide 26 text
導⼊結果 ● 画⾯上で 1 つの条件を指定し「検索」ボタンをクリックしてから 結果が表⽰されるまでの時間が13 秒から1 秒に短縮された ● 他にも数分間かかる複雑な条件の組み合わせが、1 秒強以内にな り、検索速度が全体的に少なくとも10倍になった 13秒 1秒
Slide 27
Slide 27 text
ブログ ● 詳細はテックブログを参照してください 参考資料 :https://tech.willgate.co.jp/entry/2024/12/07/090000
Slide 28
Slide 28 text
OpenSearchの構成 ● Amazon OpenSearch Service でOpenSearchの環境を構築
Slide 29
Slide 29 text
OpenSearchの構成 ● セキュリティ⾯を考慮し、VPCドメイン(VPC内でのみアクセス可 能)で設定したため、踏み台経由でアクセスしていた
Slide 30
Slide 30 text
Grafanaの導⼊経緯 ● プロダクトのセキュリティも担保し、パフォーマンスは上がった 開発チーム おっ、やったか!? よし、勝ったな 風呂入ってくる
Slide 31
Slide 31 text
Grafanaの導⼊経緯 ● 営業チームが欲しいデータを直接DBから抽出していたり、 OpenSearchに直接クエリ叩いて抽出していた N回
Slide 32
Slide 32 text
Grafanaの導⼊経緯 ● 運⽤⾯の負担が開発チームに重くのしかかっていた 開発チーム
Slide 33
Slide 33 text
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要
Slide 34
Slide 34 text
Grafanaって何?
Slide 35
Slide 35 text
Grafanaとは 「データ可視化ツール」
Slide 36
Slide 36 text
Grafanaの導⼊経緯 ● プロダクトの監視でGrafanaを利⽤していた
Slide 37
Slide 37 text
構成図
Slide 38
Slide 38 text
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5. 技術選定の理由
Slide 39
Slide 39 text
技術選定 機能 可⽤性 セキュリティ コスト 標準のダッシュボード ◎ ◎ △ △ Amazon Managed Grafana 〇 ◎ 〇 × Grafana 〇 △ 〇 ◎
Slide 40
Slide 40 text
技術選定 機能 可⽤性 セキュリティ コスト 標準のダッシュボード ◎ ◎ △ △ Amazon Managed Grafana 〇 ◎ 〇 × Grafana 〇 △ 〇 ◎
Slide 41
Slide 41 text
標準のダッシュボードの特徴 メリット ● OpenSearchにクエリを投げる、モニタリングする、データをバッ クアップする、権限を管理するなど幅広い操作が可能 ● Amazon OpenSearch Serviceの場合、クラスターを作成した時点 で利⽤可能
Slide 42
Slide 42 text
標準のダッシュボードの特徴 デメリット ● 機能が多すぎることで学習コストと運⽤コストが⾼い ● インフラ⾯での管理コストは低いが、権限設定や学習コストの⾼ さで、アプリケーション⾯の管理コストが⾼くなる
Slide 43
Slide 43 text
標準のダッシュボードのユースケース ユースケース ● 基本的には標準のダッシュボードがおすすめ ● OpenSearchへのアクセスが容易 ● 操作する⼈が開発チームのみなど限られている ○ 権限設定などで考慮する点が少なくなる
Slide 44
Slide 44 text
技術選定 機能 可⽤性 セキュリティ コスト 標準のダッシュボード ◎ ◎ △ △ Amazon Managed Grafana 〇 ◎ 〇 × Grafana 〇 △ 〇 ◎
Slide 45
Slide 45 text
Amazon Managed Grafanaの特徴 メリット ● マネージドサービスなのでサーバーを管理する必要が無く、管理 コストと運⽤コストは低い ● OpenSearchのネットワークの設定やセキュリティ⾯を考慮しなく て良い ● 既にGrafanaを運⽤している場合、学習コストが低い
Slide 46
Slide 46 text
Amazon Managed Grafanaの特徴 デメリット ● ⾃前のGrafanaよりサービス分のコストが⾼い ● インフラ⾯のセキュリティリスクは低いが、アプリケーション⾯の セキュリティリスクは⾃前のGrafanaと同じ
Slide 47
Slide 47 text
Amazon Managed Grafanaのユースケース ユースケース ● インフラコストが増えても運⽤コストや管理コストを低くしたい ● OpenSearchのセキュリティ⾯を厳しく設定している
Slide 48
Slide 48 text
技術選定 機能 可⽤性 セキュリティ コスト 標準のダッシュボード ◎ ◎ △ △ Amazon Managed Grafana 〇 ◎ 〇 × Grafana 〇 △ 〇 ◎
Slide 49
Slide 49 text
Grafanaの特徴 メリット ● AWS以外の環境でも使え、移⾏しやすい ● 既にGrafanaを運⽤している場合、学習コストが低い ● サーバーを管理する運⽤コストは⾼いが、サービス分のコストが 低い
Slide 50
Slide 50 text
Grafanaの特徴 デメリット ● セキュリティ⾯やネットワーク⾯を考慮する必要があるので、実装 に⼯夫が必要 ● Grafanaを運⽤していない場合、コスト⾯のメリットはあまり無い
Slide 51
Slide 51 text
Grafanaののユースケース ユースケース ● 既にGrafanaを運⽤している ● 運⽤コストや管理コストが増えてもインフラコストを低くしたい
Slide 52
Slide 52 text
ここまでのまとめ ● 特に制約が無い場合 → 標準のダッシュボードがおすすめ ● 運⽤コストや管理コストを低くしたい場合 → Amazon Managed Grafanaがおすすめ ● インフラコストを低くしたい場合 → Grafanaがおすすめ
Slide 53
Slide 53 text
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5. 技術選定の理由 6. Grafanaの設定
Slide 54
Slide 54 text
どうやってGrafanaで可視化した?
Slide 55
Slide 55 text
設定 参考資料 :https://grafana.com/grafana/plugins/grafana-opensearch-datasource/
Slide 56
Slide 56 text
設定 ● 標準のダッシュボードからOpenSearchのインデックス や監視するのに欲しい項⽬を調査し、可視化
Slide 57
Slide 57 text
設定 ● 標準のダッシュボードからOpenSearchのインデックス や監視するのに欲しい項⽬を調査し、可視化 ● GrafanaのOpenSearchのプラグインを利⽤
Slide 58
Slide 58 text
設定 ● 標準のダッシュボードからOpenSearchのインデックス や監視するのに欲しい項⽬を調査し、可視化 ● GrafanaのOpenSearchのプラグインを利⽤ ● OpenSearchのエンドポイントを指定すれば設定完了
Slide 59
Slide 59 text
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5. 技術選定の理由 6. Grafanaの設定 7. 苦労した点
Slide 60
Slide 60 text
苦労した点 ● 可視化する話が出た段階でOpenSearchを知らなかった ○ → 0からキャッチアップ ● そもそも何を可視化すれば良いのかが分からなかった ○ → サンプルデータを使って、出来る範囲を調査 ● VPCドメインで作成し、アカウントもまたいでいるので、ネット ワークの疎通が難しかった ○ → VPCエンドポイントの設定が必要になった
Slide 61
Slide 61 text
構成図
Slide 62
Slide 62 text
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5. 技術選定の理由 6. Grafanaの設定 7. 苦労した点 8. 注意する点
Slide 63
Slide 63 text
注意点 ● VPCエンドポイントを利⽤する場合、その分だけコストが増える ● インデックスの構造が適切でないと正常に表⽰されない場合があ る
Slide 64
Slide 64 text
⽬次 1. 導⼊ 2. アポトルの概要 3. OpenSearchの概要 4. Grafanaの概要 5. 技術選定の理由 6. Grafanaの設定 7. 苦労した点 8. 注意する点 9. 設定した結果
Slide 65
Slide 65 text
Grafanaを設定した結果 ● 直接DBから抽出したり、OpenSearchに直接クエリ叩く必要がな くなった
Slide 66
Slide 66 text
Grafanaを設定した結果 ● 厳密な権限の管理が不要なので、クエリのミスなど⼈的な事故の リスクがほぼなくなった
Slide 67
Slide 67 text
Grafanaを設定した結果 ● 開発チームに重くのしかかっていた運⽤⾯の負担を取り除き、翼を 授けるに成功
Slide 68
Slide 68 text
翼を授けることに成功!