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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kumico
February 01, 2025
Programming
0
330
Grafana Cloudとソラカメ
kumico
February 01, 2025
Tweet
Share
More Decks by kumico
See All by kumico
こんにちは DID
devoc
0
2
インタラクティブシェルのカスタマイズを楽しもう
devoc
0
190
OpenID Connect から学ぶ認証・認可
devoc
0
26
モダンターミナルエミュレータは画像を表示できるらしい
devoc
1
31
アプリケーションパフォーマンスの計測と改善の方法を勉強している話
devoc
11
3.4k
Other Decks in Programming
See All in Programming
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
180
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
860
.NET Conf 2025 の興味のあるセッ ションを復習した / dotnet conf 2025 quick recap for backend engineer
tomohisa
0
130
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.4k
今から始めるClaude Code超入門
448jp
7
8.2k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
670
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
CSC307 Lecture 02
javiergs
PRO
1
770
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
390
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
17
6k
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
1k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Applications with DynamoDB
mza
96
6.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
We Are The Robots
honzajavorek
0
160
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
110
Odyssey Design
rkendrick25
PRO
1
480
Producing Creativity
orderedlist
PRO
348
40k
First, design no harm
axbom
PRO
2
1.1k
GitHub's CSS Performance
jonrohan
1032
470k
Site-Speed That Sticks
csswizardry
13
1.1k
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テスト基盤の可視化
まとめ マネージドサービスをフルに活用することで、シンプルな構 成で監視基盤を構築できる 👍