Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Grafana Cloudとソラカメ
Search
kumico
February 01, 2025
Programming
0
310
Grafana Cloudとソラカメ
kumico
February 01, 2025
Tweet
Share
More Decks by kumico
See All by kumico
インタラクティブシェルのカスタマイズを楽しもう
devoc
0
160
OpenID Connect から学ぶ認証・認可
devoc
0
17
モダンターミナルエミュレータは画像を表示できるらしい
devoc
1
27
アプリケーションパフォーマンスの計測と改善の方法を勉強している話
devoc
11
3.3k
Other Decks in Programming
See All in Programming
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
620
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
0
690
AIを駆使して新しい技術を効率的に理解する方法
nogu66
1
630
SUZURIの規約違反チェックにおけるクリエイタフィードバックの試⾏錯誤/Trial and Error in Creator Feedback for SUZURI's Terms of Service Violation Checks
ae14watanabe
1
150
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
560
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
110
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
600
高単価案件で働くための心構え
nullnull
0
150
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
10
4.5k
Tangible Code
chobishiba
3
570
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
1.1k
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
76
5.1k
Speed Design
sergeychernyshev
32
1.2k
Become a Pro
speakerdeck
PRO
29
5.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
670
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
330
Making the Leap to Tech Lead
cromwellryan
135
9.6k
4 Signs Your Business is Dying
shpigford
186
22k
Faster Mobile Websites
deanohume
310
31k
Transcript
Grafana Cloud とソラカメ 株式会社ソラコム ソラコムクラウドカメラサービス/エンジニア 片瀬 拓海 Grafana Meetup Japan
#4
片瀬 拓海 • ソラコムクラウドカメラサービス (ソラ カメ) / エンジニア • Go
/ Terraform / neovim • ❤ ラーメン🍜
• ソラコムクラウドカメラサービス (ソラカメ) • なぜGrafana Cloudを使っているか • ソラカメでのGrafana Cloud活用 目次
ソラコムクラウドカメラサービス (ソラカメ)
3,980 円〜始められるIoTカメラ ソラコムクラウドカメラサービス(ソラカメ)
3,980 円〜始められるIoTカメラ ソラコムクラウドカメラサービス(ソラカメ) • 工事不要で設置 • APIを使ったシステム連携 • PC・スマートフォンから利用
• カメラ一覧、カメラ詳細情報の取得 • 常時録画ストリーミング再生API • ライブ映像ストリーミング再生API • 常時録画データから切り出した静止画像のダウン ロード •
カメラで検出したイベントの一覧 … ソラコムクラウドカメラサービス(ソラカメ)
なぜGrafana Cloudを 使っているか
• カメラ一覧、カメラ詳細情報の取得 • 常時録画ストリーミング再生API • ライブ映像ストリーミング再生API • 常時録画データから切り出した静止画像のダウン ロード •
カメラで検出したイベントの一覧 … ソラカメAPI
• カメラ一覧、カメラ詳細情報の取得 • 常時録画ストリーミング再生API • ライブ映像ストリーミング再生API • 常時録画データから切り出した静止画像のダウン ロード •
カメラで検出したイベントの一覧 … ソラカメAPI
なぜGrafana Cloudを使っているか AWS ライブストリーミ ングAPI
なぜGrafana Cloudを使っているか AWS ライブストリーミ ングAPI ランニングコストを抑えるためにデータ転送量料金が定額のサー バーとAWSの両方を使用
なぜGrafana Cloudを使っているか 両方のサーバーを統合してモニタリングしたかったので Grafana Cloud を採用 Grafana Cloud AWS 開発者
ソラカメでのGrafana Cloud活用
• マネージドサービス活用により、シンプルなモニタリン グ基盤の構築 • ソラカメAPIのE2Eテスト基盤と可視化 ソラカメでのGrafana Cloud活用
マネージドサービス活用により、 シンプルなモニタリング基盤の構築
Grafana Cloud Overview > Grafana Cloud is a fully managed
cloud-hosted observability platform ideal for cloud native environments. Grafana Cloudは、クラウドネイティブ環境に最適な完全 に管理されたクラウドホストの観測可能性プラットフォー ムです。 https://grafana.com/products/cloud/
Grafana Cloud Overview
Grafana Cloud Overview
Grafana Cloud Overview data sourceやpluginによ るクラウドプロバイダや SaaSとの統合
Grafana Cloud Overview データストア、Grafana含めてマ ネージドで提供されるので、テレ メトリーを送る仕組みを作ること に集中できる
テレメトリーパイプライン AWS ストリーミングサーバー app app ‧‧‧ prometheus.remote_write 開発者 モニタリング プロビジョニング
Grafana Cloud
利点 ✅ • 各ストリーミングサーバーから直接マネージド Prometheusに送信 • コレクターのような追加のコンポーネントがないのシン プル 欠点 ⛔
• テレメトリの送信先を変更したい時にすべてのサー バーに対してプロビジョニングが必要 • サーバーの台数が増えると大変 テレメトリーパイプライン
テレメトリーパイプライン AWS ストリーミングサーバー app app ‧‧‧ Push metrics, logs 開発者
ダッシュボード・アラート作成 プロビジョニング 手作業だと辛い Grafana Cloud
None
> Ansible offers open-source automation that is simple, flexible, and
powerful. Ansibleは、シンプルで柔軟で強力なオープンソースオー トメーションを提供しています。 Ansible https://docs.ansible.com/
• GrafanaがメンテナンスしているAnsible collectionがある。 • インストールから設定まで一括で管理できる Ansible https://docs.ansible.com/ansible/latest/collections/grafana/grafana/index.html#plugins-in-grafana-grafana
Grafana Agent - Metrics / Logs grafana_cloud_log_url ↓ https://logs-xxx.grafana.net/l oki/api/v1/push
grafana_cloud_hosted_url ↓ https://prometheus-xxx.grafana .net/api/prom/push
Grafana Agent - Metrics / Logs
Grafana Agent - Metrics / Logs ダッシュボードやAlertを設定するためにメトリクスやログを クエリできるようになる
ソラカメAPIのE2Eテスト基盤と 可視化
• ソラカメはAPIから利用することが可能 • 実際のユーザーのように、外部からAPIを呼び出し て、期待通りに動いているかテストしている ソラカメAPI E2Eテスト
ソラカメAPI E2Eテスト E2E テストコード (Python) Grafana Cloud ソラカメAPI ① テスト実行
(5分ごと) ② テスト結果送信
✅ テスト用のカメラをセットアップして、定期的にテストを 実施 ✅ API ~ カメラまで通してテストすることが可能。 ✅ テストが意図した通りに動いていることを確認。 ✅
デバイスの不具合を見つけることも可能。 (特定のデバイスのみテストが失敗するなど) ⛔ Flaky (再実行することである程度カバーしている) ソラカメAPI E2Eテスト
ソラカメAPI E2Eテスト E2E テストコード (Python) Grafana Cloud ソラカメAPI ① テスト実行
(5分ごと) ② テスト結果送信
ソラカメAPI E2Eテスト ① Grafana Cloudのエンドポイント 取得 ② テスト結果を送信する際のメトリ クスフォーマットに従って格納 ③
①で取得したエンドポイントに POST
ソラカメAPI E2Eテスト ① Grafana Cloudのエンドポイント 取得 ② テスト結果を送信する際のメトリ クスフォーマットに従って格納 ③
①で取得したエンドポイントに POST
ソラカメAPI E2Eテスト f"{metric_index},test_name={result['name']},device_id={result ['device_id']},test_kind={test_kind} value={value} {int(time.time() * 1e9)}" <metrics_name>,labelx=xxx,labely=yyy <value>=value
<timestamp>
ソラカメAPI E2Eテスト Grafana Cloud <metrics_name>,labelx=xxx,labely=yyy <value>=value <timestamp> influxDB line protocol
送信 Prometheus のメト リクスに変換
ソラカメAPI E2Eテスト Grafana Cloud <metrics_name>,labelx=xxx,labely=yyy <value>=value <timestamp> influxDB line protocol
送信 Prometheus のメト リクスに変換 シンプルなプロトコル。ツールやライブラリなど使わなくても 気軽にメトリクスを送信可能
ソラカメAPI E2Eテスト 他のメトリクスと同様に、PromQLを使ってダッシュボードに 表示可能 sora_cam_pytest_results_prod{test_name=~"test_p2 p_api_.*"}
ソラカメAPI E2Eテスト 3回連続それぞれのテストが成功していることがわかる
ソラカメAPI E2Eテスト このAPIは調子悪そう。 同一のテスト名で、違うデバイスはパスしているなら、デバ イス起因の問題の可能性も
• ソラカメで活用しているGrafana Cloudの機能を紹介 しました。 • Grafana Agent を使ったサーバーのモニタリング • E2Eテスト基盤の可視化
まとめ マネージドサービスをフルに活用することで、シンプルな構 成で監視基盤を構築できる 👍