Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Gore rapfuura takaparura vhezheni yechirongwa chekusimudzira decentralized rendi yemagetsi scooters.

Pakutanga, chirongwa ichi chainzi Road-To-Barcelona, ​​​​yakazove Road-To-Berlin (saka R2B mune zvidzitiro), uye pakupedzisira yakanzi xRide.

Pfungwa huru yepurojekiti iyi yaive iyi: pachinzvimbo chekuva nemota yepakati kana scooter yekurojesa sevhisi (tiri kutaura nezve scooters aka midhudhudhu yemagetsi, kwete kickscooters / scooters) isu taida kugadzira chikuva chekurenda kwakadzika. Nezvematambudziko atakasangana nawo ndatonyora kare.

Pakutanga, chirongwa ichi chakanangana nemotokari, asi nekuda kwemazuva ekupedzisira, kutaurirana kwakareba kwazvo nevagadziri uye nhamba huru yezvirambidzo zvekuchengetedza, ma scooters emagetsi akasarudzwa kumutyairi.

Mushandisi akaisa iOS kana Android application parunhare, akaenda kune scooter yaaida, mushure mezvo foni uye scooter zvakasimbisa peer-to-peer kubatana, ETH yakatsinhaniswa uye mushandisi anogona kutanga kuchovha nekubatidza scooter kuburikidza. foni. Pakupera kwerwendo, zvaive zvakare kukwanisa kubhadhara rwendo uchishandisa Ethereum kubva pachikwama chemushandisi pafoni.

Pamusoro pema scooters, mushandisi akaona "smart charger" muchishandiso, nekushanyira iyo mushandisi anogona kushandura bhatiri razvino kana raive rakaderera.

Izvi ndizvo zvaiwanzoita mutyairi wedu, zvakatangwa munaGunyana gore rapfuura mumaguta maviri eGerman: Bonn neBerlin.

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Uye zvino, rimwe zuva, muBonn, mangwanani-ngwanani, timu yedu yekutsigira (iri panzvimbo yekuchengetedza scooters muhurongwa hwekushanda) yakanyeverwa: imwe yemascooters yakanga yanyangarika pasina kuteedzera.

Nzira yekuiwana sei uye kuidzorera?

Muchinyorwa chino ini ndichataura nezve izvi, asi chekutanga - nezve maitiro atakavaka yedu yeIoT chikuva uye kuti takaiongorora sei.

Chii uye nei chekutarisa: scooters, zvivakwa, zviteshi zvekuchaja?

Saka, chii chataida kutarisa muprojekti yedu?

Chekutanga, aya ndiwo ma scooters pachawo - ma scooters emagetsi pachawo anodhura, haugone kuvhura purojekiti yakadaro usina kugadzirira zvakakwana; kana zvichibvira, iwe unoda kuunganidza ruzivo rwakawanda sezvinobvira nezve scooters: nezve nzvimbo yavo, nhanho yekuchaja. , nezvimwewo.

Pamusoro pezvo, ndinoda kutarisa mamiriro ezvivakwa zvedu zveIT - dhatabhesi, masevhisi uye zvese zvavanoda kuti vashande. Zvaive zvakakoshawo kutarisa mamiriro e "smart charger", kana akaputsika kana kupera mabhatiri akazara.

Scooters

Chii chaive ma scooters edu uye chii chataida kuziva nezvavo?

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Chekutanga uye chinonyanya kukosha chinhu GPS coordinates, sezvo nekuda kwavo tinogona kunzwisisa kwavari uye kwavari kufamba.

Inotevera ndeyekuchaja kwebhatiri, nekuda kwatinogona kuona kuti kuchaja kwema scooters kuri kusvika kumagumo uye kutumira juicer kana kungonyevera mushandisi.

Ehezve, zvinodikanwa zvakare kutarisa zviri kuitika neyedu Hardware zvikamu:

  • bluetooth inoshanda here?
  • iyo GPS module pachayo inoshanda here?
    • Isu takavewo nedambudziko nenyaya yekuti GPS yaigona kutumira marongedzero asiri iwo uye nekunamira, uye izvi zvaigona kungotemwa nekuwedzera cheki pane scooter,
      uye zivisa rutsigiro nekukurumidza sezvinobvira kugadzirisa nyaya

Uye chekupedzisira: cheki yesoftware, kutanga ne OS uye processor, network uye dhisiki mutoro, ichipera necheki yemamodule edu anonyanya kujeka kwatiri (Jolocom, keycloak).

Hardware

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Chii chakanga chiri chikamu chedu che“simbi”?

Tichifunga nezve ipfupi nguva inobvira uye kudiwa kwekukurumidza prototyping, isu takasarudza iri nyore sarudzo yekushandisa uye kusarudzwa kwezvikamu - Raspberry Pi.
Pamusoro peiyo Rpi pachayo, isu takanga tine tsika bhodhi (iyo isu pachedu takagadzira uye takaraira kubva kuChina kuti ikurumidze kuita musangano wemhinduro yekupedzisira) uye seti yezvikamu - relay (kuvhura / kudzima scooter), muverengi wekuchaja bhatiri, modem, antennas. Zvese izvi zvainge zvakabatanidzwa mune yakakosha "xRide bhokisi".

Izvo zvinofanirwa kucherechedzwa kuti bhokisi rese raifambiswa nekuwedzera simba bhangi, iro zvakare raifambiswa nebhatiri huru ye scooter.

Izvi zvakaita kuti zvikwanise kushandisa kutarisa uye kubatidza scooter kunyangwe mushure mekupera kwerwendo, sezvo bhatiri guru rakadzimwa pakarepo mushure mekudzima kiyi yekudzima kune "kudzima" chinzvimbo.

Docker? Pain Linux? uye deployment

Ngatidzokere kukutarisa, saka Raspberry - chii chatinacho?

Chimwe chezvinhu zvekutanga zvataida kushandisa kukurumidza kuendesa, kugadzirisa uye kuendesa zvinhu kumidziyo yemuviri yaive Docker.

Nehurombo, zvakakurumidza kuve pachena kuti Docker paRPi, kunyangwe ichishanda, ine yakawanda yepamusoro, kunyanya maererano nekushandiswa kwesimba.

Musiyano uchishandisa iyo "yekuzvarwa" OS, kunyangwe isina kusimba zvakanyanya, yakanga ichiri kukwana kuti isu tingwarire mukana wekurasikirwa nekuchaja nekukurumidza.

Chikonzero chechipiri chaive chimwe cheraibhurari yedu yekudyidzana paNode.js (sic!) - iyo chete chikamu cheiyo system isina kunyorwa muGo/C/C++.

Vanyori veraibhurari vakanga vasina nguva yekupa shanduro yekushanda mune ipi zvayo yemitauro "yechizvarwa".

Haisi chete iyo node pachayo isiri iyo yakanyanya kunaka mhinduro yezvishandiso zvakaderera, asi raibhurari pachayo yaive nzara-yekushandisa zvakanyanya.

Isu takaona kuti, kunyangwe tikada, kushandisa Docker kwaizove kwakanyanya kwatiri. Sarudzo yakaitwa mukufarira iyo yemuno OS uye kushanda yakananga pasi payo.

OS

Nekuda kweizvozvo, isu, zvakare, takasarudza iri nyore sarudzo seOS uye takashandisa Raspbian (Debian kuvaka yePi).

Isu tinonyora software yedu yese muGo, saka takanyorawo main hardware agent module musystem yedu muGo.

Ndiye ane basa rekushanda neGPS, Bluetooth, kuverenga kubhadharisa, kubatidza scooter, nezvimwe.

Deploy

Mubvunzo wakabva wamuka nezve kudiwa kwekushandisa nzira yekuendesa zvigadziriso kumidziyo (OTA) - zvese zvinogadziridza kune yedu agent / application pachayo, uye zvigadziriso kune OS / firmware pachayo (sezvo shanduro itsva dzemumiririri dzinogona kuda kuvandudzwa kune kernel. kana zvikamu zvehurongwa, maraibhurari, nezvimwewo) .

Mushure mekuongorora kwenguva refu kwemusika, zvakazoitika kuti kune akawanda akawanda emhinduro dzekuendesa zvigadziriso kumudziyo.

Kubva zviri nyore, zvinonyanya kugadzirisa / mbiri-bhutsu yakatarisana zvinoshandiswa senge swupd/SWUpdate/OSTree kumapuratifomu akazara seMender naBalena.

Chokutanga pane zvose, takasarudza kuti isu taifarira mhinduro dzekuguma-kumagumo, saka sarudzo yakabva yawira pamapuratifomu.

Herself Balena yakanga isingabatanidzwe nekuda kwekuti inoshandisa iyo Docker imwechete mukati meinjini yayo balena.

Asi ini ndinocherechedza kuti zvisinei neizvi, takapedzisira tagara tichishandisa chigadzirwa chavo Whale Etcher yeFlash firmware pane SD makadhi - iri nyore uye yakanyanya nyore kushandisa kune izvi.

Naizvozvo, pakupedzisira sarudzo yakawira pamusoro Mender. Mender ipuratifomu yakakwana yekuunganidza, kuendesa uye kuisa firmware.

Pakazara chikuva chinotaridzika zvakanaka, asi zvakatitorera vhiki nehafu kuti tingovaka iyo chaiyo vhezheni ye firmware yedu tichishandisa mender muvaki.
Uye patakaramba tichinyura mukuoma kunzwisisa kwekushandiswa kwayo, zvakabva zvawedzera kujeka kuti kuti tiiise zvizere taizoda nguva yakawanda kupfuura yataive nayo.

Maiwe, mazuva edu ekupedzisira aireva kuti takamanikidzwa kusiya kushandiswa kweMender uye kusarudza yakatoreruka.

Anable

Mhinduro iri nyore mumamiriro edu ezvinhu yaive yekushandisa Ansible. Mabhuku maviri ekutamba akakwana kuti atange.

Chavo chaicho chaive chekuti isu takangobatanidza kubva kumugadziri (CI server) kuburikidza nessh kune yedu rasberries uye nekugovera zvigadziriso kwavari.

Pakutanga, zvese zvaive nyore - waifanira kunge uri panetiweki imwe chete nemidziyo, kudurura kwaiitwa kuburikidza neWi-Fi.

Muhofisi maingove gumi nemaviri ebvunzo raspberries akabatana kune imwecheteyo network, mudziyo wega wega waive neiyo IP kero zvakare yakatsanangurwa muAnsible Inventory.

Yakanga iri Ansible iyo yakaendesa mumiriri wedu wekutarisa kumichina yekupedzisira

3G / LTE

Nehurombo, iyi kesi yekushandisa yeAnsible yaigona kungoshanda mukusimudzira modhi tisati tave nema scooters chaiwo.

Nekuti scooters, sezvaunonzwisisa, usagare wakabatana kune imwe Wi-Fi router, uchigara wakamirira zvigadziriso panetiweki.

Muchokwadi, ma scooters haagone kuve nekubatana zvachose kunze kwenhare 3G/LTE (uye kunyangwe zvakadaro kwete nguva dzese).

Izvi zvinokurumidza kuisa matambudziko mazhinji uye zvisingakwanisi, senge yakaderera yekubatanidza kumhanya uye kusagadzikana kutaurirana.

Asi chinonyanya kukosha ndechekuti mune 3G/LTE network hatigone kungovimba neiyo static IP yakapihwa kune network.

Izvi zvinogadziriswa zvishoma nevamwe vanopa SIM kadhi; kune akakosha SIM makadhi akagadzirirwa maIoT zvishandiso ane static IP kero. Asi isu takanga tisina kuwana SIM makadhi akadaro uye tatadza kushandisa IP kero.

Ehe, pakanga paine mazano ekuita imwe mhando yekunyoresa IP kero aka sevhisi kuwanikwa kune imwe nzvimbo seConsul, asi isu taifanira kusiya pfungwa dzakadaro, sezvo mukuedzwa kwedu IP kero yaigona kuchinja kazhinji, izvo zvakakonzera kusagadzikana kukuru.

Nechikonzero ichi, iyo yakanyanya nyore kushandisa yekuendesa metrics kwaisazove kushandisa iyo yekudhonza modhi, kwatinoenda kumidziyo yemametric anodiwa, asi kusunda, kuburitsa metrics kubva kuchishandiso zvakananga kune server.

VPN

Semhinduro kudambudziko iri, takasarudza VPN - kunyanya wire guard.

Vatengi (scooters) pakutanga kweiyo system yakabatana neVPN server uye vakakwanisa kubatana navo. Mugero uyu wakashandiswa kuendesa zvigadziriso.

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Mupfungwa, mugero mumwechete waigona kushandiswa kutarisa, asi kubatana kwakadaro kwaive kwakaoma uye kushoma kuvimbika pane kusunda kuri nyore.

Cloud zviwanikwa

Chekupedzisira, zvinodikanwa kuti titarise masevhisi edu emakore uye dhatabhesi, sezvo isu tichishandisa Kubernetes kwavari, zvine hungwaru kuitira kuti kuendesa kutarisa musumbu kuve nyore sezvinobvira. Zvakanaka, kushandisa Helmamu, kubva pakutumirwa, isu tinoishandisa muzviitiko zvakawanda. Uye, hongu, kuti utarise gore unofanirwa kushandisa mhinduro dzakafanana nedze scooters ivo pachavo.

Given

Phew, tinoita kunge tagadzirisa tsananguro, ngatiite rondedzero yezvataida pakupedzisira:

  • Mhinduro yekukurumidza, sezvo kutarisa kuchidikanwa kare panguva yekuvandudza
  • Vhoriyamu / huwandu - akawanda metric anodiwa
  • Kuunganidzwa kwelogi kunodiwa
  • Kuvimbika - data yakakosha kuti utange kubudirira
  • Iwe haugone kushandisa iyo yekudhonza modhi - iwe unoda kusunda
  • Isu tinoda yakabatana yekutarisa kwete chete Hardware, asiwo gore

Mufananidzo wekupedzisira wakaita seizvi

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Stack kusarudzwa

Saka, takanga takatarisana nemubvunzo wekusarudza stack yekutarisa.

Chekutanga, isu taitsvaga iyo yakazara-mu-imwe mhinduro yaizovhara zvese zvatinoda panguva imwe chete, asi panguva imwe chete ichichinjika zvakakwana kuti igadzirise kushandiswa kwayo kune zvatinoda. Zvakadaro, takanga tine zvirambidzo zvakawanda zvakaiswa patiri nehardware, dhizaini uye nemazuva ekupedzisira.

Kune akakura akasiyana-siyana ekutarisa mhinduro, kutanga neakazara-akazara masisitimu senge Nagios, icinga kana sabbix uye kupera neakagadzirira-akagadzirwa mhinduro dzeFleet manejimendi.

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Pakutanga, iyo yekupedzisira yaiita senge mhinduro yakanaka kwatiri, asi vamwe vaive vasina kutariswa kwakazara, vamwe vaive nehunyanzvi hushoma hwemavhezheni emahara, uye vamwe vaisangovhara "zvatinoda" kana kusachinjika zvakakwana kuti zvienderane nemamiriro edu. Zvimwe ndezvechinyakare.

Mushure mekuongorora akati wandei emhinduro dzakafanana, takakurumidza kusvika kumhedziso yekuti zvaizova nyore uye nekukurumidza kuunganidza murwi wakafanana isu pachedu. Hongu, zvichave zvishoma zvakanyanya kuomarara pane kuendesa yakagadzirira-yakagadzirwa-yakagadzirwa Fleet manejimendi chikuva, asi isu hatizofanira kuita zvibvumirano.

Sezvineiwo, mukuwanda kwese kwemhinduro, kwatove neyakagadzirirwa-yakagadzirirwa iyo yaizonyatsoenderana nesu, asi kwatiri zvaive zvakakurumidza kuunganidza imwe stack pachedu uye kuigadzirisa "pachedu" kwete. kuedza zvigadzirwa zvakagadzirirwa.

Nezvese izvi, isu hatina kuedza kuunganidza puratifomu yekutarisa isu pachedu, asi isu taitsvaga iyo inonyanya kushanda "yakagadzirira-yakagadzirwa" mastacks, chete nekugona kuzvigadzirisa zviri nyore.

(B)ELK?

Mhinduro yekutanga iyo yakanyatso kutariswa yaive inozivikanwa ELK stack.
Kutaura zvazviri, inofanira kunzi BELK, nokuti zvose zvinotanga neBeats - https://www.elastic.co/what-is/elk-stack

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Ehe, ELK ndeimwe yeanonyanya kuzivikanwa uye ane simba mhinduro mumunda wekutarisa, uye zvakatonyanya mukuunganidza nekugadzirisa matanda.

Isu taida kuti ELK yaizoshandiswa kuunganidza matanda uye pamwe nekuchengetwa kwenguva refu kwema metrics akawanikwa kubva kuPrometheus.

Nekuona iwe unogona kushandisa Grafan.

Muchokwadi, iyo nyowani ELK stack inogona kuunganidza metrics yakazvimirira (metricbeat), uye Kibana anogona zvakare kuvaratidza.

Asi zvakadaro, ELK yakatanga kukura kubva mumatanda uye kusvika pari zvino mashandiro emametrics ane akati wandei akakomba anokanganisa:

  • Zvinonyanya kunonoka kupfuura Prometheus
  • Inobatanidza munzvimbo shoma kupfuura Prometheus
  • Zvakaoma kumisa chenjedzo kwavari
  • Metrics inotora nzvimbo yakawanda
  • Kumisikidza madhibhodhi ane metrics muKiban kwakaomarara kupfuura muGrafan

Kazhinji, metrics muELK inorema uye haisati yave nyore senge mune dzimwe mhinduro, dzavepo zvino kupfuura Prometheus chete: TSDB, Victoria Metrics, Cortex, nezvimwewo, nezvimwe. Ehe, ndinoda chaizvo kuve ne-yakazara-mune-imwe mhinduro ipapo, asi muchiitiko chemetricbeat pakanga paine zvakawanda zvakawandisa.

Uye iyo ELK stack pachayo ine akati wandei enguva dzakaoma:

  • Inorema, dzimwe nguva inotonyanya kurema kana ukaunganidza huwandu hwakati wandei hwe data
  • Iwe unofanirwa "kuziva kubika" iyo - unofanirwa kuiyera, asi izvi hazvisi zviduku kuita
  • Yakabviswa yemahara vhezheni - iyo yemahara vhezheni haina yakajairika yambiro, uye panguva yekusarudza pakanga pasina humbowo.

Ndinofanira kutaura kuti munguva pfupi yapfuura pfungwa yekupedzisira yava nani uye nekuwedzera kubuda mune yakavhurika-sosi X-pack (kusanganisira huchokwadi) iyo yemitengo yemhando pachayo yakatanga kuchinja.

Asi panguva yataizoshandisa iyi mhinduro, pakanga pasina kunyevera zvachose.
Zvichida tingadai takaedza kuvaka chimwe chinhu tichishandisa ElastAlert kana mamwe magadzirirwo enharaunda, asi isu takasarudza kufunga dzimwe nzira.

Loki - Grafana - Prometheus

Parizvino, mhinduro yakanaka inogona kunge iri yekuvaka yekutarisa stack yakavakirwa paPrometheus semupi wemametrics, Loki yematanda, uye yekuona iwe unogona kushandisa yakafanana Grafana.

Nehurombo, panguva yekutanga kweyekutengesa mutyairi weprojekiti (Gunyana-Gumiguru 19), Loki akange achiri mubeta vhezheni 0.3-0.4, uye panguva yekutanga budiriro yaisagona kutorwa semhinduro yekugadzira. zvachose.

Ini handisati ndave neruzivo mukushandisa Loki mumapurojekiti akakomba, asi ndinogona kutaura kuti Promtail (mumiriri wekuunganidza matanda) inoshanda zvakanaka kune ese ari maviri-simbi uye pods mubernetes.

KANA

Pamwe iyo yakanyatsokodzera (iyo chete?) yakazara-inoratidzwa imwe kune ELK stack ikozvino inogona kungonzi TICK stack - Telegraf, InfluxDB, Chronograf, Kapacitor.

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Ini ndichatsanangura zvese zviri pazasi zvakadzama, asi pfungwa yakajairika ndeiyi:

  • Telegraf - mumiriri wekuunganidza metrics
  • InfluxDB - metrics dhatabhesi
  • Kapacitor - chaiyo-nguva metrics processor yekunyevera
  • Chronograf - webhu pani yekuona

Kune InfluxDB, Kapacitor uye Chronograf kune zviri pamutemo helm machati ataishandisa kuaendesa.

Izvo zvinofanirwa kucherechedzwa kuti mune yazvino vhezheni yeInflux 2.0 (beta), Kapacitor uye Chronograf yakava chikamu cheInfluxDB uye haichavepo zvakasiyana.

Telegraph

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Telegraph inhengo yakareruka kwazvo yekuunganidza metrics pamushini wehurumende.

Anokwanisa kutarisa huwandu hukuru hwezvose, kubva nginx up to
server minecraft.

Iine huwandu hwezvakanaka zvakanakira:

  • Inokurumidza uye isina huremu (yakanyorwa muGo)
    • Inodya huwandu hushoma hwezviwanikwa
  • Push metrics nekukasira
  • Inounganidza ese anodiwa metrics
    • System metrics pasina chero marongero
    • Hardware metrics senge ruzivo kubva kune masensa
    • Zviri nyore kuwedzera yako metrics
  • Mazhinji plugins kunze kwebhokisi
  • Anounganidza matanda

Sezvo mametrics ekusundidzira aidikanwa kwatiri, mamwe mabhenefiti aive akawanda kupfuura ainakidza ekuwedzera.

Kuunganidzwa kwematanda neajenti pachayo zvakare kuri nyore kwazvo, sezvo pasina chikonzero chekubatanidza mamwe maturusi ematanda ematanda.

Influx inopa yakanyanya nyore chiitiko chekushanda nematanda kana iwe ukashandisa syslog.

Telegraf inowanzova mumiriri mukuru wekuunganidza metrics, kunyangwe iwe usingashandise yasara ICK stack.

Vanhu vazhinji vanoyambuka neELK uye mamwe akasiyana-siyana-nguva-akateedzana dhatabhesi kuitira nyore, nekuti inogona kunyora metrics chero kupi.

InfluxDB

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

InfluxDB ndiyo musimboti weTICK stack, kureva nguva-yakatevedzana dhatabhesi yemametrics.
Pamusoro pemetrics, Influx inogona zvakare kuchengeta matanda, kunyangwe, muchidimbu, matanda ayo angori ma metrics akafanana, chete pachinzvimbo cheakajairwa manhamba zviratidzo, basa guru rinoitwa nemutsara wegiyo zvinyorwa.

InfluxDB yakanyorwawo muGo uye inoita seinomhanya zvakanyanya zvichienzaniswa neELK pane yedu (kwete iyo yakanyanya simba) sumbu.

Imwe yemabhenefiti anotonhorera eInflux angangosanganisira iri nyore uye yakapfuma API yemibvunzo yedata, yatakashandisa zvakanyanya.

Zvakaipa - $$$ kana kuyera?

Iyo TICK stack ine imwe chete yekudzosera iyo yatakawana - iyo darling. Zvakatowanda.

Ndeipi iyo yakabhadharwa vhezheni ine iyo yemahara vhezheni haina?

Sezvo isu takakwanisa kunzwisisa, mutsauko chete pakati peyakabhadharwa vhezheni yeTICK stack uye yemahara ndiyo yekuyera kugona.

Sezvineiwo, iwe unogona kusimudza sumbu neKuwanikwa kwepamusoro chete mukati Enterprise shanduro.

Kana iwe uchida HA yakazara-yakazara, iwe unofanirwa kubhadhara kana kushandisa mamwe madondoro. Kune akati wandei ekugadzirisa nharaunda - semuenzaniso influxdb-ha inoratidzika semhinduro inokwanisa, asi yakanyorwa kuti haina kukodzera kugadzirwa, pamwe chete
kudirana-spout - mhinduro yakapusa ine data kupomba kuburikidza neNATS (ichafanirwawo kuyerwa, asi izvi zvinogona kugadziriswa).

Zvine urombo, asi ese ari maviri anoita kunge akasiiwa - hapana kuzvipira kutsva, ndinofungidzira kuti nyaya yacho inokurumidza kuburitswa yeshanduro itsva yeInflux 2.0, umo zvinhu zvakawanda zvichave zvakasiyana (hapana ruzivo nezve. kuwedzera mariri zvakadaro).

Pamutemo pane yemahara vhezheni Relay - kutaura zvazviri, iyi ndeyekutanga HA, asi chete kuburikidza nekuenzanisa,
sezvo data rese richanyorwa kune ese InfluxDB zviitiko kuseri kwekuremerwa balancer.
Ane zvimwe kukwana senge matambudziko anogona kuitika nemapoinzi ekunyora uye kukosha kwekugadzira mabhesi emametric pamberi
(izvo zvinoitika otomatiki panguva yakajairika basa neInfluxDB).

Kunze sharding haitsigirwe, izvi zvinoreva kuwedzera kwepamusoro kune duplicate metrics (zvese kugadzirisa uye kuchengetedza) zvaungasada, asi hapana nzira yekuzviparadzanisa.

Victoria Metrics?

Nekuda kweizvozvo, kunyangwe isu takagutsikana zvizere neTICK stack mune zvese kunze kwekuyereswa kwekubhadhara, takasarudza kuona kana paine chero mhinduro dzemahara dzinogona kutsiva InfluxDB dhatabhesi, tichisiya zvakasara zveT_CK zvikamu.

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Kune akawanda enguva-akateedzana dhatabhesi, asi iyo inonyanya kuvimbisa iVictoria Metrics, ine akati wandei mabhenefiti:

  • Kurumidza uye nyore, zvirinani maererano nemhedzisiro mabhenji
  • Iko kune cluster version, pamusoro payo kune kunyange maitiro akanaka ikozvino
    • Anogona kucheka
  • Inotsigira InfluxDB protocol

Isu takanga tisina kuronga kuvaka stack yakazara yakavakirwa paVictoria uye tariro huru yaive yekuti tinogona kuishandisa sekudonhedza-kutsiva kweInfluxDB.

Nehurombo, izvi hazvigoneke, kunyangwe hazvo iyo InfluxDB protocol inotsigirwa, inongoshanda chete kurekodha metrics - chete Prometheus API inowanikwa "kunze", zvinoreva kuti hazvizogone kuseta Chronograf pairi.

Uyezve, nhamba chete dzenhamba dzinotsigirwa dzemetrics (takashandisa tambo tsika dzetsika metrics - zvimwe pane izvo muchikamu. admin panel).

Zviripachena, nechikonzero chimwe chete, iyo VM haigone kuchengeta matanda sezvinoita Influx inoita.

Zvakare, zvinofanirwa kucherechedzwa kuti panguva yekutsvaga mhinduro yakakwana, Victoria Metrics yaive isati yazivikanwa, zvinyorwa zvaive zvidiki uye kushanda kwacho kwaive kushoma.
(Handiyeuke tsananguro yakadzama yeiyo cluster vhezheni uye sharding).

Base sarudzo

Nekuda kweizvozvo, zvakasarudzwa kuti kumutyairi wendege tichangozvimisa kune imwechete InfluxDB node.

Paive nezvikonzero zvakati wandei zvesarudzo iyi:

  • Isu takada chaizvo kushanda kwese kweTICK stack
  • Isu takatokwanisa kuitumira uye yakashanda zvakanaka
  • Mazuva ekupedzisira akange ave kupera uye pakanga pasisina nguva yakawanda yasara yekuyedza dzimwe sarudzo.
  • Takanga tisingatarisiri mutoro unorema kudaro

Isu takanga tisina akawanda scooters echikamu chekutanga chemutyairi, uye kuyedzwa panguva yekusimudzira hakuna kuburitsa nyaya dzekuita.

Naizvozvo, takasarudza kuti chirongwa ichi imwe Influx node yaizotikwanira isu pasina kudiwa kwekuyera (ona mhedziso kumagumo).

Isu takasarudza pane stack uye base - ikozvino nezve zvakasara zvikamu zveTICK stack.

Kapacitor

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Kapacitor chikamu cheTICK stack, sevhisi inogona kutarisa metrics inopinda mudhatabhesi munguva chaiyo uye kuita zviito zvakasiyana zvinoenderana nemitemo.

Kazhinji, yakamisikidzwa sechishandiso chekugona kutarisisa uye kudzidza muchina (handina chokwadi chekuti mabasa aya ari kudiwa), asi iyo inonyanya kufarirwa nyaya yekushandiswa kwayo inowanzoitika - kunyevera.

Ndiwo mashandisiro atakaita zviziviso. Isu takamisa ziviso dzeSlack apo imwe scooter yakaenda kunze kwenyika, uye zvakafanana zvakaitwa kune akangwara majaja uye akakosha ezvivakwa.

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Izvi zvakaita kuti zvikwanise kukurumidza kupindura kumatambudziko, pamwe nekugamuchira zviziviso zvekuti zvese zvadzokera kune zvakajairika.

Muenzaniso wakapfava: bhatiri rekuwedzera simba rekuti "bhokisi" redu raparara kana nekuda kwechimwe chikonzero rapera simba; nekungoisa imwe nyowani, mushure mechinguva tinofanirwa kugamuchira chiziviso chekuti mashandiro escooter adzoreredzwa.

MuInflux 2.0 Kapacitor yakava chikamu cheDB

Chronograph

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Ndakaona akawanda akasiyana UI mhinduro dzekutarisa, asi ndinogona kutaura kuti maererano nekushanda uye UX, hapana chinoenzaniswa neChronograf.

Takatanga kushandisa TICK stack, zvisingaite, neGrafan sewebhu interface.
Ini handisi kuzotsanangura mashandiro ayo; munhu wese anoziva mikana yayo yakakura yekumisikidza chero chinhu.

Nekudaro, Grafana ichiri chiridzwa chepasi rose, nepo Chronograf ichinyanya kugadzirirwa kushandiswa neInflux.

Uye zvechokwadi, nekuda kweizvi, Chronograf inokwanisa kuwana zvakanyanya kungwara kana nyore kuita.

Zvimwe iko kurerukira kukuru kwekushanda neChronograf ndeyekuti iwe unogona kuona zviri mukati meInfluxDB yako kuburikidza neOngorora.

Zvingaita sekuti Grafana ine basa rakada kufanana, asi muchokwadi, kumisikidza dashboard muChronograf inogona kuitwa nekudzvanya mbeva shoma (panguva imwe chete uchitarisa kuratidzwa uko), nepo muGrafana iwe uchange uchiri nekukurumidza kana gare gare. kugadzirisa iyo JSON kumisikidza (zvechokwadi Chronograf inobvumira kurodha yako-yakagadziriswa dashas nemaoko uye woagadzirisa seJSON kana zvichidikanwa - asi handina kumbobvira ndaabata mushure mekuasika paUI).

Kibana ine hupfumi hwakawanda hwekugadzira dashboards uye zvidzoreso kwavari, asi iyo UX yemaitiro akadaro yakaoma kwazvo.

Zvinotora kumwe kunzwisisa kwakanaka kugadzira dashboard iri nyore. Uye kunyangwe mashandiro eChronograf dashboards ari mashoma, kugadzira uye kuagadzirisa kuri nyore.

Iwo madhibhodhi pachawo, kunze kweanoyevedza maitiro ekuona, haana kumbosiyana nemadhibhodhi muGrafana kana Kibana:

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Izvi ndizvo zvinoita hwindo remubvunzo:

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Izvo zvakakosha kuti uzive, pakati pezvimwe zvinhu, kuti kuziva mhando dzeminda muInfluxDB dhatabhesi, iyo chronograph pachayo dzimwe nguva inogona kukubatsira iwe nekunyora Mubvunzo kana kusarudza iyo chaiyo yekuunganidza basa serevo.

Uye zvechokwadi, Chronograf iri nyore sezvinobvira pakuona matanda. Zvinoita seizvi:

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Nekutadza, Influx matanda akagadzirirwa kushandisa syslog uye saka ane yakakosha parameter - kuoma.

Iyo girafu iri kumusoro inonyanya kubatsira; pairi iwe unogona kuona zvikanganiso zvinoitika uye ruvara rwunobva rwaratidza zvakajeka kana kuomarara kwakakwira.

Nguva dzinoverengeka takabata akakosha tsikidzi nenzira iyi, tichienda kunoona matanda evhiki rapfuura uye nekuona spike tsvuku.

Ehe, zvakanakira kumisa chenjedzo dzezvikanganiso zvakadaro, sezvo isu tatova nezvose zveizvi.

Isu takatombobatidza izvi kwekanguva, asi mukugadzirira mutyairi zvakazoitika kuti isu taive tichiwana zvikanganiso zvakawanda (kusanganisira system dzakafanana nekusawanikwa kweLTE network), iyo "spammed" iyo Slack chiteshi zvakare. zvakawanda, pasina kukonzera matambudziko.kubatsirwa kukuru.

Mhinduro chaiyo ingave yekubata mazhinji emhando idzi dzezvikanganiso, gadzirisa kuomarara kwadzo, uye wobva wagonesa kunyevera.

Nenzira iyi, zvikanganiso zvitsva chete kana zvakakosha zvaizotumirwa kuSlack. Pakanga pasina nguva yakakwana yekuseta kwakadaro kupihwa nguva dzakasimba.

Kusimbiswa

Izvo zvakakoshawo kutaura kuti Chronograf inotsigira OAuth uye OIDC sehuchokwadi.

Izvi zviri nyore kwazvo, sezvo zvichikutendera kuti uisungirire nyore kune server yako uye ugadzire yakazara-SSO.

Muchiitiko chedu, sevha yaive keycloak - yaishandiswa kubatanidza nekutarisisa, asi imwe sevha yakashandiswawo kusimbisa scooters uye zvikumbiro kuseri-kumagumo.

"Admin"

Chinhu chekupedzisira chandichatsanangura ndechedu-yakanyorwa "admin panel" muVue.
Chaizvoizvo ingori sevhisi yakamira inoratidza ruzivo rwe scooter kubva kune yedu dhatabhesi, microservices, uye metrics data kubva kuInfluxDB panguva imwe chete.

Pamusoro pezvo, mabasa mazhinji ekutonga akatamisirwa ipapo, senge emergency reboot kana kuvhura kure kukiya kwechikwata chetsigiro.

Paivawo nemepu. Ndakatotaura kuti takatanga neGrafana pachinzvimbo cheChronograf - nekuti mamepu eGrafana anowanikwa nenzira yemapulagi, paaigona kuona kurongeka kwema scooters. Nehurombo, kugona kwemepu majeti eGrafana kushoma zvakanyanya, uye nekudaro, zvaive nyore kunyora yako yewebhu application nemamepu mumazuva mashoma, kuitira kuti usangoona makonisheni panguva ino, asi zvakare kuratidza. nzira yakatorwa ne scooter, kukwanisa kusefa data pamepu, nezvimwewo (zvose izvo kushanda zvatisina kukwanisa kugadzirisa mune dashboard iri nyore).

Imwe yemabhenefiti atotaurwa eInflux kugona kugadzira yako metrics nyore nyore.
Izvi zvinobvumira kuti ishandiswe kune akasiyana siyana ezviitiko.

Takaedza kurekodha ruzivo rwese runobatsira ipapo: kubhadharisa bhatiri, kukiya chimiro, sensor performance, bluetooth, GPS, uye mamwe akawanda ehutano cheki.
Takaratidza zvese izvi pane admin panel.

Ehe, chiyero chakakosha kwatiri chaive chimiro chekushanda kwe scooter - kutaura zvazviri, Influx inotarisa izvi pachayo uye inozviratidza ne "girinhi mwenje" muchikamu cheNodes.

Izvi zvinoitwa nebasa munhu akafa - takaishandisa kuti tinzwisise mashandiro ebhokisi redu uye nekutumira iwo machenjedzo mamwe chete kuSlack.

Nenzira, takatumidza scooters mushure memazita evatambi kubva kuThe Simpsons - zvaive nyore kuvasiyanisa kubva kune mumwe.

Uye kazhinji zvainyanya kunakidza nenzira iyi. Mazwi akadai sekuti “Guys, Smithers afa!” aigara achinzwika.

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

String metrics

Izvo zvakakosha kuti InfluxDB inokutendera iwe kuti uchengetedze kwete nhamba dzenhamba chete, sezvazvinoita kuVictoria Metrics.

Zvingaita sekuti izvi hazvina kukosha - mushure mezvose, kunze kwematanda, chero metrics inogona kuchengetwa mumhando yenhamba (ingo wedzera mepu yezvinozivikanwa nyika - rudzi rwe enum)?

Kwatiri, paive neinenge chiitiko chimwe chete apo tambo metrics dzaibatsira zvakanyanya.
Zvakangoitika kuti mutengesi we "smart charger" wedu aive wechitatu, isu takanga tisina simba pamusoro pemaitiro ekuvandudza uye ruzivo rwaigona kupa majaja aya.

Nekuda kweizvozvo, iyo yekuchaja API yaive kure nekunaka, asi dambudziko guru nderekuti taisakwanisa kugara tichinzwisisa mamiriro avo.

Apa ndipo pakasvika Influx kuzobatsira. Isu takangonyora chimiro chetambo chakauya kwatiri muInfluxDB dhatabhesi munda pasina shanduko.

Kwenguva yakati, tsika chete senge "pamhepo" uye "isina online" yakasvika ipapo, zvichibva pane iyo ruzivo rwakaratidzwa mupaneru yedu admin, uye zviziviso zvakatumirwa kuSlack. Nekudaro, pane imwe nguva, tsika dzakaita se "dzisina kubatana" dzakatangawo kuoneka ipapo.

Sezvazvakazoitika gare gare, chimiro ichi chakatumirwa kamwechete mushure mekurasikirwa kwekubatana, kana charger yaisakwanisa kumisa kubatana neserver mushure meimwe nhamba yekuyedza.

Saka, kana tikangoshandisa yakagadziriswa seti yehutsika, isu tingasaona shanduko idzi mu firmware panguva chaiyo.

Uye kazhinji, tambo metrics inopa mikana yakawanda yekushandisa; unogona kurekodha chero ruzivo rwuri mavari. Kunyangwe, hongu, iwe unofanirwawo kushandisa chishandiso ichi nekungwarira.

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Kuwedzera kune akajairwa metrics, isu zvakare takarekodha GPS ruzivo rwenzvimbo muInfluxDB. Izvi zvainyanya kubatsira pakutarisa nzvimbo ye scooters mune yedu admin panel.
Muchokwadi, isu taigara tichiziva kupi uye scooter yaive panguva yataida.

Izvi zvakatibatsira zvikuru patakanga tichitsvaga scooter (ona mhedziso pamagumo).

Infrastructure monitoring

Pamusoro pema scooters pachawo, isu taidawo kutarisa yedu yese (panzvimbo yakakura) zvivakwa.

Chivakwa chakajairwa chakaita seizvi:

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Kana tikasimbisa yakachena yekutarisa stack, inoita seizvi:

Dzosa scooter yakarasika, kana nyaya yeimwe IoT yekutarisa

Zvatinoda kutarisa mugore ndezvekuti:

  • Databases
  • keycloak
  • Microservices

Sezvo ese edu masevhisi emakore ari muKubernetes, zvingave zvakanaka kuunganidza ruzivo nezve mamiriro ayo.

Neraki, Telegraf kunze kwebhokisi inogona kuunganidza yakakura nhamba yemametrics nezve mamiriro eKubernetes cluster, uye Chronograf pakarepo inopa akanaka madhibhodhi eizvi.

Isu takanyanya kutarisa mashandiro emapods uye mashandisirwo endangariro. Kana ukadonha, chenjedzo muSlack.

Pane nzira mbiri dzekutevera mapodhi muKubernetes: DaemonSet uye Sidecar.
Nzira mbiri idzi dzinotsanangurwa zvakadzama mune ino blog post.

Isu takashandisa Telegraf Sidecar uye, mukuwedzera kune metrics, takaunganidza pod matanda.

Kwatiri isu taifanira kunzvengesa nematanda. Kunyangwe chokwadi chekuti Telegraf inogona kudhonza matanda kubva kuDocker API, isu taida kuve neunifomu muunganidzwa wematanda nemidziyo yedu yekupedzisira uye yakagadziridzwa syslog yemidziyo yeizvi. Zvichida iyi sarudzo yakanga isina kunaka, asi pakanga pasina kunyunyuta pamusoro pebasa rayo uye matanda akaratidzwa zvakanaka muChronograf.

Monitor monitoring???

Pakupedzisira, mubvunzo wekare wekutarisa masisitimu ekutarisa wakamuka, asi zvinofadza, kana zvinosuruvarisa, isu takanga tisina nguva yakakwana yeizvi.

Kunyangwe Telegraf ichigona kutumira zvayo metrics nyore kana kuunganidza metrics kubva kuInfluxDB dhatabhesi yekutumira ingave kune imwechete Influx kana kumwewo.

zvakawanikwa

Zvii zvatakawana kubva pane zvakabuda kumutyairi wendege?

Unogona sei kuita monitoring?

Chekutanga, iyo TICK stack yakazadzisa tarisiro yedu uye yakatipa mikana yakawanda kupfuura yataitarisira pakutanga.

Kushanda kwese kwataida kwaivapo. Zvese zvataiita nazvo zvakashanda pasina dambudziko.

Kubudirira

Dambudziko guru neTICK stack mune yemahara vhezheni kushaikwa kwekuyera kugona. Iri rakanga risiri dambudziko kwatiri.

Hatina kuunganidza data/nhamba chaidzo, asi takatora data kubva kuma scooters makumi matatu panguva.

Mumwe nemumwe wavo akaunganidza zvinopfuura gumi nemaviri metrics. Panguva imwecheteyo, matanda kubva kumidziyo akaunganidzwa. Kuunganidzwa kwedata uye kutumira kwakaitika mumasekonzi gumi ega ega.

Zvakakosha kuziva kuti mushure mevhiki nehafu yemutyairi, apo huwandu hwe "matambudziko ehuduku" hwakagadziriswa uye matambudziko anonyanya kukosha akanga atogadziriswa, taifanira kuderedza kuwanda kwekutumira data kune seva. 30 seconds. Izvi zvakava madikanwa nekuti traffic paLTE SIM makadhi edu akatanga kunyangarika nekukurumidza.

Iyo yakawanda yetraffic yakapedzwa nematanda; iwo metrics iwo pachawo, kunyangwe aine gumi-sekondi yepakati, haana kutambisa.

Nekuda kweizvozvo, mushure mechinguva takadzima zvachose kuunganidzwa kwematanda pamidziyo, sezvo matambudziko chaiwo akange atove pachena kunyangwe pasina kuunganidzwa nguva dzose.

Mune zvimwe zviitiko, kana kuona matanda kuchiri kudikanwa, isu takangobatana neWireGuard kuburikidza neVPN.

Ini ndichawedzerawo kuti imwe neimwe nharaunda yakaparadzana yakaparadzaniswa kubva kune imwe neimwe, uye mutoro unotsanangurwa pamusoro waive wakakodzera chete kune nharaunda yekugadzira.

Munzvimbo yekusimudzira, takasimudza imwe InfluxDB muenzaniso iyo yakaramba ichiunganidza data masekonzi gumi ega ega uye isu hatina kusangana nematambudziko ekuita.

TICK - yakanakira madiki kusvika epakati mapurojekiti

Zvichienderana neruzivo urwu, ndingagumisa kuti iyo TICK stack yakanakira mapurojekiti madiki kana mapurojekiti asingatarisire chero HighLoad.

Kana iwe usina zviuru zvemapodhi kana mazana emakina, kunyangwe imwe InfluxDB muenzaniso inobata mutoro zvakanaka.

Mune zvimwe zviitiko, unogona kugutsikana neInflux Relay seyekutanga Yepamusoro Kuwanikwa mhinduro.

Uye, hongu, hapana ari kukumisa kubva kumisikidza "yakatwasuka" kuyera uye kungogovera akasiyana maseva emhando dzakasiyana dzemetrics.

Kana iwe usina chokwadi nezve mutoro unotarisirwa pamasevhisi ekutarisa, kana iwe wakavimbiswa kuve / uchave ne "inorema" dhizaini yekuvaka, ini handingakurudzire kushandisa iyo yemahara vhezheni yeTICK stack.

Zvechokwadi, mhinduro iri nyore ingadai iri kutenga InfluxDB Enterprise - asi pano ini handikwanise kutaura neimwe nzira, sezvo ini pachangu ndisingazive zvinyengeri. Kunze kwekuti inodhura zvakanyanya uye haina kukodzera kumakambani madiki.

Mune ino kesi, nhasi, ndingakurudzira kutarisa kunotora metrics kuburikidza neVictoria Metrics uye matanda uchishandisa Loki.

Ichokwadi, ndichaita zvakare chengetedzo kuti Loki/Grafana haina nyore (nekuda kwekusiyana-siyana kwavo) kupfuura iyo yakagadzirira-yakagadzirwa TICK, asi ivo vakasununguka.

kosha: Ruzivo rwese rwunotsanangurwa pano rwakakodzera vhezheni Influx 1.8, parizvino Influx 2.0 yave kuda kuburitswa.

Kunyange ndisina kuwana mukana wekuzviedza mumamiriro ekurwa uye zvakaoma kutora mhedziso pamusoro pekuvandudzwa, chimiro chave chatova nani, chivakwa chave chakarerutswa (pasina kapacitor uye chronograf),
matemplate akaonekwa ("muurayi chimiro" - unogona kuteedzera vatambi muFortnite uye kugamuchira zviziviso kana wako waunofarira mutambi ahwina mutambo) Asi, zvinosuruvarisa, panguva ino, vhezheni 2 haina chinhu chakakosha chatakasarudza iyo yekutanga vhezheni - hapana chekuunganidza.

Kushanda uku kuchaonekwawo muInflux 2.0, asi hatina kuwana chero mazuva ekupedzisira, kunyange anofungidzirwa.

Maitiro ekusagadzira IoT mapuratifomu (ikozvino)

Pakupedzisira, patakatanga mutyairi wendege, isu pachedu takaunganidza yedu yakazara-yakazara IoT stack, pasina imwe nzira inokodzera zviyero zvedu.

Nekudaro, munguva pfupi yapfuura inowanikwa muBeta vhezheni OpenBalena — zvinosiririsa kuti akange asipo patakatanga kuita chirongwa.

Isu takagutsikana zvizere nemhedzisiro uye chikuva chakavakirwa paAnsible + TICK + WireGuard yatakazviunganidza isu pachedu. Asi nhasi, ndingakurudzira kutarisisa Balena usati waedza kuvaka yako IoT chikuva iwe pachako.

Nekuti pakupedzisira inogona kuita zvakawanda zvatakaita, uye OpenBalena ndeyemahara uye yakavhurika sosi.

Inotoziva nzira yekusangotumira zvigadziriso, asiwo VPN yakatovakwa mukati uye yakagadzirirwa kushandiswa munzvimbo yeIoT.

Uye munguva pfupi yapfuura, vakatoburitsa yavo Hardware, iyo inobatanidza nyore kune ecosystem yavo.

Hei, ko nezve scooter isipo?

Saka scooter, "Ralph", yakanyangarika pasina tsvakiridzo.

Takabva tangomhanya kunotarisa kumepu mu "admin panel" yedu, ine GPS metrics data kubva kuInfluxDB.

Nekuda kwedata rekutarisa, takaona zviri nyore kuti scooter yasiya nzvimbo yekupaka nguva dza21:00 zuva rapfuura, yakatyaira ingangoita hafu yeawa kune imwe nzvimbo uye yakamiswa kusvika 5 am padivi peimwe imba yeGerman.

Mushure me5 am, hapana data rekutarisa rakagamuchirwa-izvi zvaireva kuti bhatiri rekuwedzera rakabviswa zvachose, kana murwi akazoona kuti angabvisa sei smart hardware kubva ku scooter.
Pasinei neizvi, mapurisa akanga achiri kushevedzwa kukero kwaiva nesikuta. Sikuta yakanga isipo.

Zvisinei, muridzi wemba akashamiswawo nazvo, sezvo akatokwira scooter iyi kumba achibva kuhofisi nezuro manheru.

Sezvazvakazoitika, mumwe wevashandi vekutsigira akauya mangwanani-ngwanani ndokutora scooter, achiona kuti bhatiri rayo rekuwedzera rakanga raburitswa zvachose uye akaenda naro (netsoka) kunzvimbo yekupaka. Uye bhatiri rekuwedzera rakatadza nekuda kwekunyorova.

Takabira scooter kubva isu. Nenzira, handizivi kuti sei uye ndiani akazogadzirisa nyaya yacho nemhosva yemapurisa, asi kutarisa kwakashanda zvakakwana ...

Source: www.habr.com

Voeg