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
270
Grafana Cloudとソラカメ
kumico
February 01, 2025
Tweet
Share
More Decks by kumico
See All by kumico
OpenID Connect から学ぶ認証・認可
devoc
0
14
モダンターミナルエミュレータは画像を表示できるらしい
devoc
1
20
アプリケーションパフォーマンスの計測と改善の方法を勉強している話
devoc
11
3.3k
Other Decks in Programming
See All in Programming
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
6k
ニーリーにおけるプロダクトエンジニア
nealle
0
860
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
700
10 Costly Database Performance Mistakes (And How To Fix Them)
andyatkinson
0
400
AIともっと楽するE2Eテスト
myohei
7
2.7k
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
2
18k
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
530
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
170
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
10
5.7k
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
170
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
220
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
230
Featured
See All Featured
Building an army of robots
kneath
306
45k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Designing for Performance
lara
610
69k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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テスト基盤の可視化
まとめ マネージドサービスをフルに活用することで、シンプルな構 成で監視基盤を構築できる 👍