Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Shekara guda da ta wuce mun ƙaddamar da sigar matukin jirgi na aikin talla don hayar babur lantarki da aka raba.

Da farko, aikin da ake kira Road-To-Barcelona, ​​daga baya ya zama Road-To-Berlin (saboda haka R2B a cikin hotunan kariyar kwamfuta), kuma a karshen an kira xRide.

Babban ra'ayin aikin shine wannan: maimakon samun motar haya mai mahimmanci ko sabis na hayar babur (muna magana ne game da babura aka kekunan lantarki, ba kickscooters / Scooters) muna son yin dandamali don haya haya. Game da matsalolin da muka fuskanta riga ya rubuta a baya.

Da farko, aikin ya mayar da hankali kan motoci, amma saboda lokacin ƙarewa, sadarwa mai tsayi da yawa tare da masana'antun da adadi mai yawa na ƙuntatawa na tsaro, an zaɓi mashin lantarki don matukin jirgi.

Mai amfani ya shigar da aikace-aikacen iOS ko Android akan wayar, ya tunkari babur ɗin da yake so, bayan haka wayar da babur sun kafa haɗin tsakanin tsara-da-tsara, an yi musayar ETH kuma mai amfani zai iya fara hawan ta hanyar kunna babur ta hanyar. wayar. A ƙarshen tafiya, kuma yana yiwuwa a biya kuɗin tafiya ta amfani da Ethereum daga walat ɗin mai amfani akan wayar.

Bugu da ƙari, babur, mai amfani ya ga "smart caja" a cikin aikace-aikacen, ta ziyartar wanda mai amfani zai iya canza baturin yanzu da kansa idan yana da ƙananan.

Gabaɗaya wannan shi ne yadda matuƙinmu ya yi kama, wanda aka ƙaddamar a watan Satumbar bara a biranen Jamus guda biyu: Bonn da Berlin.

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Kuma a sa'an nan, wata rana, a Bonn, da sassafe, tawagar goyon bayan mu (wanda yake a wurin don kula da babur a cikin tsari) an faɗakar da: daya daga cikin babur ya bace ba tare da wata alama.

Yadda za a nemo shi kuma mayar da shi?

A cikin wannan labarin zan yi magana game da wannan, amma da farko - game da yadda muka gina dandalinmu na IoT da kuma yadda muka sa ido.

Menene kuma me yasa za a saka idanu: babur, abubuwan more rayuwa, tashoshin caji?

Don haka, menene muke so mu saka idanu a cikin aikinmu?

Da farko, wadannan su ne babur da kansu - lantarki babur da kansu suna da tsada sosai, ba za ka iya kaddamar da irin wannan aikin ba tare da cikakken shiri, idan za ta yiwu, kana so ka tattara a matsayin mai yawa bayanai game da Scooters: game da wurin da ake cajin matakin. , da dai sauransu.

Bugu da kari, Ina so in sa ido kan yanayin abubuwan da muke da su na IT - rumbun adana bayanai, ayyuka da duk abin da suke bukata don yin aiki. Hakanan ya zama dole don saka idanu akan matsayin "caja masu wayo", idan sun lalace ko sun ƙare batir ɗin cikakke.

Scooters

Menene mashinan mu kuma menene muke so mu sani game da su?

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Abu na farko da mafi mahimmanci shine haɗin gwiwar GPS, tun da godiya gare su za mu iya fahimtar inda suke da kuma inda suke motsawa.

Na gaba shine cajin baturi, godiya ga wanda zamu iya sanin cewa cajin na'urorin yana zuwa ƙarshe kuma aika juicer ko a kalla gargadi mai amfani.

Tabbas, ya zama dole kuma a bincika abin da ke faruwa tare da abubuwan haɗin Hardware ɗin mu:

  • bluetooth yana aiki?
  • GPS module kanta yana aiki?
    • Mun kuma sami matsala tare da gaskiyar cewa GPS na iya aika da daidaitawa ba daidai ba kuma ya makale, kuma ana iya ƙayyade wannan ta ƙarin bincike akan babur.
      da kuma sanar da tallafi da wuri-wuri don warware matsalar

Kuma a ƙarshe: bincika software, farawa da OS da processor, hanyar sadarwa da nauyin faifai, yana ƙarewa da cakuɗen namu na'urorin da suka fi dacewa da mu.Jolocom, Kyakkyawar maɓalli).

Hardware

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Menene sashin "ƙarfe" namu?

Yin la'akari da mafi ƙarancin lokaci mai yuwuwa da buƙatun samfuri cikin sauri, mun zaɓi zaɓi mafi sauƙi don aiwatarwa da zaɓin abubuwan haɗin gwiwa - Raspberry Pi.
Baya ga Rpi kanta, muna da allon al'ada (wanda mu da kanmu muka haɓaka kuma muka ba da umarni daga China don hanzarta aiwatar da tsarin taro na mafita na ƙarshe) da saitin abubuwan da aka gyara - relay (don kunna / kashe babur), mai karanta cajin baturi, modem, eriya. Duk waɗannan an tattara su a cikin wani akwati na musamman na "xRide".

Har ila yau, ya kamata a lura da cewa, dukan akwatin yana aiki ne ta hanyar wani ƙarin bankin wutar lantarki, wanda kuma yana aiki da babban baturi na babur.

Wannan ya ba da damar yin amfani da saka idanu da kunna babur ko da bayan ƙarshen tafiya, tun lokacin da babban baturi ya kashe nan da nan bayan kunna maɓallin kunnawa zuwa matsayin "kashe".

Docker? Layin Linux? da turawa

Bari mu koma saka idanu, don haka Rasberi - menene muke da shi?

Ɗaya daga cikin abubuwan farko da muke so mu yi amfani da su don hanzarta aiwatar da ƙaddamarwa, sabuntawa da kuma isar da kayan aiki zuwa na'urorin jiki shine Docker.

Abin takaici, da sauri ya bayyana a fili cewa Docker akan RPi, kodayake yana aiki, yana da yawa fiye da kima, musamman dangane da amfani da wutar lantarki.

Bambance-bambancen amfani da “an ƙasa” OS, ko da yake ba shi da ƙarfi sosai, har yanzu ya ishe mu mu yi hankali da yuwuwar rasa caji da sauri.

Dalili na biyu shine ɗayan ɗakunan karatu na abokanmu akan Node.js (sic!) - kawai ɓangaren tsarin da ba a rubuta a cikin Go/C/C++ ba.

Marubutan ɗakin karatu ba su da lokaci don samar da sigar aiki a cikin kowane yarukan “ƙasa”.

Ba wai kawai kullin kanta ba shine mafi kyawun mafita don ƙananan na'urori masu aiki ba, amma ɗakin karatu da kansa ya kasance mai tsananin yunwar albarkatu.

Mun gane cewa, ko da muna so, yin amfani da Docker zai kasance da yawa a gare mu. An zaɓi zaɓi don goyon bayan OS na asali kuma yana aiki kai tsaye a ƙarƙashinsa.

OS

Sakamakon haka, mu, kuma, mun zaɓi zaɓi mafi sauƙi azaman OS kuma mun yi amfani da Raspbian (Debian gini don Pi).

Muna rubuta duk software ɗin mu a cikin Go, don haka mun kuma rubuta babban maƙasudin wakili a cikin tsarin mu a Go.

Shi ne ke da alhakin aiki da GPS, Bluetooth, karanta caji, kunna babur, da dai sauransu.

tura

Tambayar ta taso nan da nan game da buƙatar aiwatar da tsarin isar da sabuntawa zuwa na'urori (OTA) - duka sabuntawa ga wakilinmu / aikace-aikacen da kansa, da sabuntawa ga OS / firmware kanta (tun da sabbin nau'ikan wakili na iya buƙatar sabuntawa ga kernel. ko tsarin tsarin, dakunan karatu, da dai sauransu) .

Bayan quite dogon nazari na kasuwa, shi ya juya daga cewa akwai quite mai yawa mafita ga isar updates zuwa na'urar.

Daga ingantacciyar hanya mai sauƙi, galibi abubuwan haɓakawa/dual-boot daidaitacce kamar swupd/SWupdate/OSTree zuwa cikakkun dandamali kamar Mender da Balena.

Da farko, mun yanke shawarar cewa muna sha'awar mafita na ƙarshe zuwa ƙarshen, don haka zaɓin nan da nan ya faɗi akan dandamali.

Kanshi Balena An cire shi saboda gaskiyar cewa a zahiri yana amfani da Docker iri ɗaya a cikin balenaEngine ɗin sa.

Amma na lura cewa duk da wannan, mun ƙare har kullum amfani da samfurin su Sunan mahaifi Whale Etcher don walƙiya mai walƙiya akan katunan SD - mai sauƙin amfani da dacewa sosai don wannan.

Don haka, a ƙarshe zaɓi ya faɗi Mender. Mender cikakken dandamali ne don haɗawa, bayarwa da shigar da firmware.

Gabaɗaya dandalin yana da kyau, amma ya ɗauki kusan mako ɗaya da rabi kawai don gina ingantaccen sigar firmware ɗin mu ta amfani da maginin mender.
Kuma yayin da muka nutsar da kanmu cikin ɓarna na amfani da shi, yadda ya bayyana a fili cewa don aiwatar da shi gabaɗaya muna buƙatar ƙarin lokaci fiye da yadda muke da shi.

Kaico, ƙayyadaddun ƙayyadaddun ƙayyadaddun mu yana nufin an tilasta mana mu watsar da amfani da Mender kuma mu zaɓi mafi sauƙi.

Mai yiwuwa

Mafi sauƙaƙan bayani a cikin halin da muke ciki shine amfani da Asible. Littattafan wasa biyu sun isa farawa.

Mahimmancin su shine kawai mun haɗa daga mai watsa shiri (CI uwar garke) ta hanyar ssh zuwa rasberinmu kuma mun rarraba sabuntawa zuwa gare su.

A farkon farkon, duk abin ya kasance mai sauƙi - dole ne ku kasance a kan hanyar sadarwa ɗaya tare da na'urorin, an zubar da ruwa ta hanyar Wi-Fi.

A cikin ofishin akwai kawai dozin gwajin raspberries da aka haɗa zuwa cibiyar sadarwa iri ɗaya, kowace na'ura tana da adreshin IP na tsaye wanda kuma aka ƙayyade a cikin Inventory mai yiwuwa.

Mai yiwuwa ne ya isar da wakilin mu zuwa na'urori na ƙarshe

3G / LTE

Abin takaici, wannan shari'ar amfani don Ansible zai iya aiki ne kawai a yanayin ci gaba kafin mu sami ainihin babur.

Saboda babur, kamar yadda kuka fahimta, ba sa zama a haɗa su da na'ura mai ba da hanya tsakanin hanyoyin sadarwa na Wi-Fi guda ɗaya, koyaushe suna jiran sabuntawa akan hanyar sadarwar.

A zahiri, babur ba za su iya samun wata hanyar haɗi ba kwata-kwata ban da wayar hannu ta 3G/LTE (har ma ba koyaushe ba).

Wannan nan da nan yana haifar da matsaloli da iyakancewa da yawa, kamar ƙarancin saurin haɗin gwiwa da rashin kwanciyar hankali sadarwa.

Amma abu mafi mahimmanci shine cewa a cikin hanyar sadarwa na 3G/LTE ba za mu iya dogara kawai da tsayayyen IP da aka sanya wa hanyar sadarwar ba.

Wasu masu samar da katin SIM ne suka warware wannan a wani bangare; akwai ma katunan SIM na musamman da aka tsara don na'urorin IoT masu adiresoshin IP na tsaye. Amma ba mu sami damar shiga irin waɗannan katunan SIM ba kuma ba za mu iya amfani da adiresoshin IP ba.

Tabbas, akwai ra'ayoyi don yin wani nau'in rajista na adiresoshin IP aka gano sabis a wani wuri kamar Consul, amma dole ne mu watsar da irin waɗannan ra'ayoyin, tunda a cikin gwaje-gwajenmu adireshin IP na iya canzawa sau da yawa, wanda ya haifar da rashin kwanciyar hankali.

Don wannan dalili, mafi dacewa amfani don isar da awo ba zai kasance ta amfani da ƙirar ja ba, inda za mu je na'urori don ma'aunin da ake buƙata, amma turawa, isar da awo daga na'urar kai tsaye zuwa uwar garken.

VPN

A matsayin maganin wannan matsala, mun zaɓi VPN - musamman Waya tsaro.

Abokan ciniki (scooters) a farkon tsarin da aka haɗa zuwa uwar garken VPN kuma sun sami damar haɗa su. Anyi amfani da wannan rami don sadar da sabuntawa.

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

A ka'idar, ana iya amfani da rami iri ɗaya don saka idanu, amma irin wannan haɗin ya fi rikitarwa kuma ba shi da aminci fiye da turawa mai sauƙi.

Albarkatun gajimare

A ƙarshe, ya zama dole don saka idanu ayyukan girgijenmu da bayanan bayanai, tunda muna amfani da Kubernetes don su, da kyau don tura sa ido a cikin tari yana da sauƙi kamar yadda zai yiwu. Fi dacewa, amfani Hanya, tun don ƙaddamarwa, muna amfani da shi a mafi yawan lokuta. Kuma, ba shakka, don saka idanu ga gajimare kana buƙatar amfani da mafita iri ɗaya kamar na masu baƙar fata da kansu.

An ba

Phew, da alama mun tsara bayanin, bari mu yi jerin abubuwan da muke buƙata a ƙarshe:

  • Magani mai sauri, tun da yake kulawa ya zama dole a rigaya a lokacin tsarin ci gaba
  • Ƙarar / yawa - yawancin awo da ake buƙata
  • Ana buƙatar tarin rajista
  • Amincewa - bayanai yana da mahimmanci don ƙaddamar da nasara
  • Ba za ku iya amfani da samfurin ja ba - kuna buƙatar turawa
  • Muna buƙatar haɗin kai ba kayan aiki kawai ba, har ma da girgije

Hoton karshe yayi kama da wannan

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Zaɓin tari

Don haka, mun fuskanci tambayar zabar tarin saka idanu.

Da farko, muna neman mafi cikakken bayani duka-in-daya wanda zai rufe dukkan buƙatunmu a lokaci guda, amma a lokaci guda mu kasance masu sassaucin ra'ayi don dacewa da amfani da bukatunmu. Duk da haka, muna da hani da yawa da aka ɗora mana ta hanyar kayan aiki, gine-gine da ƙayyadaddun lokaci.

Akwai ɗimbin mafita na saka idanu iri-iri, farawa da cikakken tsarin tsarin kamar Nagios, icinga ko zabbix kuma yana ƙarewa tare da shirye-shiryen da aka yi don sarrafa Fleet.

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Da farko, ƙarshen ya zama kamar mafita mai kyau a gare mu, amma wasu ba su da cikakken sa ido, wasu suna da iyakacin iyaka na nau'ikan kyauta, wasu kuma ba su rufe “buƙatun” ɗinmu ba ko kuma ba su da sauƙi don dacewa da yanayin mu. Wasu kawai sun tsufa.

Bayan da muka yi nazari da yawa iri ɗaya mafita, da sauri muka zo ga ƙarshe cewa zai zama da sauƙi da sauri mu haɗa irin wannan tari da kanmu. Ee, zai zama ɗan rikitarwa fiye da tura tsarin sarrafa Fleet da aka yi gaba ɗaya, amma ba za mu yi sulhu ba.

Kusan lalle ne, a cikin dukkan ɗimbin mafita, an riga an riga an yi wani shiri wanda zai dace da mu gaba ɗaya, amma a cikin yanayinmu ya fi sauri mu haɗa wani tari da kanmu kuma mu keɓance shi “don kanmu” maimakon gwada samfuran da aka shirya.

Tare da wannan duka, ba mu yi ƙoƙari don haɗa dukkan dandamalin sa ido kan kanmu ba, amma muna neman mafi yawan kayan aikin “shirye-shiryen”, kawai tare da ikon daidaita su.

(B) ELK?

Magani na farko da aka yi la'akari da shi shine sanannen tarin ELK.
A gaskiya ma, ya kamata a kira shi BELK, saboda duk yana farawa da Beats - https://www.elastic.co/what-is/elk-stack

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Tabbas, ELK yana ɗaya daga cikin shahararrun kuma mafi ƙarfi mafita a fagen sa ido, har ma fiye da haka a cikin tattarawa da sarrafa rajistan ayyukan.

Mun yi nufin cewa za a yi amfani da ELK don tattara rajistan ayyukan da kuma adana dogon lokaci na awo da aka samu daga Prometheus.

Don gani, zaka iya amfani da Grafan.

A zahiri, sabon tarin ELK na iya tattara awo da kansa (metricbeat), kuma Kibana na iya nuna su.

Amma duk da haka, ELK da farko ya girma daga rajistan ayyukan kuma ya zuwa yanzu aikin ma'aunin yana da babban lahani mai yawa:

  • Mahimmanci a hankali fiye da Prometheus
  • Haɗe zuwa wurare da yawa fiye da Prometheus
  • Yana da wuya a saita faɗakarwa gare su
  • Ma'auni suna ɗaukar sarari da yawa
  • Shirya dashboards tare da ma'auni a Kiban ya fi rikitarwa fiye da na Grafan

Gabaɗaya, ma'auni a cikin ELK suna da nauyi kuma har yanzu basu dace ba kamar sauran mafita, waɗanda yanzu akwai da yawa fiye da Prometheus: TSDB, Victoria Metrics, Cortex, da sauransu, da sauransu. Tabbas, da gaske zan so a sami cikakken bayani gaba ɗaya a cikin-daya nan da nan, amma a cikin yanayin metricbeat an sami sasantawa da yawa.

Kuma jigon ELK kanta yana da lokuta masu wahala da yawa:

  • Yana da nauyi, wani lokacin har ma da nauyi sosai idan kun tattara adadi mai yawa na bayanai
  • Kuna buƙatar "san yadda ake dafa" - kuna buƙatar sikelin shi, amma wannan ba karamin aiki bane
  • An cire sigar kyauta - sigar kyauta ba ta da faɗakarwa ta al'ada, kuma a lokacin zaɓin babu wani tabbaci.

Dole ne in faɗi cewa kwanan nan batu na ƙarshe ya zama mafi kyau kuma ƙari fitarwa a cikin buɗaɗɗen tushen X-pack (ciki har da tabbatarwa) ƙirar farashin kanta ta fara canzawa.

Amma a lokacin da za mu tura wannan maganin, babu wani faɗakarwa ko kaɗan.
Wataƙila za mu iya ƙoƙarin gina wani abu ta amfani da EastAlert ko wasu hanyoyin magance al'umma, amma har yanzu mun yanke shawarar yin la'akari da wasu hanyoyin.

Loki - Grafana - Prometheus

A halin yanzu, ingantacciyar mafita na iya zama gina tarin sa ido bisa ga Prometheus azaman mai ba da awo, Loki don rajistan ayyukan, kuma don gani za ku iya amfani da Grafana iri ɗaya.

Abin baƙin ciki, a lokacin da aka fara na tallace-tallace matukin jirgi na aikin (Satumba-Oktoba 19), Loki ya kasance har yanzu a cikin beta version 0.3-0.4, kuma a lokacin da aka fara ci gaba da shi ba za a iya la'akari a matsayin produtcion bayani. kwata-kwata.

Har yanzu ban sami gogewa ba a zahiri ta amfani da Loki a cikin ayyuka masu mahimmanci, amma zan iya cewa Promtail (wakilin tattara rajistan ayyukan) yana aiki da kyau ga duka bare-metal da pods a cikin kubernetes.

TICK

Wataƙila mafi cancanta (kawai?) Cikakken fasalin madadin ga tarin ELK yanzu kawai ana iya kiransa tarin TICK - Telegraf, InfluxDB, Chronograf, Kapacitor.

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Zan bayyana duk abubuwan da ke ƙasa dalla-dalla, amma ra'ayin gaba ɗaya shine wannan:

  • Telegraf - wakili don tattara ma'auni
  • InfluxDB - bayanan awo
  • Kapacitor - na'ura mai sarrafa awo na ainihi don faɗakarwa
  • Chronograf - rukunin yanar gizon don gani

Don InfluxDB, Kapacitor da Chronograf akwai taswirar helm na hukuma waɗanda muka yi amfani da su don tura su.

Ya kamata a lura cewa a cikin sabuwar sigar Influx 2.0 (beta), Kapacitor da Chronograf sun zama wani ɓangare na InfluxDB kuma ba su wanzu daban.

Telegraph

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Telegraph wakili ne mara nauyi sosai don tattara ma'auni akan injin jiha.

Zai iya saka idanu mai yawa na komai, daga nginx to
uwar garke minecraft.

Yana da wasu fa'idodi masu kyau:

  • Mai sauri da nauyi (an rubuta a cikin Go)
    • Yana cin mafi ƙarancin adadin albarkatu
  • Tura awo ta tsohuwa
  • Yana tattara duk ma'auni masu mahimmanci
    • Ma'aunin tsarin ba tare da kowane saituna ba
    • Hardware awo kamar bayanai daga firikwensin
    • Yana da sauqi don ƙara ma'aunin ku
  • Yawancin plugins daga cikin akwatin
  • Tattara rajistan ayyukan

Tun da ma'aunin turawa ya zama dole a gare mu, duk sauran fa'idodin sun fi ƙari mai daɗi.

Tarin rajistan ayyukan da wakili kansa shima ya dace sosai, tunda babu buƙatar haɗa ƙarin abubuwan amfani don shiga rajistan ayyukan.

Influx yana ba da ƙwarewa mafi dacewa don aiki tare da rajistan ayyukan idan kuna amfani syslog.

Telegraf gabaɗaya babban wakili ne don tattara awo, koda kuwa ba kwa amfani da sauran tarin ICK.

Mutane da yawa suna haye shi tare da ELK da sauran bayanan jeri na lokaci daban-daban don dacewa, tunda yana iya rubuta awo kusan ko'ina.

InfluxDB

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

InfluxDB shine babban jigon tarin TICK, wato ma'ajin bayanai na lokaci-lokaci don awo.
Baya ga ma'auni, Influx kuma na iya adana rajistan ayyukan, kodayake, a zahiri, rajistan ayyukan don shi ma'auni ɗaya ne kawai, maimakon ma'aunin lambobi na yau da kullun, babban aikin yana gudana ta hanyar layin rubutu.

Har ila yau, an rubuta InfluxDB a cikin Go kuma da alama yana gudu da sauri idan aka kwatanta da ELK akan tarin mu (ba mafi ƙarfi ba).

Ɗaya daga cikin fa'idodi masu kyau na Influx zai kuma haɗa da API mai dacewa kuma mai wadata don tambayoyin bayanai, wanda muka yi amfani da shi sosai.

Hasara - $$$ ko sikeli?

Tarin TICK yana da koma baya ɗaya kawai wanda muka gano - shi Mai tsada. Har ma da ƙari.

Menene sigar da aka biya wanda sigar kyauta ba ta da shi?

Kamar yadda muka iya fahimta, kawai bambanci tsakanin sigar da aka biya na tarin TICK da na kyauta shine iyawar sikelin.

Wato, zaku iya ɗaga gungu tare da babban samuwa kawai a ciki Siffofin kasuwanci.

Idan kana son cikakken HA, ko dai kuna buƙatar biya ko amfani da wasu ƙugiya. Akwai mafita guda biyu na al'umma - alal misali influxdb-ha yayi kama da ingantaccen bayani, amma an rubuta cewa bai dace da samarwa ba, haka kuma
magudanar ruwa - mafita mai sauƙi tare da yin famfo bayanai ta hanyar NATS (shima dole ne a daidaita shi, amma ana iya warware wannan).

Abin takaici ne, amma duka biyun suna da alama an yi watsi da su - babu wani sabon alƙawari, Ina tsammanin cewa batun nan ba da jimawa ba ne ake sa ran fitowar sabon fasalin Influx 2.0, wanda abubuwa da yawa za su bambanta (babu wani bayani game da shi). a cikinsa har yanzu).

A hukumance akwai sigar kyauta Relay - a gaskiya, wannan shine farkon HA, amma ta hanyar daidaitawa,
tunda duk bayanan za a rubuta su zuwa duk abubuwan InfluxDB a bayan ma'aunin nauyi.
Yana da wasu disadvantages kamar yuwuwar matsaloli tare da abubuwan sake rubutawa da buƙatar ƙirƙirar tushe don awo a gaba
(wanda ke faruwa ta atomatik yayin aiki na yau da kullun tare da InfluxDB).

Bayan haka sharding ba a tallafawa, wannan yana nufin ƙarin sama da sama don kwafin awo (duka sarrafawa da ajiya) waɗanda ƙila ba za ku buƙaci ba, amma babu wata hanyar raba su.

Victoria Metrics?

Sakamakon haka, duk da cewa mun gamsu da tarin TICK a cikin komai banda sikelin da aka biya, mun yanke shawarar ganin ko akwai wasu mafita na kyauta waɗanda za su iya maye gurbin bayanan InfluxDB, yayin da muke barin sauran abubuwan T_CK.

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Akwai bayanai masu yawa na jerin lokaci, amma mafi girman alƙawarin shine Victoria Metrics, yana da fa'idodi da yawa:

  • Mai sauri da sauƙi, aƙalla bisa ga sakamakon alamomi
  • Akwai sigar tari, game da wanda har yanzu akwai sake dubawa masu kyau
    • Ta iya shard
  • Yana goyan bayan ka'idar InfluxDB

Ba mu yi niyyar gina tari na al'ada gaba ɗaya dangane da Victoria ba kuma babban bege shi ne cewa za mu iya amfani da shi azaman maye gurbin InfluxDB.

Abin takaici, wannan ba zai yiwu ba, duk da cewa ana tallafawa ka'idar InfluxDB, yana aiki ne kawai don rikodin awo - kawai Prometheus API yana samuwa "a waje", wanda ke nufin ba zai yiwu a saita Chronograf akan shi ba.

Haka kuma, ƙimar lambobi kawai ana tallafawa don ma'auni (mun yi amfani da ƙimar kirtani don awo na al'ada - ƙari akan hakan a cikin sashin. admin panel).

Babu shakka, saboda wannan dalili, VM ba zai iya adana rajistan ayyukan kamar Influx ba.

Har ila yau, ya kamata a lura cewa a lokacin neman mafita mafi kyau, Victoria Metrics bai riga ya shahara ba, takardun ya kasance mafi ƙanƙanta kuma aikin ya kasance mai rauni.
(Ban tuna cikakken bayanin sigar tari da sharding).

Zaɓin tushe

Sakamakon haka, an yanke shawarar cewa ga matukin jirgi har yanzu za mu iyakance kanmu zuwa kumburin InfluxDB guda ɗaya.

Akwai manyan dalilai da yawa na wannan zaɓi:

  • Muna matukar son dukkan ayyukan tarin TICK
  • Mun riga mun yi nasarar tura shi kuma ya yi aiki sosai
  • Ƙayyadaddun lokaci sun ƙare kuma babu sauran lokaci da yawa don gwada wasu zaɓuɓɓuka.
  • Ba mu yi tsammanin irin wannan nauyi mai nauyi ba

Ba mu da babur da yawa don kashi na farko na matukin jirgi, kuma gwaji yayin haɓakawa bai bayyana wasu batutuwan aiki ba.

Saboda haka, mun yanke shawarar cewa don wannan aikin guda ɗaya Ƙungiya zai ishe mu ba tare da buƙatar ƙima ba (duba ƙarshe a ƙarshe).

Mun yanke shawara akan tari da tushe - yanzu game da sauran abubuwan da suka rage na tarin TICK.

Kapacitor

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Kapacitor wani ɓangare ne na tarin TICK, sabis ɗin da zai iya sa ido kan ma'auni masu shigar da bayanai a ainihin lokacin da aiwatar da ayyuka daban-daban bisa ƙa'idodi.

Gabaɗaya, an sanya shi azaman kayan aiki don yuwuwar bin diddigin anomaly da koyon injin (Ban tabbata cewa waɗannan ayyukan suna cikin buƙata ba), amma mafi mashahuri yanayin amfani da shi ya fi kowa - faɗakarwa.

Haka muka yi amfani da shi don sanarwa. Mun saita faɗakarwar Slack lokacin da wani babur ya tafi layi, kuma an yi iri ɗaya don caja masu wayo da mahimman abubuwan abubuwan more rayuwa.

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Wannan ya sa ya yiwu a hanzarta amsa matsalolin, da kuma karɓar sanarwar cewa komai ya dawo daidai.

Misali mai sauƙi: ƙarin baturi don kunna “akwatin” ɗinmu ya lalace ko kuma saboda wasu dalilai ya ƙare wuta; kawai ta hanyar shigar da sabo, bayan ɗan lokaci ya kamata mu karɓi sanarwar cewa an maido da aikin babur.

A cikin Influx 2.0 Kapacitor ya zama wani ɓangare na DB

Tsarin girke-girke

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Na ga yawancin hanyoyin UI daban-daban don saka idanu, amma zan iya cewa dangane da ayyuka da UX, babu abin da ya kwatanta da Chronograf.

Mun fara amfani da tarin TICK, abin ban mamaki, tare da Grafan azaman hanyar sadarwa ta yanar gizo.
Ba zan kwatanta aikin sa ba; kowa ya san faffadan yuwuwar sa na kafa wani abu.

Koyaya, Grafana har yanzu kayan aiki ne na duniya gabaɗaya, yayin da Chronograf an kera shi ne don amfani da Influx.

Kuma ba shakka, godiya ga wannan, Chronograf na iya samun ƙarin wayo ko aiki mai dacewa.

Wataƙila babban jin daɗin aiki tare da Chronograf shine zaku iya duba abubuwan ciki na InfluxDB ta hanyar Bincike.

Da alama Grafana yana da kusan aiki iri ɗaya, amma a zahiri, kafa dashboard a Chronograf ana iya yin shi tare da danna maɓallin linzamin kwamfuta kaɗan (a lokaci guda duba abin gani a can), yayin da a cikin Grafana za ku sami ba dade ko ba dade. don gyara tsarin JSON (tabbas Chronograf yana ba da damar loda dashas ɗin da aka tsara ta hannunku kuma ku gyara su azaman JSON idan ya cancanta - amma ban taɓa taɓa su ba bayan ƙirƙirar su akan UI).

Kibana yana da mafi kyawun iyawa don ƙirƙirar dashboards da sarrafawa a gare su, amma UX don irin waɗannan ayyukan yana da rikitarwa sosai.

Zai ɗauki ɗan fahimta mai kyau don ƙirƙirar dashboard mai dacewa. Kuma kodayake aikin dashboards na Chronograf ya ragu, yin da keɓance su ya fi sauƙi.

Dashboards da kansu, baya ga salon gani mai daɗi, a zahiri ba su bambanta da dashboards a Grafana ko Kibana:

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Wannan shine yadda taga tambayar yayi kama:

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Yana da mahimmanci a lura, a tsakanin sauran abubuwa, cewa sanin nau'ikan filayen a cikin bayanan InfluxDB, chronograph kanta na iya taimaka muku wani lokaci ta atomatik tare da rubuta Tambayi ko zabar daidaitaccen aikin tarawa kamar ma'ana.

Kuma ba shakka, Chronograf ya dace sosai kamar yadda zai yiwu don duba rajistan ayyukan. Ga alama kamar haka:

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Ta hanyar tsoho, Influx rajistan ayyukan an keɓance su don amfani da syslog don haka suna da ma'auni mai mahimmanci - tsanani.

Jadawalin da ke saman yana da amfani musamman; akansa zaku iya ganin kurakuran da ke faruwa kuma launi nan da nan ya nuna a sarari idan tsananin ya fi girma.

Sau biyu muna kama mahimman kwari ta wannan hanya, muna zuwa duba rajistan ayyukan na makon da ya gabata kuma muna ganin jan kauri.

Tabbas, da kyau zai zama saita faɗakarwa don irin waɗannan kurakurai, tunda mun riga mun sami komai don wannan.

Har ma mun kunna wannan na ɗan lokaci, amma yayin da ake shirya matukin jirgin, ya zamana cewa muna samun kurakurai da yawa (ciki har da na'urori kamar rashin samun hanyar sadarwar LTE), wanda kuma ya “sanya wa” tashar Slack. da yawa, ba tare da haifar da wata matsala ba.

Madaidaicin mafita shine ɗaukar mafi yawan waɗannan nau'ikan kurakurai, daidaita tsananin su, sannan kawai kunna faɗakarwa.

Ta wannan hanyar, sabbin kurakurai masu mahimmanci ko sabbin kurakurai ne kawai za a buga zuwa Slack. Babu isasshen lokaci don irin wannan saitin idan aka yi la'akari da ƙayyadaddun lokaci.

Gasktawa

Hakanan yana da daraja ambaton cewa Chronograf yana goyan bayan OAuth da OIDC azaman ingantaccen aiki.

Wannan ya dace sosai, saboda yana ba ku damar haɗa shi cikin sauƙi zuwa uwar garken ku kuma ƙirƙirar SSO cikakke.

A cikin yanayinmu, uwar garken ya kasance Kyakkyawar maɓalli - an yi amfani da shi don haɗawa zuwa saka idanu, amma kuma an yi amfani da sabar iri ɗaya don tabbatar da masu sikeli da buƙatun zuwa ƙarshen baya.

"Admin"

Bangare na ƙarshe da zan kwatanta shi ne “admin panel” da kansa ya rubuta a cikin Vue.
Ainihin sabis ne kawai na tsaye wanda ke nuna bayanan sikeli daga bayanan mu, microservices, da bayanan awo daga InfluxDB lokaci guda.

Bugu da kari, an matsar da ayyukan gudanarwa da yawa zuwa wurin, kamar sake yin gaggawar gaggawa ko buɗe makulli ga ƙungiyar tallafi.

Akwai kuma taswirori. Na riga na ambata cewa mun fara da Grafana maimakon Chronograf - saboda don taswirar Grafana ana samun su a cikin nau'ikan plugins, waɗanda za mu iya duba masu daidaitawa na Scooters. Abin baƙin ciki shine, ikon kayan aikin taswirar taswira na Grafana yana da iyaka sosai, saboda haka, yana da sauƙin rubuta aikace-aikacen gidan yanar gizon ku tare da taswira a cikin 'yan kwanaki, don ba kawai ganin haɗin gwiwar a yanzu ba, har ma da nunawa. hanyar da babur ɗin ya bi, zai iya tace bayanai akan taswira, da sauransu.

Ɗaya daga cikin fa'idodin da aka ambata na Influx shine ikon ƙirƙirar ma'aunin ku cikin sauƙi.
Wannan yana ba da damar yin amfani da shi don abubuwa masu yawa iri-iri.

Mun yi ƙoƙarin yin rikodin duk bayanai masu amfani a wurin: cajin baturi, matsayin kullewa, aikin firikwensin, bluetooth, GPS, da sauran abubuwan duba lafiya da yawa.
Mun nuna duk wannan a kan admin panel.

Tabbas, mafi mahimmancin ma'auni a gare mu shine yanayin aiki na babur - a zahiri, Influx yana bincika wannan da kansa kuma yana nuna shi tare da "fitilar kore" a cikin sashin nodes.

Ana yin wannan ta hanyar aikin wanda ya mutu - mun yi amfani da shi don fahimtar aikin akwatin mu kuma mu aika waɗancan faɗakarwa iri ɗaya zuwa Slack.

Af, mun sanya wa Scooters suna bayan sunayen haruffa daga Simpsons - ya dace sosai don bambanta su da juna.

Kuma gabaɗaya ya fi jin daɗi ta wannan hanya. Kalmomi kamar "Guys, Smithers ya mutu!" Ana jin su akai-akai.

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Ma'aunin igiya

Yana da mahimmanci cewa InfluxDB yana ba ku damar adana ba ƙimar lambobi kawai ba, kamar yadda lamarin yake tare da Ma'aunin Victoria.

Zai yi kama da cewa wannan ba shi da mahimmanci - bayan haka, ban da rajistan ayyukan, kowane ma'auni za a iya adana shi a cikin nau'i na lambobi (kawai ƙara taswira don sanannun jihohin - nau'in enum)?

A cikin yanayinmu, akwai aƙalla yanayi ɗaya inda ma'aunin kirtani ke da amfani sosai.
Haka ya faru cewa mai samar da "smart caja" namu na ɓangare na uku ne, ba mu da iko akan tsarin ci gaba da bayanan da waɗannan caja zasu iya bayarwa.

Sakamakon haka, API ɗin caji bai yi nisa ba, amma babbar matsalar ita ce ba za mu iya fahimtar yanayinsu koyaushe ba.

Anan ne kwararar ta zo don ceto. Mun rubuta kawai matsayin kirtani wanda ya zo mana cikin filin bayanai na InfluxDB ba tare da canje-canje ba.

Na ɗan lokaci, kawai ƙima kamar "kan layi" da "offline" sun isa wurin, dangane da abin da aka nuna bayanin a cikin kwamitin gudanarwarmu, kuma an aika da sanarwa zuwa Slack. Duk da haka, a wani lokaci, dabi'u kamar "katse" suma sun fara bayyana a wurin.

Kamar yadda ya bayyana daga baya, an aika wannan matsayi sau ɗaya bayan an rasa haɗin, idan caja ba zai iya kulla alaka da uwar garken ba bayan wasu yunƙuri.

Don haka, idan muka yi amfani da ƙayyadaddun ƙayyadaddun ƙimar ƙima, ƙila ba za mu iya ganin waɗannan canje-canje a cikin firmware ba a daidai lokacin.

Gabaɗaya, ma'aunin kirtani yana ba da damar amfani da yawa; zaku iya yin rikodin kusan kowane bayani a cikinsu. Kodayake, ba shakka, kuna buƙatar amfani da wannan kayan aiki a hankali.

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Baya ga ma'auni na yau da kullun, mun kuma yi rikodin bayanan wurin GPS a cikin InfluxDB. Wannan yana da matuƙar amfani don sa ido kan wuraren da babur a cikin kwamitin gudanarwa na mu.
A zahiri, koyaushe mun san inda kuma wane babur yake a lokacin da muke buƙata.

Wannan yana da amfani sosai a gare mu lokacin da muke neman babur (duba ƙarshe a ƙarshe).

Kula da kayayyakin more rayuwa

Baya ga su kansu babur, muna kuma buƙatar sanya ido kan duk kayan aikin mu (maimakon yawa).

Tsarin gine-gine na gaba ɗaya yayi kama da haka:

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Idan muka haskaka tsantsar saka idanu, yayi kama da haka:

Koma babur ɗin da ya ɓace, ko labarin sa ido ɗaya na IoT

Abin da muke so mu duba cikin gajimare shine:

  • Bayanai
  • Kyakkyawar maɓalli
  • Microservices

Tunda duk ayyukan girgijenmu suna cikin Kubernetes, zai yi kyau a tattara bayanai game da jihar sa.

Abin farin ciki, Telegraf daga cikin akwatin na iya tattara adadi mai yawa na ma'auni game da yanayin ƙungiyar Kubernetes, kuma nan da nan Chronograf yana ba da kyawawan dashboards don wannan.

Mun fi lura da aikin kwasfa da amfani da ƙwaƙwalwar ajiya. Idan akwai faɗuwa, faɗakarwa a cikin Slack.

Akwai hanyoyi guda biyu don waƙa da kwasfan fayiloli a Kubernetes: DaemonSet da Sidecar.
Dukansu hanyoyin an bayyana su daki-daki a cikin wannan blog post.

Mun yi amfani da Telegraf Sidecar kuma, ban da ma'auni, mun tattara rajistan ayyukan kwafsa.

A cikin yanayinmu, dole ne mu yi tinker tare da katako. Duk da cewa Telegraf na iya cire rajistan ayyukan daga Docker API, muna son samun tarin rajistan ayyukan tare da na'urorin ƙarshen mu da kuma saita syslog don kwantena don wannan. Wataƙila wannan mafita ba ta da kyau, amma babu gunaguni game da aikinsa kuma an nuna rajistan ayyukan da kyau a Chronograf.

Saka idanu???

A ƙarshe, tsohuwar tambayar tsarin sa ido ta taso, amma an yi sa'a, ko kuma abin takaici, ba mu da isasshen lokaci don wannan.

Ko da yake Telegraf na iya sauƙin aikawa da nasa awo ko tattara awo daga InfluxDB database don aika ko dai zuwa wannan Influx ko wani wuri dabam.

binciken

Menene muka cimma daga sakamakon matukin jirgin?

Ta yaya za ku iya saka idanu?

Da farko, tarin TICK ya cika burinmu kuma ya ba mu dama fiye da abin da muka yi tsammani da farko.

Duk ayyukan da muke bukata sun kasance. Duk abin da muka yi da shi ya yi aiki ba tare da matsala ba.

Yawan aiki

Babban matsala tare da tarin TICK a cikin sigar kyauta ita ce rashin iya yin ƙima. Wannan ba matsala gare mu ba.

Ba mu tattara ainihin bayanan lodi/ adadi ba, amma mun tattara bayanai daga kusan babur 30 a lokaci guda.

Kowannensu ya tattara awo fiye da dozin uku. A lokaci guda, an tattara rajistan ayyukan daga na'urorin. Tarin bayanai da aikawa sun faru kowane sakan 10.

Yana da mahimmanci a lura cewa bayan mako daya da rabi na matukin jirgi, lokacin da aka gyara yawancin "matsalolin yara" kuma an riga an warware matsalolin mafi mahimmanci, dole ne mu rage yawan aika bayanai zuwa uwar garken 30 seconds. Wannan ya zama dole saboda zirga-zirgar kan katunan sim ɗin mu na LTE ya fara ɓacewa da sauri.

An cinye yawancin zirga-zirgar ta hanyar katako; ma'auni da kansu, ko da tare da tazarar daƙiƙa 10, a zahiri ba su ɓata ba.

A sakamakon haka, bayan wani lokaci mun kashe gaba ɗaya tarin rajistan ayyukan akan na'urori, tunda takamaiman matsalolin sun riga sun bayyana ko da ba tare da tattarawa akai-akai ba.

A wasu lokuta, idan har yanzu duba rajistan ayyukan ya zama dole, muna kawai haɗa ta WireGuard ta VPN.

Zan kuma ƙara cewa kowane yanayi daban ya rabu da juna, kuma nauyin da aka kwatanta a sama ya dace ne kawai don yanayin samarwa.

A cikin yanayin ci gaba, mun ɗaga wani misali na InfluxDB daban wanda ya ci gaba da tattara bayanai kowane sakan 10 kuma ba mu shiga cikin kowace matsala ta aiki ba.

TICK - manufa don ƙananan ayyuka zuwa matsakaici

Dangane da wannan bayanin, zan ƙarasa da cewa tarin TICK ya dace don ƙananan ayyuka ko ayyuka waɗanda ba shakka ba sa tsammanin wani HighLoad.

Idan ba ku da dubban kwasfa ko ɗaruruwan injuna, ko da misalin InfluxDB ɗaya zai iya ɗaukar nauyin daidai.

A wasu lokuta, ƙila ka gamsu da Influx Relay azaman babban mafita na Babban Samuwar.

Kuma, ba shakka, babu wanda zai hana ku kafa ma'auni na "tsaye" kuma kawai rarraba sabobin daban-daban don nau'ikan ma'auni daban-daban.

Idan ba ku da tabbas game da nauyin da ake sa ran akan ayyukan sa ido, ko kuma an ba ku tabbacin samun / za ku sami gine-ginen "nauyi", ba zan ba da shawarar yin amfani da sigar kyauta ta tarin TICK ba.

Tabbas, mafita mai sauƙi shine siye InfluxDB Enterprise - amma a nan ba zan iya yin sharhi ko ta yaya ba, tunda ni kaina ban saba da tatsuniyoyi ba. Bayan gaskiyar cewa yana da tsada sosai kuma tabbas bai dace da ƙananan kamfanoni ba.

A wannan yanayin, a yau, zan ba da shawarar duba zuwa tattara awo ta hanyar Victoria Metrics da logs ta amfani da Loki.

Gaskiya, Zan sake yin ajiyar cewa Loki/Grafana ba su da dacewa sosai (saboda girman girman su) fiye da TICK da aka shirya, amma suna da kyauta.

Muhimmanci: duk bayanan da aka bayyana anan sun dace da sigar Influx 1.8, a halin yanzu ana gab da fitar da Influx 2.0.

Duk da yake ban sami damar gwada shi a cikin yanayin fama ba kuma yana da wahala a yanke shawara game da ingantawa, ƙirar ƙirar ta zama mafi kyau, an sauƙaƙe tsarin gine-gine (ba tare da kapacitor da chronograf ba),
samfurori sun bayyana ("siffar kisa" - Kuna iya bin 'yan wasa a cikin Fortnite kuma ku karɓi sanarwar lokacin da ɗan wasan da kuka fi so ya ci wasa). Amma, rashin alheri, a halin yanzu, sigar 2 ba ta da mahimmin abu wanda muka zaɓi sigar farko - babu tarin log.

Wannan aikin kuma zai bayyana a cikin Influx 2.0, amma ba mu iya samun wasu ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun bayanai ba, har ma da kusan kusan.

Yadda ba za a yi dandamali na IoT ba (yanzu)

A ƙarshe, bayan ƙaddamar da matukin jirgin, mu da kanmu muka tattara namu cikakken jigon IoT, in babu wani madadin da ya dace da ƙa'idodinmu.

Koyaya, kwanan nan yana samuwa a sigar beta Bude Balena - Abin takaici ne ba ta nan lokacin da muka fara yin aikin.

Mun gamsu da sakamakon ƙarshe da dandamalin da ya dogara da Mai yiwuwa + TICK + WireGuard wanda muka tattara kanmu. Amma a yau, Ina ba da shawarar yin nazari sosai a Balena kafin ƙoƙarin gina dandalin IoT na ku da kanku.

Domin a ƙarshe yana iya yin yawancin abin da muka yi, kuma OpenBalena kyauta ce kuma buɗe tushen.

Ya riga ya san yadda ba kawai aika sabuntawa ba, amma kuma an riga an gina VPN kuma an keɓance shi don amfani a cikin yanayin IoT.

Kuma a kwanan nan, ma sun sake su Hardware, wanda ke haɗuwa cikin sauƙi zuwa yanayin yanayin su.

Kai, babur fa?

Don haka babur, "Ralph", ya ɓace ba tare da wata alama ba.

Nan da nan muka gudu don kallon taswirar a cikin "Panel din gudanarwa", tare da bayanan ma'aunin GPS daga InfluxDB.

Godiya ga bayanan sa ido, cikin sauƙi mun ƙaddara cewa babur ya bar wurin ajiye motoci da misalin karfe 21:00 na ranar ƙarshe, ya tuka kusan rabin sa'a zuwa wani yanki kuma an yi fakin har 5 na safe kusa da wani gidan Jamus.

Bayan karfe 5 na safe, ba a sami bayanan sa ido ba - wannan yana nufin ko dai ƙarin baturin ya ƙare gaba ɗaya, ko kuma a ƙarshe maharin ya gano yadda za a cire na'ura mai wayo daga babur.
Duk da haka, har yanzu an kira 'yan sanda zuwa adireshin da babur din yake. Babu babur a wurin.

Sai dai shi ma mai gidan ya yi mamakin wannan lamari, tun da daddare ya hau wannan babur daga ofishin.

Kamar yadda ya faru, daya daga cikin ma'aikatan tallafi ya isa da sassafe, ya ɗauki babur, ganin ƙarin baturinsa ya ƙare gaba ɗaya ya ɗauke shi (da ƙafa) zuwa filin ajiye motoci. Kuma ƙarin baturin ya gaza saboda danshi.

Mun saci babur daga kanmu. Af, ban san ta yaya kuma wanene ya warware matsalar tare da shari'ar 'yan sanda ba, amma sa ido ya yi aiki daidai ...

source: www.habr.com

Add a comment