IoTと監視
by
na-o-ys
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
IoT と監視 600株式会社 エンジニア 岡前直由
Slide 2
Slide 2 text
無人コンビニ600について ● 無人決済冷蔵庫 ○ クレジットカードリーダー ○ 電子錠 ○ RFID ○ Android タブレット ● 「半径50メートル商圏」の市場開拓を狙う ○ 20年で10兆円規模の市場に
Slide 3
Slide 3 text
自己紹介 ● 経歴 ○ 大阪大学大学院 (暗号理論・符号理論専攻) ○ 某SIer ○ 株式会社リブセンス ■ SRE, SWE, 機械学習エンジニア ○ 株式会社600 ■ 2018/9~ ■ 主に Product Quality Manager ● TypeScript, Kotlin
Slide 4
Slide 4 text
今日の内容 「冷蔵庫を監視する」ってどういうこと? Prometheus を用いた筐体監視事例の紹介
Slide 5
Slide 5 text
● OSS のシステムモニタリングツール ● アーキテクチャがシンプルで運用が容易 ● 機能充分なコンポーネント群と周辺ツール ○ 可視化 ○ アラート
Slide 6
Slide 6 text
Prometheus のアーキテクチャ
Slide 7
Slide 7 text
Prometheus × IoT の2つのポイント 1. サブコンポーネント Pushgateway の利用 2. メトリクス設計
Slide 8
Slide 8 text
Prometheus は Pull 型 監視対象自身がメトリクス取得用の HTTP エンドポイントを用意 し, Prometheus が定期的にスクレイピングする
Slide 9
Slide 9 text
Pushgateway Push 型の監視を実現するためのサブコンポーネント エッジデバイスへの Pull は難しい
Slide 10
Slide 10 text
メトリクス設計 最も重要な部分 ● サーバー監視など一般的な用途では, 基本的なメトリクスを組 み込んだ exporter が用意されている ● 「筐体が正常稼働」の条件をブレークダウン ○ Android アプリが起動している, タブレットのバッテリーが充 分である, クレジットカードが読み込める, … ○ Prometheusで表現できるメトリクス化
Slide 11
Slide 11 text
CounterとGauge Prometheusが用意しているメトリクスの型 ● Counter ○ 単調増加する値 ○ e.g. 合計リクエスト数, エラー数 ● Gauge ○ 任意に上下する値 ○ e.g. メモリ利用量, 温度
Slide 12
Slide 12 text
例1: バッテリー残量 バッテリー残量を表す Gauge メトリクス device_battery_percent
Slide 13
Slide 13 text
device_battery_percent{satellite_id=”xxx”} バッテリー残量を取得するクエリ
Slide 14
Slide 14 text
例2: Androidアプリの稼働率 Metric: アプリの累積稼働時間 (Counter) application_alive_total アプリが起動していればれば5分おきにincrementさせる
Slide 15
Slide 15 text
increase(application_alive_total{satellite_id="xxx"}[2w]) / (14 * 24 * 60 / 5) 直近2週間の稼働率を取得するクエリ
Slide 16
Slide 16 text
例3: クレジットカード読み取り成功率 Metric: 累積成功数/失敗数 (Counter) user_cardswipe_success_total user_cardswipe_failure_total
Slide 17
Slide 17 text
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あたりのクレジットカード読み取り成功率を取得するクエリ
Slide 18
Slide 18 text
筐体の性能評価指標 シンプルなメトリクスから多くの指標が表現可能 ● 故障回数 ● 平均故障間隔 (MTBF) ● 平均修理時間 (MTTR) ● 故障率 ● ...
Slide 19
Slide 19 text
ダッシュボード例
Slide 20
Slide 20 text
IoT監視とサーバー監視 同じ? ● モニタリングツール導入 ● グラフ化・ダッシュボード化 ● アラート定義 ● オンコール対応
Slide 21
Slide 21 text
運用はけっこう違う ● Web サーバーが1台落ちてもサービス影響無い/小さい ○ 冗長構成 ● IoT エッジデバイスが1つ落ちると即サービス影響 ○ 冗長化が難しい ○ 部品の品質を高めて故障率を下げるしかない
Slide 22
Slide 22 text
品質向上 監視データをもとに, ● 故障原因や頻度を分析 ● 解決すべき課題を優先度付け ● 日々改善
Slide 23
Slide 23 text
がんばっている
Slide 24
Slide 24 text
おわりに ● 半径50メートル商圏の先行プレイヤーとして! ● 週休3日、待遇良いです! ● (幸か不幸か)エンジニアリング課題が山積みです 600で一緒にIoTしませんか