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
140
Grafana Cloudとソラカメ
kumico
February 01, 2025
Tweet
Share
More Decks by kumico
See All by kumico
モダンターミナルエミュレータは画像を表示できるらしい
devoc
1
11
アプリケーションパフォーマンスの計測と改善の方法を勉強している話
devoc
11
3.3k
Other Decks in Programming
See All in Programming
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
130
Spring gRPC について / About Spring gRPC
mackey0225
0
220
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
130
昭和の職場からアジャイルの世界へ
kumagoro95
1
360
Immutable ActiveRecord
megane42
0
140
ソフトウェアエンジニアの成長
masuda220
PRO
10
920
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
370
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
200
知られざるDMMデータエンジニアの生態 〜かつてツチノコと呼ばれし者〜
takaha4k
4
1.3k
Pulsar2 を雰囲気で使ってみよう
anoken
0
230
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
190
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
A Philosophy of Restraint
colly
203
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Designing for humans not robots
tammielis
250
25k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Git: the NoSQL Database
bkeepers
PRO
427
64k
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テスト基盤の可視化
まとめ マネージドサービスをフルに活用することで、シンプルな構 成で監視基盤を構築できる 👍