Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
IoTと監視
Search
na-o-ys
September 11, 2019
Technology
850
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
IoTと監視
na-o-ys
September 11, 2019
Transcript
24 slides
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しませんか
More Decks by na-o-ys
See All by na-o-ys
RubyとJIT
naoys
0
190
将棋盤を画像認識したかった
naoys
0
1.6k
Rust で乗り換え案内
naoys
0
660
疎行列と Jaccard 類似度の高速計算
naoys
1
700
有理数集合の濃度
naoys
2
160
YARVの最適化について調べた
naoys
0
170
転職会議サービスのAWS移行記録
naoys
0
96
Anonymous Recursion in C++
naoys
0
450
入門AlphaGo
naoys
5
3.8k
Other Decks in Technology
See All in Technology
常時稼働エージェントの作り方(Claude公式ブログを資料化)
minorun365
PRO
11
19k
ラクスル会社紹介資料|エンジニア向け / RAKSUL Introduction for Engineers
raksulrecruiting
0
110
81天的 AI Agent 軟體開發團隊治理實務分享
regionbbs
0
170
Kiro CLI 入門 (ターミナルと CI で使う) | 目指せ Kiro マスター 03
inariku
PRO
2
150
思考過程から秘密が漏れる:Amazon Bedrock上のKimi K3を5つの方法で攻めたら、25回中22回漏洩した話
yama3133
1
160
Reticulum, le réseau cypherpunk dont vous avez besoin !
rlifchitz
0
140
SSFの現在地 ― CAEP/RISCからAI Identityへ
oidfj
0
440
大江戸Ruby会議でデータベース クライアントの話をするのは 間違っているだろうか
yahonda
1
130
OpenTelemetryで変わった 新時代のCloudWatchメトリクス監視
tsukuboshi
0
220
AWS基盤改善を支える 私たちの理念と行動指針
kentosuzuki
0
230
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
340
属人化したISMS運用をGitHubとAIで仕組み化した1年間の記録
sioncojp
4
2.6k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Scaling GitHub
holman
464
140k
The SEO Collaboration Effect
kristinabergwall1
1
620
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
Tell your own story through comics
letsgokoyo
1
1.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Mind Mapping
helmedeiros
1
440
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
2k