Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Usa ka tuig ang milabay naglunsad kami og usa ka pilot nga bersyon sa usa ka promotional nga proyekto alang sa desentralisadong pag-abang sa mga electric scooter.

Sa sinugdan, ang proyekto gitawag nga Road-To-Barcelona, ​​​​sa ulahi nahimo nga Road-To-Berlin (busa R2B sa mga screenshot), ug sa katapusan gitawag kini nga xRide.

Ang panguna nga ideya sa proyekto mao kini: imbis nga adunay usa ka sentralisado nga awto o serbisyo sa pag-abang sa scooter (naghisgot kami bahin sa mga scooter aka electric nga mga motorsiklo, dili mga kickscooter / scooter) gusto namon nga maghimo usa ka plataporma alang sa desentralisado nga pag-abang. Mahitungod sa mga kalisdanan nga among nasugatan gisulat na sa sayo pa.

Sa sinugdan, ang proyekto naka-focus sa mga sakyanan, apan tungod sa mga deadline, hilabihan ka taas nga komunikasyon uban sa mga tiggama ug sa usa ka dako nga gidaghanon sa mga pagdili sa kaluwasan, electric scooter gipili alang sa piloto.

Ang user nag-install sa usa ka iOS o Android nga aplikasyon sa telepono, miduol sa scooter nga iyang gusto, human niini ang telepono ug ang scooter nagtukod og usa ka peer-to-peer nga koneksyon, ang ETH gibaylo ug ang user makasugod sa pagsakay pinaagi sa pagpaandar sa scooter pinaagi sa ang telepono. Sa katapusan sa biyahe, posible usab nga bayran ang biyahe gamit ang Ethereum gikan sa pitaka sa user sa telepono.

Dugang pa sa mga scooter, ang user nakakita sa "smart chargers" sa aplikasyon, pinaagi sa pagbisita diin ang user makausab sa kasamtangan nga baterya sa iyang kaugalingon kung kini ubos.

Kini sa kasagaran kung unsa ang hitsura sa among piloto, nga gilusad kaniadtong Septyembre sa miaging tuig sa duha ka lungsod sa Aleman: Bonn ug Berlin.

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Ug unya, usa ka adlaw, sa Bonn, sayo sa buntag, ang among support team (nga nahimutang sa site aron mamentinar ang mga scooter sa pagtrabaho) gialerto: usa sa mga scooter nawala nga walay pagsubay.

Unsaon pagpangita niini ug pagbalik niini?

Niini nga artikulo hisgutan nako kini, apan una - kung giunsa namon gitukod ang among kaugalingon nga platform sa IoT ug kung giunsa namon kini gibantayan.

Unsa ug ngano nga bantayan: mga scooter, imprastraktura, mga istasyon sa pag-charge?

Busa, unsa ang gusto natong bantayan sa atong proyekto?

Una sa tanan, kini ang mga scooter mismo - ang mga electric scooter sa ilang kaugalingon mahal kaayo, dili nimo mahimo ang paglansad sa ingon nga proyekto nga wala’y igo nga pagkaandam; kung mahimo, gusto nimo nga mangolekta kutob sa mahimo nga kasayuran bahin sa mga scooter: bahin sa ilang lokasyon, lebel sa bayad. , ug uban pa.

Dugang pa, gusto nako nga bantayan ang kahimtang sa among kaugalingon nga imprastraktura sa IT - mga database, serbisyo ug tanan nga kinahanglan nila aron magtrabaho. Kinahanglan usab nga bantayan ang kahimtang sa mga "smart charger", kung kini maguba o mahurot ang tibuuk nga mga baterya.

Mga scooter

Unsa ang among mga scooter ug unsa ang gusto namon mahibal-an bahin kanila?

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Ang una ug labing hinungdanon nga butang mao ang mga koordinasyon sa GPS, tungod kay salamat sa kanila masabtan naton kung diin sila ug kung diin sila naglihok.

Sunod mao ang singil sa baterya, salamat nga atong mahibal-an nga ang pag-charge sa mga scooter hapit na matapos ug magpadala usa ka juicer o labing menos pahimangno sa tiggamit.

Siyempre, kinahanglan usab nga susihon kung unsa ang nahitabo sa among mga sangkap sa Hardware:

  • mugana ba ang bluetooth?
  • ang GPS module mismo nagtrabaho?
    • Kami usab adunay problema sa kamatuoran nga ang GPS makapadala ug sayop nga mga koordinasyon ug ma-stuck, ug kini matino lamang pinaagi sa dugang nga mga pagsusi sa scooter,
      ug ipahibalo ang suporta sa labing madali aron masulbad ang isyu

Ug sa katapusan: mga pagsusi sa software, sugod sa OS ug processor, network ug disk load, nga nagtapos sa mga pagsusi sa among kaugalingon nga mga module nga mas espesipiko alang kanamo (Jolocom, keycloak).

hardware

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Unsa ang atong "puthaw" nga bahin?

Gikonsiderar ang labing kadali nga posible nga time frame ug ang panginahanglan alang sa paspas nga prototyping, gipili namon ang labing kadali nga kapilian alang sa pagpatuman ug pagpili sa mga sangkap - Raspberry Pi.
Dugang pa sa Rpi mismo, kami adunay usa ka custom board (nga kami mismo ang nagpalambo ug nagmando gikan sa China aron mapadali ang proseso sa asembliya sa katapusang solusyon) ug usa ka hugpong sa mga sangkap - usa ka relay (aron i-on/off ang scooter), usa ka battery charge reader, usa ka modem, antenna. Kining tanan giputos sa usa ka espesyal nga "xRide box".

Kinahanglan usab nga hinumdoman nga ang tibuuk nga kahon gipadagan sa usa ka dugang nga power bank, nga sa baylo gipadagan sa panguna nga baterya sa scooter.

Kini nagpaposible sa paggamit sa pag-monitor ug pag-on sa scooter bisan human sa pagtapos sa biyahe, tungod kay ang nag-unang baterya gipalong dayon human ibalik ang yawe sa ignition sa "off" nga posisyon.

Docker? Plain nga Linux? ug deployment

Balik kita sa pagmonitor, busa Raspberry - unsa ang naa kanato?

Usa sa mga una nga butang nga gusto namon gamiton aron mapadali ang proseso sa pag-deploy, pag-update ug paghatud sa mga sangkap sa mga pisikal nga aparato mao ang Docker.

Ikasubo, dali nga nahimong tin-aw nga ang Docker sa RPi, bisan kung kini nagtrabaho, adunay daghang overhead, labi na sa mga termino sa pagkonsumo sa kuryente.

Ang kalainan sa paggamit sa "native" nga OS, bisan kung dili kaayo lig-on, igo pa alang kanamo nga mabinantayon sa posibilidad nga mawad-an sa bayad sa kadali.

Ang ikaduhang rason mao ang usa sa among partner nga library sa Node.js (sic!) - ang bugtong component sa sistema nga wala gisulat sa Go/C/C++.

Ang mga tagsulat sa librarya walay panahon sa paghatag sa usa ka nagtrabaho nga bersyon sa bisan unsa nga "lumad" nga mga pinulongan.

Dili lamang ang node mismo dili ang labing elegante nga solusyon alang sa mga aparato nga ubos ang performance, apan ang librarya mismo gutom kaayo sa kapanguhaan.

Nakaamgo kami nga, bisan kung gusto namon, ang paggamit sa Docker mahimong sobra ra kaayo alang kanamo. Ang pagpili gihimo pabor sa lumad nga OS ug direkta nga nagtrabaho ubos niini.

OS

Ingon usa ka sangputanan, gipili namon, pag-usab, ang pinakasimple nga kapilian ingon ang OS ug gigamit ang Raspbian (Debian build for Pi).

Gisulat namo ang tanan namong software sa Go, mao nga gisulat usab namo ang nag-unang module sa ahente sa hardware sa among sistema sa Go.

Siya ang responsable sa pagtrabaho sa GPS, Bluetooth, pagbasa sa bayad, pag-on sa scooter, ug uban pa.

Ipakaylap

Mitumaw dayon ang pangutana bahin sa panginahanglan nga ipatuman ang usa ka mekanismo sa paghatud sa mga update sa mga aparato (OTA) - parehas nga mga pag-update sa among ahente / aplikasyon mismo, ug mga update sa OS / firmware mismo (tungod kay ang mga bag-ong bersyon sa ahente mahimong magkinahanglan mga update sa kernel o mga sangkap sa sistema, mga librarya, ug uban pa).

Pagkahuman sa taas nga pag-analisar sa merkado, nahibal-an nga adunay daghang mga solusyon alang sa paghatud sa mga update sa aparato.

Gikan sa medyo simple, kasagaran update/dual-boot oriented utilities sama sa swupd/SWUpdate/OSTree ngadto sa bug-os nga plataporma sama sa Mender ug Balena.

Una sa tanan, nakahukom kami nga interesado kami sa mga end-to-end nga mga solusyon, mao nga ang pagpili nahulog dayon sa mga plataporma.

Ang kaugalingon Balyena wala iapil tungod sa kamatuoran nga gigamit gyud niini ang parehas nga Docker sa sulod sa balenaEngine niini.

Apan namatikdan nako nga bisan pa niini, kanunay namong gigamit ang ilang produkto Balena Etcher alang sa flash firmware sa mga SD card - usa ka yano ug labi ka kombenyente nga gamit alang niini.

Busa, sa katapusan ang pagpili nahulog sa Mender. Ang Mender usa ka kompleto nga plataporma alang sa pag-assemble, paghatud ug pag-install sa firmware.

Sa kinatibuk-an ang plataporma nindot tan-awon, apan milungtad kami mga usa ug tunga ka semana aron lang matukod ang husto nga bersyon sa among firmware gamit ang mender builder.
Ug sa labi namon nga gisubsob ang among kaugalingon sa mga kakuti sa paggamit niini, labi nga nahimong tin-aw nga aron hingpit nga ipakaylap kini kinahanglan namon ang labi pa nga oras kaysa sa among naa.

Alaut, ang among higpit nga mga deadline nagpasabut nga napugos kami nga biyaan ang paggamit sa Mender ug magpili usa nga labi ka simple.

Ansible

Ang pinakasimple nga solusyon sa among sitwasyon mao ang paggamit sa Ansible. Ang usa ka magtiayon nga mga playbook igo na aron makasugod.

Ang ilang diwa mao nga nagkonektar kami gikan sa host (CI server) pinaagi sa ssh sa among mga rasberry ug nag-apod-apod sa mga update sa kanila.

Sa sinugdanan, ang tanan yano ra - kinahanglan ka naa sa parehas nga network sa mga aparato, ang pagbubo gihimo pinaagi sa Wi-Fi.

Sa opisina adunay usa ka dosena nga pagsulay nga raspberry nga konektado sa parehas nga network, ang matag aparato adunay usa ka static nga IP address nga gitakda usab sa Ansible Inventory.

Kini ang Ansible nga naghatud sa among ahente sa pag-monitor sa katapusan nga mga aparato

3G / LTE

Ikasubo, kini nga kaso sa paggamit alang sa Ansible mahimo ra molihok sa mode sa pag-uswag sa wala pa kami adunay aktwal nga mga scooter.

Tungod kay ang mga scooter, ingon sa imong nasabtan, dili maglingkod nga konektado sa usa ka Wi-Fi router, kanunay nga naghulat alang sa mga update sa network.

Sa tinuud, ang mga scooter dili adunay bisan unsang koneksyon gawas sa mobile 3G / LTE (ug bisan kung dili sa tanan nga oras).

Nagpahamtang dayon kini og daghang mga problema ug mga limitasyon, sama sa ubos nga tulin sa koneksyon ug dili lig-on nga komunikasyon.

Apan ang labing importante nga butang mao nga sa usa ka 3G/LTE network dili lang kita makasalig sa usa ka static IP nga gi-assign sa network.

Kini partially nasulbad sa pipila ka mga SIM card providers; adunay bisan mga espesyal nga SIM card nga gidisenyo alang sa mga IoT device nga adunay static nga mga IP address. Apan kami walay access sa maong mga SIM card ug dili makagamit sa mga IP address.

Siyempre, adunay mga ideya sa paghimo sa usa ka matang sa pagrehistro sa mga IP address aka pagdiskobre sa serbisyo sa usa ka dapit sama sa Consul, apan kinahanglan namon nga biyaan ang ingon nga mga ideya, tungod kay sa among mga pagsulay ang IP address mahimong mausab kanunay, nga misangpot sa dakong pagkawalay kalig-on.

Tungod niini nga hinungdan, ang labing sayon ​​​​nga paggamit alang sa paghatud sa mga sukatan dili gamit ang modelo sa pagbitad, diin moadto kami sa mga aparato alang sa kinahanglan nga mga sukatan, apan pagduso, paghatud sa mga sukatan gikan sa aparato direkta sa server.

VPN

Ingon usa ka solusyon sa kini nga problema, gipili namon ang VPN - labi na Pagbantay.

Ang mga kliyente (scooter) sa pagsugod sa sistema nga konektado sa VPN server ug nakahimo sa pagkonektar kanila. Kini nga tunel gigamit sa paghatud sa mga update.

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Sa teorya, ang parehas nga tunel mahimong magamit alang sa pag-monitor, apan ang ingon nga koneksyon mas komplikado ug dili kaayo kasaligan kaysa yano nga pagduso.

Mga kapanguhaan sa panganod

Katapusan, gikinahanglan nga bantayan ang among mga serbisyo sa panganod ug mga database, tungod kay gigamit namon ang Kubernetes alang kanila, labing maayo aron ang pag-deploy sa pag-monitor sa cluster ingon kadali kutob sa mahimo. Sa tinuud, gamita Helm, tungod kay alang sa pag-deploy, gigamit namon kini sa kadaghanan nga mga kaso. Ug, siyempre, aron ma-monitor ang panganod kinahanglan nimo nga gamiton ang parehas nga mga solusyon sama sa mga scooter mismo.

Gihatag

Phew, murag nahan-ay na namo ang description, maghimo ta ug lista sa among gikinahanglan sa katapusan:

  • Usa ka dali nga solusyon, tungod kay ang pag-monitor gikinahanglan na sa panahon sa proseso sa pag-uswag
  • Volume/gidaghanon – daghang metrics ang gikinahanglan
  • Gikinahanglan ang pagkolekta sa log
  • Kasaligan - hinungdanon ang datos aron magmalampuson
  • Dili nimo magamit ang modelo sa pagbitad - kinahanglan nimo ang pagduso
  • Kinahanglan namon ang hiniusa nga pag-monitor dili lamang sa hardware, apan usab sa panganod

Ang katapusan nga imahe ingon niini

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Pagpili sa stack

Busa, nag-atubang kami sa pangutana sa pagpili sa usa ka monitoring stack.

Una sa tanan, nangita kami sa labing kompleto nga all-in-one nga solusyon nga dungan nga magsakup sa tanan namong mga kinahanglanon, apan sa samang higayon mahimong flexible igo aron ipahiangay ang paggamit niini sa among mga panginahanglan. Bisan pa, kami adunay daghang mga pagdili nga gipahamtang kanamo sa hardware, arkitektura ug mga deadline.

Adunay daghang lainlain nga mga solusyon sa pag-monitor, sugod sa mga hingpit nga sistema sama sa Nagios, icinga o zabbix ug pagtapos sa mga andam nga solusyon alang sa pagdumala sa Fleet.

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Sa sinugdan, ang naulahi ingon og usa ka sulundon nga solusyon alang kanamo, apan ang uban wala’y bug-os nga pag-monitor, ang uban adunay labi ka limitado nga kapabilidad sa libre nga mga bersyon, ug ang uban wala gyud magtabon sa among "gusto" o dili igo nga flexible aron mohaum sa among mga senaryo. Ang uban kay karaan na.

Pagkahuman sa pag-analisar sa daghang parehas nga mga solusyon, dali kami nakahinapos nga mas dali ug mas paspas ang pag-assemble sa parehas nga stack sa among kaugalingon. Oo, kini mahimong usa ka gamay nga mas komplikado kaysa sa pag-deploy sa usa ka hingpit nga andam nga plataporma sa pagdumala sa Fleet, apan dili kami kinahanglan nga mokompromiso.

Halos sigurado, sa tanan nga daghang kadaghan sa mga solusyon, adunay usa nga andam na nga hingpit nga mohaum kanamo, apan sa among kahimtang mas paspas ang pag-assemble sa usa ka piho nga stack sa among kaugalingon ug ipasibo kini "para sa among kaugalingon" kaysa sa. pagsulay sa andam nga mga produkto.

Sa tanan niini, wala kami maningkamot sa pag-assemble sa usa ka tibuok nga platform sa pag-monitor sa among kaugalingon, apan nangita alang sa labing magamit nga "andam na" nga mga stack, nga adunay katakus nga dali nga ma-configure kini.

(B) ELK?

Ang unang solusyon nga aktuwal nga gikonsiderar mao ang iladong ELK stack.
Sa pagkatinuod, kini kinahanglan nga tawgon nga BELK, tungod kay kini tanan nagsugod sa Beats - https://www.elastic.co/what-is/elk-stack

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Siyempre, ang ELK usa sa labing inila ug gamhanang solusyon sa natad sa pagmonitor, ug labaw pa sa pagkolekta ug pagproseso sa mga troso.

Among gituyo nga ang ELK gamiton sa pagkolekta og mga troso ug ingon man sa dugay nga pagtipig sa mga sukatan nga nakuha gikan sa Prometheus.

Alang sa visualization mahimo nimong gamiton ang Grafan.

Sa tinuud, ang bag-ong ELK stack makakolekta sa mga sukatan nga independente (metricbeat), ug mahimo usab kini ipakita ni Kibana.

Apan bisan pa, ang ELK sa sinugdan mitubo gikan sa mga troso ug hangtod karon ang pag-andar sa mga sukatan adunay daghang mga seryoso nga kakulian:

  • Mas hinay kay sa Prometheus
  • Naghiusa sa labi ka gamay nga mga lugar kaysa sa Prometheus
  • Lisud ang pag-set up sa mga alerto alang kanila
  • Ang mga sukatan mokuha ug daghang luna
  • Ang pagpahimutang sa mga dashboard nga adunay mga sukatan sa Kiban labi ka komplikado kaysa sa Grafan

Sa kinatibuk-an, ang mga sukatan sa ELK bug-at ug dili pa ingon ka kombenyente sama sa ubang mga solusyon, nga karon adunay labi pa sa Prometheus: TSDB, Victoria Metrics, Cortex, ug uban pa. Siyempre, gusto gyud nako nga adunay usa ka hingpit nga all-in-one nga solusyon dayon, apan sa kaso sa metricbeat adunay daghang mga pagkompromiso.

Ug ang ELK stack mismo adunay daghang lisud nga mga higayon:

  • Bug-at kini, usahay bug-at pa gani kung mangolekta ka og medyo dako nga kantidad sa datos
  • Kinahanglan nimo nga "kahibalo kung unsaon pagluto" kini - kinahanglan nimo nga sukdon kini, apan dili kini hinungdanon nga buhaton
  • Gikuha ang libre nga bersyon - ang libre nga bersyon wala’y normal nga pag-alerto, ug sa panahon sa pagpili wala’y panghimatuud

Kinahanglan kong isulti nga bag-o lang ang katapusang punto nahimong mas maayo ug dugang pa output sa open-source nga X-pack (lakip ang pag-authenticate) ang modelo sa pagpresyo mismo nagsugod sa pagbag-o.

Apan sa panahon nga among ipakaylap kini nga solusyon, wala’y bisan unsang alerto.
Tingali mahimo namong sulayan ang paghimo og usa ka butang gamit ang ElastAlert o uban pang mga solusyon sa komunidad, apan nakahukom gihapon kami nga ikonsiderar ang ubang mga alternatibo.

Loki - Grafana - Prometheus

Sa pagkakaron, ang usa ka maayong solusyon tingali mao ang paghimo og monitoring stack nga gibase lamang sa Prometheus isip metrics provider, Loki alang sa mga log, ug para sa visualization mahimo nimong gamiton ang parehas nga Grafana.

Ikasubo, sa panahon sa pagsugod sa sales pilot sa proyekto (Septiyembre-Oktubre 19), si Loki naa pa sa beta nga bersyon 0.3-0.4, ug sa panahon sa pagsugod sa pag-uswag dili kini maisip nga solusyon sa produtcion. sa tanan.

Wala pa koy kasinatian sa aktuwal nga paggamit sa Loki sa seryoso nga mga proyekto, apan makaingon ko nga ang Promtail (usa ka ahente sa pagkolekta og mga troso) maayo kaayo alang sa mga bare-metal ug pods sa kubernetes.

TICK

Tingali ang labing takus (ang bugtong?) bug-os nga bahin nga alternatibo sa ELK stack matawag na lang nga TICK stack - Telegraf, InfluxDB, Chronograf, Kapacitor.

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Ihulagway nako ang tanan nga mga sangkap sa ubos sa mas detalyado, apan ang kinatibuk-ang ideya mao kini:

  • Telegraf - ahente sa pagkolekta sa mga sukatan
  • InfluxDB - metrics database
  • Kapacitor - real-time nga metrics processor alang sa pag-alerto
  • Chronograf - web panel para sa visualization

Para sa InfluxDB, Kapacitor ug Chronograf adunay opisyal nga mga tsart sa timon nga among gigamit sa pag-deploy niini.

Kinahanglang hinumdoman nga sa pinakabag-o nga bersyon sa Influx 2.0 (beta), ang Kapacitor ug Chronograf nahimong bahin sa InfluxDB ug wala na maglungtad nga bulag.

Telegraph

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Telegraph usa ka gaan kaayo nga ahente alang sa pagkolekta sa mga sukatan sa usa ka makina sa estado.

Siya makahimo sa pagmonitor sa usa ka dako nga kantidad sa tanan, gikan sa nginx sa
server minecraft.

Kini adunay daghang mga cool nga bentaha:

  • Kusog ug gaan ang timbang (gisulat sa Go)
    • Nagkaon sa usa ka minimum nga kantidad sa mga kapanguhaan
  • Push metrics pinaagi sa default
  • Kolektahon ang tanan nga kinahanglan nga sukatan
    • Mga sukatan sa sistema nga wala’y bisan unsang mga setting
    • Mga sukatan sa hardware sama sa impormasyon gikan sa mga sensor
    • Sayon ra kaayo ang pagdugang sa imong kaugalingon nga mga sukatan
  • Daghang mga plugins gikan sa kahon
  • Nangolekta og mga troso

Tungod kay ang mga sukatan sa pagduso gikinahanglan alang kanamo, ang tanan nga ubang mga bentaha labaw pa sa makapalipay nga mga pagdugang.

Ang pagkolekta sa mga troso sa ahente mismo sayon ​​​​kaayo, tungod kay dili kinahanglan nga magkonektar sa dugang nga mga gamit alang sa pag-log log.

Ang Influx nagtanyag sa labing kombenyente nga kasinatian alang sa pagtrabaho sa mga troso kung mogamit ka syslog.

Ang Telegraf sa kasagaran usa ka maayo nga ahente sa pagkolekta sa mga sukatan, bisan kung dili nimo gamiton ang nahabilin nga stack sa ICK.

Daghang mga tawo ang mitabok niini sa ELK ug lain-laing uban pang mga time-series nga mga database alang sa kasayon, tungod kay kini makasulat sa mga sukatan halos bisan asa.

InfluxDB

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Ang InfluxDB mao ang nag-unang kinauyokan sa TICK stack, nga mao ang usa ka time-series database alang sa metrics.
Gawas pa sa mga sukatan, ang Influx mahimo usab nga magtipig sa mga troso, bisan kung, sa esensya, ang mga troso alang niini parehas ra nga mga sukatan, imbis sa naandan nga mga indikasyon sa numero, ang panguna nga gimbuhaton gihimo sa usa ka linya sa teksto sa log.

Ang InfluxDB gisulat usab sa Go ug daw mas paspas nga modagan kon itandi sa ELK sa among (dili ang labing gamhanan) nga cluster.

Usa sa mga cool nga bentaha sa Influx maglakip usab sa usa ka kombenyente ug dato nga API alang sa mga pangutana sa datos, nga among gigamit nga aktibo kaayo.

Mga disbentaha - $$$ o scaling?

Ang TICK stack adunay usa lamang ka disbentaha nga among nadiskobrehan - kini mahal. Dugang pa.

Unsa ang naa sa bayad nga bersyon nga wala sa libre nga bersyon?

Kutob sa among nasabtan, ang bugtong kalainan tali sa bayad nga bersyon sa TICK stack ug sa libre mao ang mga kapabilidad sa pag-scale.

Nga mao, mahimo nimong ipataas ang usa ka kumpol nga adunay Taas nga magamit lamang sa Mga bersyon sa negosyo.

Kung gusto nimo ang hingpit nga HA, kinahanglan nimo nga magbayad o mogamit pipila ka mga saklay. Adunay usa ka magtiayon nga mga solusyon sa komunidad - pananglitan influxdb-ha morag usa ka takos nga solusyon, apan kini nahisulat nga kini dili angay alang sa produksyon, ingon man usab
pag-agos-spout - usa ka yano nga solusyon nga adunay data pumping pinaagi sa NATS (kini kinahanglan usab nga ma-scale, apan kini masulbad).

Kini usa ka kaluoy, apan silang duha ingon og gibiyaan - wala'y bag-ong mga commit, akong gihunahuna nga ang isyu mao ang sa dili madugay gipaabot nga pagpagawas sa bag-ong bersyon sa Influx 2.0, diin daghang mga butang ang magkalahi (walay impormasyon mahitungod sa scaling pa niini).

Opisyal nga adunay usa ka libre nga bersyon relay - sa tinuud, kini usa ka primitive HA, apan pinaagi lamang sa pagbalanse,
tungod kay ang tanan nga datos isulat sa tanan nga InfluxDB nga mga higayon luyo sa load balancer.
Siya adunay pipila disadvantages sama sa potensyal nga mga problema sa pag-overwriting nga mga punto ug ang panginahanglan sa paghimo og mga base alang sa mga sukatan nga daan
(nga awtomatikong mahitabo sa panahon sa normal nga trabaho sa InfluxDB).

Gawas wala gisuportahan ang sharding, nagpasabot kini og dugang nga overhead alang sa mga duplicate nga metrics (parehong pagproseso ug pagtipig) nga dili nimo kinahanglan, apan walay paagi sa pagbulag kanila.

Mga Sukatan sa Victoria?

Ingon usa ka sangputanan, bisan pa sa kamatuoran nga kami hingpit nga natagbaw sa TICK stack sa tanan gawas sa bayad nga scaling, nakahukom kami nga tan-awon kung adunay bisan unsang libre nga mga solusyon nga makapuli sa database sa InfluxDB, samtang gibiyaan ang nahabilin nga mga sangkap sa T_CK.

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Adunay daghang mga database sa serye sa oras, apan ang labing gisaad mao ang Victoria Metrics, kini adunay daghang mga bentaha:

  • Kusog ug sayon, labing menos sumala sa mga resulta mga benchmark
  • Adunay usa ka bersyon sa cluster, diin adunay maayo nga mga pagsusi karon
    • Mahimo siyang shard
  • Nagsuporta sa InfluxDB protocol

Wala namo tuyoa nga magtukod ug bug-os nga custom stack base sa Victoria ug ang nag-unang paglaom mao nga magamit namo kini isip drop-in nga kapuli sa InfluxDB.

Ikasubo, dili kini mahimo, bisan pa sa kamatuoran nga ang InfluxDB protocol gisuportahan, kini nagtrabaho lamang alang sa pagrekord sa mga sukatan - ang Prometheus API lamang ang anaa "sa gawas", nga nagpasabot nga dili posible nga ibutang ang Chronograf niini.

Dugang pa, ang mga numeric value ra ang gisuportahan para sa metrics (gigamit namo ang string values ​​para sa custom metrics - labaw pa niana sa seksyon. admin nga dapit).

Dayag nga, alang sa parehas nga hinungdan, ang VM dili makatipig mga troso sama sa gibuhat sa Pag-agos.

Usab, kinahanglan nga matikdan nga sa panahon sa pagpangita alang sa kamalaumon nga solusyon, ang Victoria Metrics dili pa kaayo popular, ang dokumentasyon mas gamay ug ang pag-andar mas huyang.
(Wala ko mahinumdom sa usa ka detalyado nga paghulagway sa bersyon sa cluster ug sharding).

Pagpili sa base

Ingon usa ka sangputanan, nakahukom nga alang sa piloto nga limitahan pa namon ang among kaugalingon sa usa ka node sa InfluxDB.

Adunay pipila ka mga nag-unang rason alang niini nga pagpili:

  • Ganahan kaayo mi sa tibuok nga gamit sa TICK stack
  • Nakahimo na kami sa pag-deploy niini ug kini nagtrabaho nga maayo
  • Ang mga tagal sa pagtapos ug wala nay daghang oras nga nahabilin aron sulayan ang ubang mga kapilian.
  • Wala mi magdahom nga ingon ka bug-at ang karga

Wala kami daghang mga scooter alang sa unang hugna sa piloto, ug ang pagsulay sa panahon sa pag-uswag wala magpadayag sa bisan unsang mga isyu sa pasundayag.

Busa, nakahukom kami nga alang niini nga proyekto ang usa ka Influx node igo na alang kanamo nga dili kinahanglan ang pag-scale (tan-awa ang mga konklusyon sa katapusan).

Nakahukom kami sa stack ug base - karon bahin sa nahabilin nga mga sangkap sa TICK stack.

Kapasitor

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Ang Kapacitor kabahin sa TICK stack, usa ka serbisyo nga makamonitor sa mga sukatan nga mosulod sa database sa tinuod nga panahon ug makahimo og lain-laing mga aksyon base sa mga lagda.

Sa kinatibuk-an, gipahimutang kini ingon usa ka himan alang sa potensyal nga pagsubay sa anomaliya ug pagkat-on sa makina (Dili ako sigurado nga kini nga mga gimbuhaton gipangayo), apan ang labing inila nga kaso sa paggamit niini mas kasagaran - nagpaalerto.

Ingon niana ang among gigamit alang sa mga pahibalo. Nagbutang kami og mga alerto sa Slack kung ang usa ka partikular nga scooter nag-offline, ug mao usab ang gihimo alang sa mga smart charger ug hinungdanon nga mga sangkap sa imprastraktura.

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Naghimo kini nga posible nga dali nga makatubag sa mga problema, ingon man makadawat mga pahibalo nga ang tanan mibalik sa normal.

Usa ka yano nga pananglitan: ang usa ka dugang nga baterya sa gahum sa atong "kahon" naguba o sa pipila ka rason nahutdan sa gahum; pinaagi lamang sa pag-instalar sa usa ka bag-o, human sa usa ka panahon makadawat kita og usa ka pahibalo nga ang pag-andar sa scooter gipahiuli.

Sa Influx 2.0 Kapacitor nahimong bahin sa DB

Chronograph

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Nakita nako ang daghang lainlaing mga solusyon sa UI alang sa pag-monitor, apan makaingon ako nga sa mga termino sa pag-andar ug UX, wala’y ikatandi sa Chronograf.

Nagsugod kami sa paggamit sa TICK stack, katingad-an, uban ang Grafan ingon usa ka web interface.
Dili nako ihulagway ang pagpaandar niini; nahibal-an sa tanan ang daghang mga posibilidad sa pag-set up bisan unsa.

Bisan pa, ang Grafana usa gihapon ka hingpit nga unibersal nga instrumento, samtang ang Chronograf labi nga gidisenyo aron magamit sa Pagdagsang.

Ug siyempre, salamat niini, ang Chronograf makaarang sa labi ka maalamon o dali nga pag-andar.

Tingali ang panguna nga kasayon ​​​​sa pagtrabaho kauban ang Chronograf mao nga mahimo nimong tan-awon ang sulud sa imong InfluxDB pinaagi sa Pag-usisa.

Mopatim-aw nga ang Grafana adunay halos parehas nga pag-andar, apan sa tinuud, ang pag-set up sa usa ka dashboard sa Chronograf mahimo sa pipila ka mga pag-klik sa mouse (sa samang higayon nagtan-aw sa pagtan-aw didto), samtang sa Grafana mahimo ka gihapon sa madugay o sa madali. aron ma-edit ang configuration sa JSON (siyempre gitugotan sa Chronograf ang pag-upload sa imong mga dashas nga gi-configure sa kamot ug i-edit kini isip JSON kung gikinahanglan - apan dili na nako kinahanglan nga hikapon kini human sa paghimo niini sa UI).

Ang Kibana adunay mas daghang kapabilidad sa paghimo og mga dashboard ug mga kontrol alang kanila, apan ang UX alang sa maong mga operasyon komplikado kaayo.

Nagkinahanglan kini og maayo nga pagsabot aron makahimo og usa ka sayon ​​​​nga dashboard. Ug bisan kung ang pagpaandar sa mga dashboard sa Chronograf gamay ra, ang paghimo ug pag-customize niini labi ka yano.

Ang mga dashboard mismo, gawas sa nindot nga biswal nga estilo, sa pagkatinuod walay kalainan sa mga dashboard sa Grafana o Kibana:

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Mao kini ang hitsura sa bintana sa pangutana:

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Mahinungdanon nga timan-an, taliwala sa ubang mga butang, nga nahibal-an ang mga tipo sa mga natad sa database sa InfluxDB, ang kronograp mismo usahay mahimo’g awtomatiko nga makatabang kanimo sa pagsulat sa usa ka Pangutana o pagpili sa husto nga function sa aggregation sama sa mean.

Ug siyempre, ang Chronograf ingon kadali kutob sa mahimo alang sa pagtan-aw sa mga troso. Murag mao ni:

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Sa kasagaran, ang Influx logs gipahaom sa paggamit sa syslog ug busa aduna silay importanteng parameter - kagrabe.

Ang graph sa taas labi ka mapuslanon; sa niini makita nimo ang mga sayup nga nahitabo ug ang kolor dayon nga tin-aw nga nagpakita kung ang kabug-at mas taas.

Pipila ka mga higayon nga kami nakadakop sa importante nga mga bug sa niini nga paagi, sa pagtan-aw sa mga troso sa miaging semana ug nakakita sa usa ka pula nga spike.

Siyempre, labing maayo nga magbutang mga alerto alang sa ingon nga mga sayup, tungod kay naa na namon ang tanan alang niini.

Gi-on pa namo kini sa makadiyot, apan sa proseso sa pag-andam sa piloto nahimo nga daghang mga sayup (lakip ang mga sistema sama sa dili magamit sa LTE network), nga "nag-spam" usab sa Slack channel daghan, nga walay hinungdan sa bisan unsa nga mga problema.

Ang husto nga solusyon mao ang pagdumala sa kadaghanan niini nga mga klase sa mga sayup, pag-adjust sa kagrabe alang kanila, ug pagkahuman mahimo ang pag-alerto.

Niining paagiha, bag-o lang o hinungdanon nga mga sayup ang ma-post sa Slack. Wala’y igo nga oras alang sa ingon nga pag-setup tungod sa higpit nga mga deadline.

Pagpanghimatuud

Angayan usab nga hisgutan nga ang Chronograf nagsuporta sa OAuth ug OIDC isip pag-authenticate.

Kini sayon ​​​​kaayo, tungod kay kini nagtugot kanimo sa dali nga pag-attach niini sa imong server ug paghimo sa hingpit nga SSO.

Sa among kaso, ang server mao keycloak - gigamit kini aron makonektar sa pag-monitor, apan ang parehas nga server gigamit usab aron mapamatud-an ang mga scooter ug mga hangyo sa back-end.

“Admin”

Ang katapusan nga bahin nga akong ihulagway mao ang among kaugalingon nga gisulat nga "admin panel" sa Vue.
Sa panguna kini usa lamang ka standalone nga serbisyo nga nagpakita sa impormasyon sa scooter gikan sa among kaugalingong mga database, microservice, ug metrics data gikan sa InfluxDB nga dungan.

Dugang pa, daghang mga gimbuhaton sa administratibo ang gibalhin didto, sama sa usa ka emerhensya nga pag-reboot o layo nga pag-abli sa usa ka kandado alang sa grupo sa suporta.

Adunay usab mga mapa. Nahisgotan na nako nga nagsugod kami sa Grafana imbes sa Chronograf - tungod kay alang sa mga mapa sa Grafana anaa sa porma sa mga plugins, diin mahimo natong tan-awon ang mga coordinate sa mga scooter. Ikasubo, ang mga kapabilidad sa mga widget sa mapa alang sa Grafana limitado kaayo, ug ingon usa ka sangputanan, labi kadali nga isulat ang imong kaugalingon nga aplikasyon sa web gamit ang mga mapa sa pipila ka mga adlaw, aron dili lamang makita ang mga koordinasyon sa karon, apan ipakita usab. ang ruta nga gikuha sa scooter, makahimo sa pagsala sa mga data sa mapa, ug uban pa (tanan nga gamit nga dili namo ma-configure sa usa ka yano nga dashboard).

Usa sa nahisgutan na nga mga bentaha sa Influx mao ang abilidad sa paghimo sa imong kaugalingon nga mga sukatan.
Gitugotan kini nga magamit alang sa daghang lainlaing mga senaryo.

Gisulayan namo nga irekord ang tanang mapuslanong impormasyon didto: charge sa baterya, status sa lock, performance sa sensor, bluetooth, GPS, ug uban pang mga health check.
Gipakita namo kining tanan sa admin panel.

Siyempre, ang labing hinungdanon nga sukdanan alang kanamo mao ang kahimtang sa pag-operate sa scooter - sa tinuud, gisusi kini sa Influx ug gipakita kini sa "berde nga mga suga" sa seksyon sa Nodes.

Gihimo kini pinaagi sa function patay na - gigamit namo kini aron masabtan ang pasundayag sa among kahon ug ipadala ang parehas nga mga alerto sa Slack.

Pinaagi sa dalan, among ginganlan ang mga scooter sunod sa mga ngalan sa mga karakter gikan sa The Simpsons - sayon ​​​​kaayo nga mailhan sila sa usag usa

Ug sa kinatibuk-an mas makalingaw kini nga paagi. Ang mga pulong sama sa "Guys, Smithers is dead!" Kanunay nga nadungog.

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Mga sukatan sa string

Mahinungdanon nga gitugotan ka sa InfluxDB nga magtipig dili lamang mga kantidad sa numero, sama sa kaso sa Victoria Metrics.

Morag dili kini hinungdanon - pagkahuman, gawas sa mga troso, ang bisan unsang mga sukatan mahimong tipigan sa porma sa mga numero (idugang lang ang pagmapa alang sa nahibal-an nga mga estado - usa ka klase nga enum)?

Sa among kaso, adunay labing menos usa ka senaryo diin ang mga sukatan sa kuwerdas mapuslanon kaayo.
Nahitabo lang nga ang supplier sa among mga "smart charger" usa ka ikatulo nga partido, wala kami kontrol sa proseso sa pag-uswag ug ang kasayuran nga mahatag niini nga mga charger.

Ingon usa ka sangputanan, ang pag-charge nga API dili kaayo maayo, apan ang panguna nga problema mao nga dili namon kanunay masabtan ang ilang kahimtang.

Dinhi mitabang si Influx. Gisulat lang namo ang status sa string nga miabut kanamo ngadto sa InfluxDB database field nga walay mga kausaban.

Sulod sa pila ka panahon, ang mga kantidad ra sama sa "online" ug "offline" ang nakaabut, pinasukad kung unsang kasayuran ang gipakita sa among admin panel, ug ang mga pahibalo gipadala sa Slack. Bisan pa, sa usa ka punto, ang mga kantidad sama sa "nadiskonekta" nagsugod usab nga makita didto.

Ingon sa nahimo sa ulahi, kini nga kahimtang gipadala kausa pagkahuman sa pagkawala sa koneksyon, kung ang charger dili makahimo usa ka koneksyon sa server pagkahuman sa usa ka piho nga gidaghanon sa mga pagsulay.

Sa ingon, kung gigamit lang namon ang usa ka piho nga set sa mga kantidad, mahimo nga dili namon makita kini nga mga pagbag-o sa firmware sa husto nga oras.

Ug sa kinatibuk-an, ang mga sukatan sa string naghatag labi pa nga mga posibilidad alang sa paggamit; mahimo nimong irekord ang halos bisan unsang kasayuran niini. Bisan pa, siyempre, kinahanglan nimo usab nga gamiton kini nga himan pag-ayo.

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Dugang pa sa naandan nga mga sukatan, girekord usab namo ang impormasyon sa lokasyon sa GPS sa InfluxDB. Kini labi ka mapuslanon alang sa pag-monitor sa lokasyon sa mga scooter sa among admin panel.
Sa tinuud, nahibal-an namon kanunay kung asa ug kung unsang scooter ang among gikinahanglan.

Kini mapuslanon kaayo kanamo kung nangita kami usa ka scooter (tan-awa ang mga konklusyon sa katapusan).

Pagmonitor sa imprastraktura

Gawas pa sa mga scooter mismo, kinahanglan usab namon nga bantayan ang among tibuuk (medyo halapad) nga imprastraktura.

Ang usa ka kinatibuk-ang arkitektura ingon niini:

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Kung among gipasiugda ang usa ka puro nga stack sa pag-monitor, ingon niini:

Ibalik ang nawala nga scooter, o ang istorya sa usa ka pag-monitor sa IoT

Ang gusto namong susihon sa panganod mao ang:

  • Mga database
  • keycloak
  • Microservices

Tungod kay ang tanan namong mga serbisyo sa panganod nahimutang sa Kubernetes, maayo nga mangolekta og impormasyon bahin sa estado niini.

Maayo na lang, ang Telegraf gikan sa kahon makakolekta og daghang mga sukatan bahin sa estado sa cluster sa Kubernetes, ug ang Chronograf diha-diha dayon nagtanyag og nindot nga mga dashboard alang niini.

Kami nag-una nga gimonitor ang pasundayag sa mga pod ug konsumo sa memorya. Sa kaso sa pagkahulog, mga alerto sa Slack.

Adunay duha ka paagi sa pagsubay sa mga pod sa Kubernetes: DaemonSet ug Sidecar.
Ang duha ka mga pamaagi gihulagway sa detalye niining blog post.

Gigamit namo ang Telegraf Sidecar ug, dugang sa metrics, nagkolekta pod og mga log.

Sa among kahimtang, kinahanglan namon nga mag-usik sa mga troso. Bisan pa sa kamatuoran nga ang Telegraf makabira sa mga troso gikan sa Docker API, gusto namo nga adunay usa ka uniporme nga koleksyon sa mga troso sa among mga end device ug gi-configure ang syslog alang sa mga sudlanan alang niini. Tingali kini nga solusyon dili matahum, apan wala’y mga reklamo bahin sa trabaho niini ug ang mga troso gipakita nga maayo sa Chronograf.

Monitor sa pagmonitor???

Sa katapusan, ang karaan nga pangutana sa pagmonitor sa mga sistema sa pag-monitor mitungha, apan maayo na lang, o sa kasubo, wala kami igo nga oras alang niini.

Bisan kung ang Telegraf dali nga makapadala sa kaugalingon nga mga sukatan o mangolekta mga sukatan gikan sa database sa InfluxDB alang sa pagpadala sa parehas nga Pagdagsang o bisan diin.

kaplag

Unsang mga konklusyon ang atong nakuha gikan sa mga resulta sa piloto?

Unsaon nimo paghimo ang pagmonitor?

Una sa tanan, ang TICK stack hingpit nga nakab-ot ang among mga gilauman ug naghatag kanamo og mas daghang oportunidad kaysa sa una namong gilauman.

Ang tanan nga gamit nga among gikinahanglan naa. Ang tanan nga among gibuhat niini nagtrabaho nga walay mga problema.

Pag-uswag

Ang panguna nga problema sa TICK stack sa libre nga bersyon mao ang kakulang sa mga kapabilidad sa pag-scale. Dili kini problema kanamo.

Wala kami mangolekta og eksaktong datos/mga numero sa load, pero nangolekta mig datos gikan sa mga 30 ka scooter matag higayon.

Ang matag usa kanila nakolekta labaw pa sa tulo ka dosena nga mga sukatan. Sa samang higayon, ang mga troso gikan sa mga himan nakolekta. Ang pagkolekta ug pagpadala sa datos nahitabo matag 10 segundos.

Mahinungdanon nga timan-an nga pagkahuman sa usa ka semana ug tunga sa piloto, kung ang kadaghanan sa "mga problema sa pagkabata" natul-id ug ang labing hinungdanon nga mga problema nasulbad na, kinahanglan namon nga pakunhuran ang kasubsob sa pagpadala sa datos sa server sa 30 segundos. Nahimong kinahanglanon kini tungod kay ang trapiko sa among mga LTE SIM card nagsugod dayon nga nawala.

Ang kadaghanan sa trapiko gigamit sa mga troso; ang mga sukatan mismo, bisan sa usa ka 10 segundos nga agwat, halos wala mag-usik niini.

Ingon usa ka sangputanan, pagkahuman sa pila ka oras hingpit namon nga gipugngan ang pagkolekta sa mga troso sa mga aparato, tungod kay ang mga piho nga mga problema klaro na bisan kung wala ang kanunay nga pagkolekta.

Sa pipila ka mga kaso, kung gikinahanglan pa ang pagtan-aw sa mga troso, nagkonektar lang kami pinaagi sa WireGuard pinaagi sa VPN.

Idugang ko usab nga ang matag bulag nga palibot gibulag gikan sa usag usa, ug ang karga nga gihulagway sa ibabaw adunay kalabotan lamang sa palibot sa produksiyon.

Sa palibot sa pag-uswag, gipataas namon ang usa ka bulag nga pananglitan sa InfluxDB nga nagpadayon sa pagkolekta sa mga datos matag 10 segundos ug wala kami nakaagi sa bisan unsang mga problema sa pasundayag.

TICK - maayo alang sa gagmay hangtod sa medium nga mga proyekto

Pinasukad niini nga kasayuran, makahinapos ako nga ang TICK stack maayo alang sa medyo gagmay nga mga proyekto o proyekto nga siguradong wala magdahum sa bisan unsang HighLoad.

Kung wala kay liboan ka pod o gatosan ka makina, bisan usa ka InfluxDB instance ang magdumala sa load nga maayo.

Sa pipila ka mga kaso, mahimo kang matagbaw sa Influx Relay isip usa ka primitive High Availability nga solusyon.

Ug, siyempre, walay usa nga nagpugong kanimo sa pag-set up sa "vertical" scaling ug yano nga paggahin sa lain-laing mga server alang sa lain-laing mga matang sa metrics.

Kung dili ka sigurado bahin sa gipaabut nga load sa mga serbisyo sa pag-monitor, o gigarantiyahan ka nga adunay / adunay usa ka "bug-at" nga arkitektura, dili nako irekomenda ang paggamit sa libre nga bersyon sa TICK stack.

Siyempre, ang usa ka yano nga solusyon mao ang pagpalit InfluxDB Enterprise - apan dinhi dili ako makakomento sa bisan unsang paagi, tungod kay ako mismo dili pamilyar sa mga subtleties. Gawas pa sa kamatuoran nga kini mahal kaayo ug siguradong dili angay alang sa gagmay nga mga kompanya.

Sa kini nga kaso, karon, irekomendar nako ang pagtan-aw sa pagkolekta sa mga sukatan pinaagi sa Victoria Metrics ug mga log gamit ang Loki.

Tinuod, maghimo na usab ako usa ka reserbasyon nga ang Loki / Grafana labi ka dili kaayo kombenyente (tungod sa ilang labi ka daghang kaarang) kaysa sa andam nga TICK, apan libre sila.

importante: ang tanan nga impormasyon nga gihulagway dinhi may kalabutan sa bersyon Influx 1.8, sa pagkakaron ang Influx 2.0 hapit na ipagawas.

Samtang wala ako'y higayon nga sulayan kini sa mga kondisyon sa kombat ug lisud ang paghimo og mga konklusyon bahin sa mga pag-uswag, ang interface siguradong nahimo nga labi ka maayo, ang arkitektura gipasimple (walay kapacitor ug chronograf),
nagpakita ang mga templates (“killer feature” - mahimo nimong masubay ang mga magdudula sa Fortnite ug makadawat mga pahibalo kung ang imong paborito nga magdudula makadaog sa usa ka dula). Apan, sa kasubo, sa pagkakaron, ang bersyon 2 wala'y importante nga butang nga among gipili ang unang bersyon - walay koleksyon sa log.

Kini nga gamit makita usab sa Influx 2.0, apan wala kami makit-an nga bisan unsang mga deadline, bisan ang mga gibanabana.

Giunsa ang dili paghimo sa mga platform sa IoT (karon)

Sa katapusan, sa paglansad sa piloto, kami mismo ang nagtipon sa among kaugalingon nga tibuuk nga stack sa IoT, kung wala’y alternatibo nga angay sa among mga sumbanan.

Bisan pa, bag-o lang kini magamit sa bersyon sa Beta OpenBalena — sayang nga wala siya didto sa pagsugod namo sa paghimo sa proyekto.

Kami hingpit nga natagbaw sa katapusan nga resulta ug sa plataporma base sa Ansible + TICK + WireGuard nga among gitigum sa among kaugalingon. Apan karon, irekomendar nako ang pagtan-aw pag-ayo sa Balena sa dili pa mosulay sa paghimo sa imong kaugalingon nga IoT nga plataporma sa imong kaugalingon.

Tungod kay sa katapusan mahimo niini ang kadaghanan sa among gibuhat, ug ang OpenBalena libre ug bukas nga gigikanan.

Nahibal-an na niini kung giunsa dili lamang ipadala ang mga update, apan usa usab ka VPN ang natukod na ug gipahaum aron magamit sa usa ka palibot sa IoT.

Ug bag-o lang, gipagawas pa nila ang ilang hardware, nga dali nga nagkonektar sa ilang ekosistema.

Uy, kumusta ang nawala nga scooter?

Busa ang scooter, "Ralph", nawala nga walay pagsubay.

Diha-diha dayon midagan kami aron tan-awon ang mapa sa among "admin panel", nga adunay data sa mga sukatan sa GPS gikan sa InfluxDB.

Salamat sa mga datos sa pag-monitor, dali namong nahibal-an nga ang scooter mibiya sa parkinganan mga alas 21:00 sa miaging adlaw, nagmaneho mga tunga sa oras sa usa ka lugar ug giparking hangtod alas 5 sa buntag sunod sa pipila nga balay sa Aleman.

Pagkahuman sa alas 5 sa buntag, wala’y nadawat nga data sa pag-monitor — kini nagpasabut nga ang dugang nga baterya hingpit nga na-discharge, o ang tig-atake sa katapusan nakahunahuna kung giunsa pagtangtang ang smart hardware gikan sa scooter.
Bisan pa niini, gipatawag gihapon sa kapulisan ang address diin nahimutang ang scooter. Wala didto ang scooter.

Apan, nasurpresa usab niini ang tag-iya sa balay sanglit nisakay gyud kini sa maong scooter pauli gikan sa opisina kagabii.

Ingon sa nahitabo, usa sa mga empleyado sa suporta miabot sayo sa buntag ug gikuha ang scooter, nakita nga ang dugang nga baterya niini hingpit nga na-discharge ug gidala kini (naglakaw) sa parkinganan. Ug ang dugang nga baterya napakyas tungod sa kaumog.

Gikawat namo ang scooter gikan sa among kaugalingon. Pinaagi sa dalan, wala ko mahibal-an kung giunsa ug kinsa ang nagsulbad sa isyu sa kaso sa pulisya, apan ang pag-monitor nagtrabaho nga hingpit ...

Source: www.habr.com

Idugang sa usa ka comment