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
IoTと監視
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
na-o-ys
September 11, 2019
Technology
820
1
Share
IoTと監視
na-o-ys
September 11, 2019
More Decks by na-o-ys
See All by na-o-ys
RubyとJIT
naoys
0
180
将棋盤を画像認識したかった
naoys
0
1.6k
Rust で乗り換え案内
naoys
0
650
疎行列と Jaccard 類似度の高速計算
naoys
1
670
有理数集合の濃度
naoys
2
150
YARVの最適化について調べた
naoys
0
160
転職会議サービスのAWS移行記録
naoys
0
88
Anonymous Recursion in C++
naoys
0
440
入門AlphaGo
naoys
5
3.8k
Other Decks in Technology
See All in Technology
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
670
MCPサーバーを中核としたAIエージェント開発と業務自動化/nikkei-tech-talk-45
nikkei_engineer_recruiting
0
100
Anthropic「Long-running a gents」をGeminiで再現してみた
tkikuchi
0
730
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (前半)
oracle4engineer
PRO
1
130
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (後半)
oracle4engineer
PRO
1
140
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
160
Choose your own adventure in agentic design patterns
glaforge
0
160
AgentCore×VPCでの設計パターンn選と勘所
har1101
4
360
生成AIはソフトウェア開発の革命か、ソフトウェア工学の宿題再提出なのか -ソフトウェア品質特性の追加提案-
kyonmm
PRO
1
380
GitHub Copilot CLI と VS Code Agent Mode の使い分け
tomokusaba
0
110
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
280
AI時代における技術的負債への取り組み
codenote
1
2k
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
54k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
310
Mobile First: as difficult as doing things right
swwweet
225
10k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
220
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
520
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
220
Designing for humans not robots
tammielis
254
26k
Skip the Path - Find Your Career Trail
mkilby
1
110
Transcript
IoT と監視 600株式会社 エンジニア 岡前直由
無人コンビニ600について • 無人決済冷蔵庫 ◦ クレジットカードリーダー ◦ 電子錠 ◦ RFID ◦
Android タブレット • 「半径50メートル商圏」の市場開拓を狙う ◦ 20年で10兆円規模の市場に
自己紹介 • 経歴 ◦ 大阪大学大学院 (暗号理論・符号理論専攻) ◦ 某SIer ◦ 株式会社リブセンス
▪ SRE, SWE, 機械学習エンジニア ◦ 株式会社600 ▪ 2018/9~ ▪ 主に Product Quality Manager • TypeScript, Kotlin
今日の内容 「冷蔵庫を監視する」ってどういうこと? Prometheus を用いた筐体監視事例の紹介
• OSS のシステムモニタリングツール • アーキテクチャがシンプルで運用が容易 • 機能充分なコンポーネント群と周辺ツール ◦ 可視化 ◦
アラート
Prometheus のアーキテクチャ
Prometheus × IoT の2つのポイント 1. サブコンポーネント Pushgateway の利用 2. メトリクス設計
Prometheus は Pull 型 監視対象自身がメトリクス取得用の HTTP エンドポイントを用意 し, Prometheus が定期的にスクレイピングする
Pushgateway Push 型の監視を実現するためのサブコンポーネント エッジデバイスへの Pull は難しい
メトリクス設計 最も重要な部分 • サーバー監視など一般的な用途では, 基本的なメトリクスを組 み込んだ exporter が用意されている • 「筐体が正常稼働」の条件をブレークダウン
◦ Android アプリが起動している, タブレットのバッテリーが充 分である, クレジットカードが読み込める, … ◦ Prometheusで表現できるメトリクス化
CounterとGauge Prometheusが用意しているメトリクスの型 • Counter ◦ 単調増加する値 ◦ e.g. 合計リクエスト数, エラー数
• Gauge ◦ 任意に上下する値 ◦ e.g. メモリ利用量, 温度
例1: バッテリー残量 バッテリー残量を表す Gauge メトリクス device_battery_percent
device_battery_percent{satellite_id=”xxx”} バッテリー残量を取得するクエリ
例2: Androidアプリの稼働率 Metric: アプリの累積稼働時間 (Counter) application_alive_total アプリが起動していればれば5分おきにincrementさせる
increase(application_alive_total{satellite_id="xxx"}[2w]) / (14 * 24 * 60 / 5) 直近2週間の稼働率を取得するクエリ
例3: クレジットカード読み取り成功率 Metric: 累積成功数/失敗数 (Counter) user_cardswipe_success_total user_cardswipe_failure_total
increase(user_card_swipe_success_total{satellite_id="xxx"}[3d]) / ( increase(user_card_swipe_success_total{satellite_id="xxx"}[3d]) + increase(user_card_swipe_failure_total{satellite_id="xxx"}[3d]) ) 3dあたりのクレジットカード読み取り成功率を取得するクエリ
筐体の性能評価指標 シンプルなメトリクスから多くの指標が表現可能 • 故障回数 • 平均故障間隔 (MTBF) • 平均修理時間 (MTTR)
• 故障率 • ...
ダッシュボード例
IoT監視とサーバー監視 同じ? • モニタリングツール導入 • グラフ化・ダッシュボード化 • アラート定義 • オンコール対応
運用はけっこう違う • Web サーバーが1台落ちてもサービス影響無い/小さい ◦ 冗長構成 • IoT エッジデバイスが1つ落ちると即サービス影響 ◦
冗長化が難しい ◦ 部品の品質を高めて故障率を下げるしかない
品質向上 監視データをもとに, • 故障原因や頻度を分析 • 解決すべき課題を優先度付け • 日々改善
がんばっている
おわりに • 半径50メートル商圏の先行プレイヤーとして! • 週休3日、待遇良いです! • (幸か不幸か)エンジニアリング課題が山積みです 600で一緒にIoTしませんか