Devuelva el scooter perdido o la historia de un monitoreo de IoT

Hace un año, lanzamos una versión piloto de un proyecto promocional para el alquiler de scooters eléctricos descentralizados .



Inicialmente, el proyecto se llamó Road-To-Barcelona, ​​luego se convirtió en Road-To-Berlin (de ahí el R2B que se encuentra en las capturas de pantalla), y al final se llamó xRide.



La idea principal del proyecto era la siguiente: en lugar de tener un servicio centralizado de alquiler de coches o scooters (hablaremos de scooters, también conocidos como motocicletas eléctricas, no de kickscooter / scooters), queríamos hacer una plataforma para el alquiler descentralizado. Ya hemos escrito sobre las dificultades que encontramos anteriormente .



Inicialmente, el proyecto se centró en automóviles, pero debido al tiempo, la comunicación extremadamente larga con los fabricantes y una gran cantidad de restricciones de seguridad, se eligieron scooters eléctricos para el piloto.



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, Beatshttps://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