Retournez le scooter manquant ou l'histoire d'une surveillance IoT

Il y a un an, nous avons lancé une version pilote d'un projet promotionnel pour la location décentralisée de scooters électriques .



Initialement, le projet s'appelait Road-To-Barcelona, ​​plus tard il est devenu Road-To-Berlin (d'où le R2B trouvé dans les captures d'écran), et à la fin il s'appelait xRide.



L'idée principale du projet était la suivante: au lieu d'avoir un service centralisé de location de voitures ou de scooters (nous parlerons de scooters aka motos électriques, et non de kickscooter / scooters), nous voulions faire une plateforme de location décentralisée. Nous avons déjà écrit sur les difficultés rencontrées précédemment .



Au départ, le projet était axé sur les voitures, mais en raison du timing, de la communication extrêmement longue avec les fabricants et d'un grand nombre de restrictions de sécurité, des scooters électriques ont été choisis pour le pilote.



iOS Android , , peer-to-peer , ETH . Ethereum .



" ", , .



, : .





, , , ( ) : .



?



, — IoT .



: , , ?



, ?



— , , : , , .



, IT — , . " ", .





?





, — GPS , , .



— , , juicer' .



, Hardware :



  • Bluetooth?
  • GPS ?

    • , GPS "", ,



: , , , (Jolocom, Keycloak).



Hardware





"" ?



— Raspberry Pi.

Rpi ( ) — ( / ), , , . "xRide box".



, , .



, , "off".



Docker? Plain linux?



, Raspberry — ?



, Docker.



, Docker RPi , , .



"" , .



Node.js (sic!) — , Go/C/C++.



"" .



, , .



, Docker . OS .



OS



, , , Raspbian ( Debian Pi).



Go, hardware- Go.



GPS, Bluetooth, , , .





(OTA) — /, /"" ( , ).



, .



, /dual-boot swupd/SWUpdate/OSTree Mender Balena.



, end-to-end , .



Balena , Docker balenaEngine.



, , Balena Etcher SD — .



Mender. Mender , .



, , mender.

, , , .



, , Mender .



Ansible


Ansible. playbook' .



, (CI ) ssh .



— , Wi-Fi.



, , IP Ansible Inventory.



Ansible -



3G/LTE



, Ansible , .



, , Wi-Fi .



3G/LTE ( ).



, .



— 3G/LTE IP .



SIM , IoT IP . SIM IP .



, IP aka service discovery - Consul, , IP , .



, pull , , push



VPN



VPN — Wireguard.



() VPN . .





, , push.





— , Kubernetes, . — Helm, , . , , , .





, , , :



  • ,
  • / —
  • —
  • pull — push
  • ,








, .



, all-in-one , , . -, , .



, Nagios, icinga zabbix Fleet management.





, , , , "" . .



- , . , Fleet management , .



, , " ", .



, , "" , .



(B)ELK?



, — ELK .

BELK, Beats — https://www.elastic.co/what-is/elk-stack





, ELK , , .



, ELK , Prometheus.



Grafan'.



, ELK (metricbeat), Kibana .



- ELK :



  • Prometheus
  • Prometheus
  • Kiban' Grafan'


, ELK , Prometheus: TSDB, Victoria Metrics, Cortex . , all-in-one , metricbeat .



ELK :



  • , ,
  • " " — ,
  • — ,


, open-source X-pack ( ) .



, , .

, - ElastAlert community , .



Loki — Grafana — Prometheus



Prometheus , Loki , Grafana.



, (- 19 ) Loki 0.3-0.4, produtcion .



Loki , , Promtail ( ) bare-metal, kubernetes.



TICK



, (?) ELK TICK — Telegraf, InfluxDB, Chronograf, Kapacitor.





, :



  • Telegraf —
  • InfluxDB —
  • Kapacitor —
  • Chronograf —


InfluxDB, Kapacitor Chronograf helm , .



, Influx 2.0 (beta) Kapacitor Chronograf InfluxDB



Telegraf





Telegraf — .



, nginx

minecraft.



:



  • ( Go)

  • Push


    • -
  • " "


push , .



, .



Influx syslog.



Telegraf , ICK .



ELK time-series , .



InfluxDB





InfluxDB — TICK , time-series .

Influx , , , .



InfluxDB Go , , ELK ( ) .



Influx API , .



— $$$ ?


TICK — . .



, ?



, TICK — .



— High availability Enterprise .



HA — , - . — influxdb-ha , ,

influx-spout — NATS ( , ).



, , , — , , Influx 2.0 ( ).



Relay — HA, ,

InfluxDB load balancer'.



( InfluxDB ).



, ( ), , .



Victoria Metrics?



, , TICK , , InfluxDB , T_CK.





Time-series , — Victoria Metrics, :



  • ,
  • ,

  • InfluxDB


Victoria , drop-in InfluxDB.



, , , InfluxDB, — "" Prometheus API, Chronograf .



, ( — ).



, VM , Influx.



, , Victoria Metrics ,

( ).





, InfluxDB.



:



  • TICK


, - .



, Influx (c ).



— TICK .



Kapacitor





Kapacitor — TICK , .



( ), — .



. Slack , , .





, , .



— - "", .



Influx 2.0 Kapacitor DB



Chronograf





UI , , UX Chronograf'.



TICK , , Grafan' -.

, .



, Grafana , Chronograf Influx.



, , Chronograf .



, Chronograf , InfluxDB Explore.



, Grafana , Chronograf ( ), Grafana JSON ( Chronograf "" JSON — UI).



Kibana , UX .



. Chronograf , .



, , Grafana Kibana :





:





, , InfluxDB Query mean.



, Chronograf . :





Influx syslog — severity.



, severity .



, .



, , .



- , , , ( LTE ), "" Slack , .



, severity .



Slack . .





, Chronograf OAuth OIDC .



, SSO.



— Keycloak — , back-end.



“”



, — "" Vue.

, , InfluxDB.



, , .



. , Grafana Chronograf — Grafana , . , Grafana , , , , , ( , ).



Influx — .

.



: , , , bluetooth, GPS, healthcheck'.

.



, — Influx Nodes " ".



deadman — Slack.



, —



. " — !"







, InfluxDB , Victoria Metrics.



, — , ( — enum)?



, , .

, " " , , .



API , , .



Influx. - status InfluxDB .



- "online" "offline", , Slack . - "disconnected".



, , - .



, — .



, , . , , .





, InfluxDB GPS . .

, .



, ( ).





, ( ) .



:





, :





, :



  • Keycloak


Kubernetes, .



, Telegraf " " Kubernetes , Chronograf .



. — Slack.



Kubernetes : DaemonSet Sidecar.

.



Telegraf Sidecar .



. Telegraf Docker API, syslog . , , Chronograf'e.



???


, , , .



Telegraf InfluxDB Influx, - .





?





— TICK , , .



, , . — .





TICK — . .



/ , 30 .



. . 10 .



, , " " , 30 . , LTE SIM .



, 10- .



, - , .



, — WireGuard VPN.



, environment , .



InfluxDB 10 - .



TICK — -


, TICK , - HighLoad.



— InfluxDB .



Influx Relay High Availability.



, , "" .



, / "" — TICK .



, InfluxDB Enterprise — - , . ,   .



, , Victoria Metrics Loki.



, , Loki/Grafana ( ) TICK, .



: Influx 1.8, - Influx 2.0.



, , ( kapacitor chronograf),

(" " — Fortnite ). , , 2 , — .



Influx 2.0 , - , , .



IoT ()



, IoT , .



, Beta OpenBalena — .



Ansible + TICK + WireGuard, . , Balena IoT .



, , , OpenBalena , .



, VPN IoT .



— Hardware, .



, ?



, "", .



"", GPS InfluxDB.



, , 21:00 , - - 5 - .



5 — , - .

, , . .



, .



, , , () . - .



. , , , ...




All Articles