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
na-o-ys
September 11, 2019
Technology
830
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
IoTと監視
na-o-ys
September 11, 2019
More Decks by na-o-ys
See All by na-o-ys
RubyとJIT
naoys
0
190
将棋盤を画像認識したかった
naoys
0
1.6k
Rust で乗り換え案内
naoys
0
650
疎行列と Jaccard 類似度の高速計算
naoys
1
680
有理数集合の濃度
naoys
2
160
YARVの最適化について調べた
naoys
0
160
転職会議サービスのAWS移行記録
naoys
0
92
Anonymous Recursion in C++
naoys
0
450
入門AlphaGo
naoys
5
3.8k
Other Decks in Technology
See All in Technology
GoでCコンパイラを作った話
repunit
0
140
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
270
発表と総括 / Presentations and Summary
ks91
PRO
0
150
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
300
どこまでAIに任せるか 〜確率論と決定論の境界決定〜
shukob
0
150
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
2
990
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
[2026-07-15] AI Ready なはずだったアーキテクチャと、見えてきた課題・次に目指す状態
wxyzzz
11
4.1k
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
320
生成AI×AWS CDK×AWS FISで"振り返れる"ミニGameDayをつくろう
yoshimi0227
2
480
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
620
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
1
220
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
620
How to Think Like a Performance Engineer
csswizardry
28
2.7k
New Earth Scene 8
popppiees
3
2.4k
Building Applications with DynamoDB
mza
96
7.1k
Test your architecture with Archunit
thirion
1
2.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
190
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
540
30 Presentation Tips
portentint
PRO
1
350
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.6k
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しませんか