ప్రారంభంలో, ప్రాజెక్ట్ను రోడ్-టు-బార్సిలోనా అని పిలిచారు, తరువాత ఇది రోడ్-టు-బెర్లిన్ (అందుకే స్క్రీన్షాట్లలో R2B) గా మారింది మరియు చివరికి దీనిని xRide అని పిలిచారు.
ప్రాజెక్ట్ యొక్క ప్రధాన ఆలోచన ఇది: కేంద్రీకృత కారు లేదా స్కూటర్ అద్దె సేవను కలిగి ఉండటానికి బదులుగా (మేము స్కూటర్లు అకా ఎలక్ట్రిక్ మోటార్సైకిళ్ల గురించి మాట్లాడుతున్నాము, కిక్స్కూటర్లు/స్కూటర్లు కాదు) మేము వికేంద్రీకృత అద్దె కోసం ఒక ప్లాట్ఫారమ్ను రూపొందించాలనుకుంటున్నాము. మేము ఎదుర్కొన్న ఇబ్బందుల గురించి ఇంతకు ముందు వ్రాసారు.
ప్రారంభంలో, ప్రాజెక్ట్ కార్లపై దృష్టి పెట్టింది, కానీ గడువులు, తయారీదారులతో చాలా సుదీర్ఘమైన కమ్యూనికేషన్లు మరియు భారీ సంఖ్యలో భద్రతా పరిమితుల కారణంగా, పైలట్ కోసం ఎలక్ట్రిక్ స్కూటర్లు ఎంపిక చేయబడ్డాయి.
వినియోగదారు ఫోన్లో iOS లేదా ఆండ్రాయిడ్ అప్లికేషన్ను ఇన్స్టాల్ చేసి, అతను ఇష్టపడే స్కూటర్ను సంప్రదించారు, ఆ తర్వాత ఫోన్ మరియు స్కూటర్ పీర్-టు-పీర్ కనెక్షన్ని ఏర్పరుచుకున్న తర్వాత, ETH మార్పిడి చేయబడింది మరియు వినియోగదారు దీని ద్వారా స్కూటర్ను ఆన్ చేయడం ద్వారా రైడ్ను ప్రారంభించవచ్చు. ఫోన్. పర్యటన ముగింపులో, ఫోన్లోని వినియోగదారు వాలెట్ నుండి Ethereumని ఉపయోగించి ట్రిప్ కోసం చెల్లించడం కూడా సాధ్యమైంది.
స్కూటర్లతో పాటు, వినియోగదారు అప్లికేషన్లో “స్మార్ట్ ఛార్జర్లను” చూశారు, వీటిని సందర్శించడం ద్వారా వినియోగదారు ప్రస్తుత బ్యాటరీ తక్కువగా ఉంటే దాన్ని స్వయంగా మార్చుకోవచ్చు.
ఇది సాధారణంగా మా పైలట్ లాగా ఉంటుంది, గత సంవత్సరం సెప్టెంబర్లో రెండు జర్మన్ నగరాల్లో ప్రారంభించబడింది: బాన్ మరియు బెర్లిన్.
ఆపై, ఒక రోజు, బాన్లో, ఉదయాన్నే, మా మద్దతు బృందం (స్కూటర్లను పని క్రమంలో నిర్వహించడానికి సైట్లో ఉంది) అప్రమత్తం చేయబడింది: స్కూటర్లలో ఒకటి జాడ లేకుండా అదృశ్యమైంది.
దాన్ని ఎలా కనుగొని తిరిగి ఇవ్వాలి?
ఈ వ్యాసంలో నేను దీని గురించి మాట్లాడతాను, కానీ ముందుగా - మేము మా స్వంత IoT ప్లాట్ఫారమ్ను ఎలా నిర్మించాము మరియు మేము దానిని ఎలా పర్యవేక్షించాము అనే దాని గురించి.
ఏమి మరియు ఎందుకు పర్యవేక్షించాలి: స్కూటర్లు, మౌలిక సదుపాయాలు, ఛార్జింగ్ స్టేషన్లు?
కాబట్టి, మేము మా ప్రాజెక్ట్లో ఏమి పర్యవేక్షించాలనుకుంటున్నాము?
అన్నింటిలో మొదటిది, ఇవి స్కూటర్లు - ఎలక్ట్రిక్ స్కూటర్లు చాలా ఖరీదైనవి, మీరు తగినంతగా సిద్ధం చేయకుండా అలాంటి ప్రాజెక్ట్ను ప్రారంభించలేరు; వీలైతే, మీరు స్కూటర్ల గురించి సాధ్యమైనంత ఎక్కువ సమాచారాన్ని సేకరించాలనుకుంటున్నారు: వాటి స్థానం, ఛార్జ్ స్థాయి గురించి , మొదలైనవి
అదనంగా, నేను మా స్వంత IT ఇన్ఫ్రాస్ట్రక్చర్ యొక్క స్థితిని పర్యవేక్షించాలనుకుంటున్నాను - డేటాబేస్లు, సేవలు మరియు అవి పని చేయడానికి అవసరమైన ప్రతిదాన్ని. "స్మార్ట్ ఛార్జర్లు" విచ్ఛిన్నమైతే లేదా పూర్తి బ్యాటరీలు అయిపోయినట్లయితే వాటి స్థితిని పర్యవేక్షించడం కూడా అవసరం.
స్కూటర్లు
మా స్కూటర్లు ఏమిటి మరియు వాటి గురించి మనం ఏమి తెలుసుకోవాలనుకుంటున్నాము?
మొదటి మరియు అతి ముఖ్యమైన విషయం GPS కోఆర్డినేట్లు, ఎందుకంటే వాటికి ధన్యవాదాలు, అవి ఎక్కడ ఉన్నాయో మరియు అవి ఎక్కడ కదులుతున్నాయో మనం అర్థం చేసుకోవచ్చు.
తదుపరిది బ్యాటరీ ఛార్జ్, దీనికి ధన్యవాదాలు మేము స్కూటర్ల ఛార్జింగ్ ముగింపుకు వస్తోందని మరియు జ్యూసర్ను పంపవచ్చు లేదా కనీసం వినియోగదారుని హెచ్చరించవచ్చు.
వాస్తవానికి, మా హార్డ్వేర్ భాగాలతో ఏమి జరుగుతుందో తనిఖీ చేయడం కూడా అవసరం:
బ్లూటూత్ పని చేస్తుందా?
GPS మాడ్యూల్ పని చేస్తుందా?
GPS సరికాని కోఆర్డినేట్లను పంపి చిక్కుకుపోగలదనే వాస్తవంతో కూడా మాకు సమస్య ఉంది మరియు ఇది స్కూటర్పై అదనపు తనిఖీల ద్వారా మాత్రమే నిర్ణయించబడుతుంది,
మరియు సమస్యను పరిష్కరించడానికి వీలైనంత త్వరగా మద్దతును తెలియజేయండి
మరియు చివరిగా: సాఫ్ట్వేర్ తనిఖీలు, OS మరియు ప్రాసెసర్తో ప్రారంభించి, నెట్వర్క్ మరియు డిస్క్ లోడ్, మాకు మరింత నిర్దిష్టమైన మా స్వంత మాడ్యూల్స్ తనిఖీలతో ముగుస్తుంది (జోలోకామ్, కీలాక్).
హార్డ్వేర్
మా "ఇనుము" భాగం ఏమిటి?
సాధ్యమైనంత తక్కువ సమయం ఫ్రేమ్ మరియు వేగవంతమైన ప్రోటోటైపింగ్ అవసరాన్ని పరిగణనలోకి తీసుకొని, మేము అమలు మరియు భాగాల ఎంపిక కోసం సులభమైన ఎంపికను ఎంచుకున్నాము - రాస్ప్బెర్రీ పై.
Rpiకి అదనంగా, మేము కస్టమ్ బోర్డ్ను కలిగి ఉన్నాము (దీనిని మనమే అభివృద్ధి చేసి, తుది పరిష్కారం యొక్క అసెంబ్లీ ప్రక్రియను వేగవంతం చేయడానికి చైనా నుండి ఆదేశించాము) మరియు భాగాల సమితి - ఒక రిలే (స్కూటర్ను ఆన్/ఆఫ్ చేయడానికి), ఒక బ్యాటరీ ఛార్జ్ రీడర్, ఒక మోడెమ్, యాంటెనాలు. ఇదంతా ఒక ప్రత్యేక “xRide బాక్స్”లో కాంపాక్ట్గా ప్యాక్ చేయబడింది.
మొత్తం పెట్టె అదనపు పవర్ బ్యాంక్ ద్వారా శక్తిని పొందిందని కూడా గమనించాలి, ఇది స్కూటర్ యొక్క ప్రధాన బ్యాటరీ ద్వారా శక్తిని పొందుతుంది.
ఇగ్నిషన్ కీని "ఆఫ్" స్థానానికి మార్చిన వెంటనే ప్రధాన బ్యాటరీ ఆపివేయబడినందున, పర్యటన ముగిసిన తర్వాత కూడా పర్యవేక్షణను ఉపయోగించడం మరియు స్కూటర్ను ఆన్ చేయడం ఇది సాధ్యపడింది.
డాకర్? సాదా Linux? మరియు విస్తరణ
మానిటరింగ్కి తిరిగి వెళ్దాం, కాబట్టి రాస్ప్బెర్రీ - మన దగ్గర ఏమి ఉంది?
భౌతిక పరికరాలకు భాగాలను అమర్చడం, నవీకరించడం మరియు డెలివరీ చేసే ప్రక్రియను వేగవంతం చేయడానికి మేము ఉపయోగించాలనుకున్న మొదటి వాటిలో ఒకటి డాకర్.
దురదృష్టవశాత్తూ, RPiలో డాకర్ పనిచేసినప్పటికీ, ముఖ్యంగా శక్తి వినియోగం విషయంలో చాలా ఓవర్హెడ్ని కలిగి ఉందని త్వరగా స్పష్టమైంది.
"స్థానిక" OSని ఉపయోగించే వ్యత్యాసం, అంత బలంగా లేనప్పటికీ, చాలా త్వరగా ఛార్జ్ కోల్పోయే అవకాశం గురించి జాగ్రత్తగా ఉండటానికి మాకు సరిపోతుంది.
రెండవ కారణం Node.js (sic!)లోని మా భాగస్వామి లైబ్రరీలలో ఒకటి - ఇది గో/సి/సి++లో వ్రాయబడని సిస్టమ్ యొక్క ఏకైక భాగం.
లైబ్రరీ రచయితలకు "స్థానిక" భాషలలో దేనిలోనైనా పని చేసే సంస్కరణను అందించడానికి సమయం లేదు.
తక్కువ-పనితీరు గల పరికరాల కోసం నోడ్ చాలా సొగసైన పరిష్కారం కాదు, కానీ లైబ్రరీ కూడా చాలా వనరుల-ఆకలితో ఉంది.
మేము కోరుకున్నప్పటికీ, డాకర్ని ఉపయోగించడం మాకు చాలా భారంగా ఉంటుందని మేము గ్రహించాము. స్థానిక OSకి అనుకూలంగా ఎంపిక చేయబడింది మరియు దాని క్రింద నేరుగా పని చేస్తుంది.
OS
ఫలితంగా, మేము మళ్ళీ, OS వలె సరళమైన ఎంపికను ఎంచుకున్నాము మరియు Raspbian (Pi కోసం డెబియన్ బిల్డ్) ఉపయోగించాము.
మేము మా సాఫ్ట్వేర్ మొత్తాన్ని గోలో వ్రాస్తాము, కాబట్టి మేము మా సిస్టమ్లోని ప్రధాన హార్డ్వేర్ ఏజెంట్ మాడ్యూల్ను కూడా గోలో వ్రాసాము.
GPS, బ్లూటూత్తో పని చేయడం, ఛార్జ్ చదవడం, స్కూటర్ ఆన్ చేయడం మొదలైన వాటికి అతను బాధ్యత వహిస్తాడు.
మోహరించేందుకు
పరికరాలకు (OTA) అప్డేట్లను బట్వాడా చేయడానికి ఒక మెకానిజంను అమలు చేయవలసిన అవసరం గురించి వెంటనే ప్రశ్న తలెత్తింది - మా ఏజెంట్/అప్లికేషన్కు నవీకరణలు మరియు OS/ఫర్మ్వేర్కు నవీకరణలు రెండూ (ఏజెంట్ యొక్క కొత్త సంస్కరణలకు కెర్నల్కు నవీకరణలు అవసరం కాబట్టి. లేదా సిస్టమ్ భాగాలు, లైబ్రరీలు మొదలైనవి) .
మార్కెట్ యొక్క సుదీర్ఘ విశ్లేషణ తర్వాత, పరికరానికి నవీకరణలను అందించడానికి చాలా పరిష్కారాలు ఉన్నాయని తేలింది.
సాపేక్షంగా సరళమైన, ఎక్కువగా swupd/SWUpdate/OSTree వంటి అప్డేట్/డ్యూయల్-బూట్ ఓరియెంటెడ్ యుటిలిటీల నుండి మెండర్ మరియు బాలెనా వంటి పూర్తి స్థాయి ప్లాట్ఫారమ్ల వరకు.
అన్నింటిలో మొదటిది, ఎండ్-టు-ఎండ్ సొల్యూషన్స్పై మాకు ఆసక్తి ఉందని మేము నిర్ణయించుకున్నాము, కాబట్టి ఎంపిక వెంటనే ప్లాట్ఫారమ్లపైకి వచ్చింది.
కూడా బాలెనా నిజానికి దాని balenaEngine లోపల అదే డాకర్ని ఉపయోగిస్తుంది అనే వాస్తవం కారణంగా మినహాయించబడింది.
ఇది ఉన్నప్పటికీ, మేము వారి ఉత్పత్తిని నిరంతరం ఉపయోగించడం ముగించామని నేను గమనించాను బాలెనా ఎచర్ SD కార్డ్లలో ఫ్లాష్ ఫర్మ్వేర్ కోసం - దీని కోసం సరళమైన మరియు అత్యంత అనుకూలమైన యుటిలిటీ.
అందువలన, చివరికి ఎంపిక పడింది మెండర్. మెండర్ అనేది ఫర్మ్వేర్ను అసెంబ్లింగ్ చేయడానికి, డెలివరీ చేయడానికి మరియు ఇన్స్టాల్ చేయడానికి పూర్తి వేదిక.
మొత్తంగా ప్లాట్ఫారమ్ చాలా బాగుంది, కానీ మెండర్ బిల్డర్ని ఉపయోగించి మా ఫర్మ్వేర్ యొక్క సరైన వెర్షన్ను రూపొందించడానికి మాకు దాదాపు వారంన్నర పట్టింది.
మరియు దాని ఉపయోగం యొక్క చిక్కులలో మనం ఎంతగా మునిగిపోతామో, దానిని పూర్తిగా అమలు చేయడానికి మనకు ఉన్నదానికంటే చాలా ఎక్కువ సమయం అవసరమని మరింత స్పష్టమైంది.
అయ్యో, మా కఠినమైన గడువులు అంటే మేము మెండర్ వాడకాన్ని వదిలివేసి మరింత సరళమైనదాన్ని ఎంచుకోవలసి వచ్చింది.
చేసాడు
మా పరిస్థితిలో సరళమైన పరిష్కారం అన్సిబుల్ని ఉపయోగించడం. ప్రారంభించడానికి రెండు ప్లేబుక్లు సరిపోతాయి.
వాటి సారాంశం ఏమిటంటే, మేము హోస్ట్ (CI సర్వర్) నుండి ssh ద్వారా మా రాస్బెర్రీలకు కనెక్ట్ అయ్యాము మరియు వాటికి నవీకరణలను పంపిణీ చేసాము.
చాలా ప్రారంభంలో, ప్రతిదీ సులభం - మీరు పరికరాలతో అదే నెట్వర్క్లో ఉండాలి, పోయడం Wi-Fi ద్వారా జరిగింది.
కార్యాలయంలో ఒకే నెట్వర్క్కు కనెక్ట్ చేయబడిన డజను పరీక్ష రాస్ప్బెర్రీస్ ఉన్నాయి, ప్రతి పరికరానికి స్టాటిక్ IP చిరునామా కూడా అన్సిబుల్ ఇన్వెంటరీలో పేర్కొనబడింది.
మా మానిటరింగ్ ఏజెంట్ను ఎండ్ డివైజ్లకు డెలివరీ చేసింది అన్సిబుల్
3G / LTE
దురదృష్టవశాత్తూ, మేము అసలు స్కూటర్లను కలిగి ఉండకముందే Ansible కోసం ఈ వినియోగ సందర్భం డెవలప్మెంట్ మోడ్లో మాత్రమే పని చేస్తుంది.
ఎందుకంటే స్కూటర్లు, మీరు అర్థం చేసుకున్నట్లుగా, ఒక Wi-Fi రూటర్కు కనెక్ట్ చేయబడవు, నెట్వర్క్ ద్వారా నిరంతరం నవీకరణల కోసం వేచి ఉన్నాయి.
వాస్తవానికి, స్కూటర్లు మొబైల్ 3G/LTE తప్ప ఎలాంటి కనెక్షన్ని కలిగి ఉండవు (మరియు అన్ని సమయాలలో కూడా కాదు).
ఇది తక్షణమే తక్కువ కనెక్షన్ వేగం మరియు అస్థిర కమ్యూనికేషన్ వంటి అనేక సమస్యలు మరియు పరిమితులను విధిస్తుంది.
కానీ చాలా ముఖ్యమైన విషయం ఏమిటంటే, 3G/LTE నెట్వర్క్లో మనం నెట్వర్క్కు కేటాయించిన స్టాటిక్ IPపై ఆధారపడలేము.
ఇది కొంతమంది SIM కార్డ్ ప్రొవైడర్లచే పాక్షికంగా పరిష్కరించబడుతుంది; స్టాటిక్ IP చిరునామాలతో IoT పరికరాల కోసం రూపొందించబడిన ప్రత్యేక SIM కార్డ్లు కూడా ఉన్నాయి. కానీ మేము అలాంటి SIM కార్డ్లకు ప్రాప్యతను కలిగి లేము మరియు IP చిరునామాలను ఉపయోగించలేకపోయాము.
వాస్తవానికి, కాన్సుల్ లాంటి చోట సర్వీస్ డిస్కవరీ లేదా IP చిరునామాలను నమోదు చేయాలనే ఆలోచనలు ఉన్నాయి, కానీ మేము అలాంటి ఆలోచనలను వదిలివేయవలసి వచ్చింది, ఎందుకంటే మా పరీక్షలలో IP చిరునామా చాలా తరచుగా మారవచ్చు, ఇది గొప్ప అస్థిరతకు దారితీసింది.
ఈ కారణంగా, మెట్రిక్లను అందించడానికి అత్యంత అనుకూలమైన ఉపయోగం పుల్ మోడల్ను ఉపయోగించడం కాదు, ఇక్కడ మేము అవసరమైన కొలమానాల కోసం పరికరాలకు వెళ్తాము, కానీ నెట్వర్క్లను పరికరం నుండి నేరుగా సర్వర్కు పంపిణీ చేస్తాము.
VPN
ఈ సమస్యకు పరిష్కారంగా, మేము ప్రత్యేకంగా VPNని ఎంచుకున్నాము వైర్గార్డ్.
సిస్టమ్ ప్రారంభంలో క్లయింట్లు (స్కూటర్లు) VPN సర్వర్కు కనెక్ట్ చేయబడి, వాటికి కనెక్ట్ చేయగలిగారు. నవీకరణలను అందించడానికి ఈ సొరంగం ఉపయోగించబడింది.
సిద్ధాంతంలో, అదే సొరంగం పర్యవేక్షణ కోసం ఉపయోగించబడుతుంది, అయితే అటువంటి కనెక్షన్ సాధారణ పుష్ కంటే చాలా క్లిష్టంగా మరియు తక్కువ విశ్వసనీయమైనది.
క్లౌడ్ వనరులు
చివరగా, మా క్లౌడ్ సేవలు మరియు డేటాబేస్లను పర్యవేక్షించడం అవసరం, ఎందుకంటే మేము వాటి కోసం కుబెర్నెట్లను ఉపయోగిస్తాము, తద్వారా క్లస్టర్లో పర్యవేక్షణను అమలు చేయడం సాధ్యమైనంత సులభం. ఆదర్శవంతంగా, ఉపయోగించడం హెల్మ్, విస్తరణ కోసం, మేము దీన్ని చాలా సందర్భాలలో ఉపయోగిస్తాము. మరియు, వాస్తవానికి, క్లౌడ్ను పర్యవేక్షించడానికి మీరు స్కూటర్ల కోసం అదే పరిష్కారాలను ఉపయోగించాలి.
ఇచ్చిన
ఓహ్, మేము వివరణను క్రమబద్ధీకరించినట్లు అనిపిస్తుంది, చివరికి మనకు అవసరమైన వాటి జాబితాను తయారు చేద్దాం:
అభివృద్ధి ప్రక్రియలో ఇప్పటికే పర్యవేక్షణ అవసరం కాబట్టి త్వరిత పరిష్కారం
వాల్యూమ్/పరిమాణం - అనేక కొలమానాలు అవసరం
లాగ్ సేకరణ అవసరం
విశ్వసనీయత - విజయాన్ని ప్రారంభించడానికి డేటా కీలకం
మీరు పుల్ మోడల్ని ఉపయోగించలేరు - మీకు పుష్ అవసరం
మాకు హార్డ్వేర్ మాత్రమే కాదు, క్లౌడ్ కూడా ఏకీకృత పర్యవేక్షణ అవసరం
చివరి చిత్రం ఇలా ఉంది
స్టాక్ ఎంపిక
కాబట్టి, మేము మానిటరింగ్ స్టాక్ను ఎంచుకునే ప్రశ్నను ఎదుర్కొన్నాము.
అన్నింటిలో మొదటిది, మా అవసరాలన్నింటినీ ఏకకాలంలో కవర్ చేసే అత్యంత పూర్తి ఆల్ ఇన్ వన్ సొల్యూషన్ కోసం మేము వెతుకుతున్నాము, కానీ అదే సమయంలో మా అవసరాలకు అనుగుణంగా దాని వినియోగాన్ని సరిచేసుకోవడానికి తగినంతగా అనువైనది. అయినప్పటికీ, హార్డ్వేర్, ఆర్కిటెక్చర్ మరియు గడువుల ద్వారా మాపై చాలా పరిమితులు విధించబడ్డాయి.
వంటి పూర్తి స్థాయి వ్యవస్థలతో ప్రారంభించి భారీ రకాల పర్యవేక్షణ పరిష్కారాలు ఉన్నాయి Nagios, icinga లేదా zabbix మరియు ఫ్లీట్ నిర్వహణ కోసం రెడీమేడ్ సొల్యూషన్స్తో ముగుస్తుంది.
ప్రారంభంలో, రెండోది మాకు ఆదర్శవంతమైన పరిష్కారంగా అనిపించింది, కానీ కొందరికి పూర్తి పర్యవేక్షణ లేదు, మరికొందరు ఉచిత సంస్కరణల యొక్క పరిమిత సామర్థ్యాలను కలిగి ఉన్నారు మరియు మరికొందరు మా "కోరికలను" కవర్ చేయలేదు లేదా మా దృశ్యాలకు సరిపోయేంత అనువైనది కాదు. కొన్ని కేవలం పాతవి.
అనేక సారూప్య పరిష్కారాలను విశ్లేషించిన తర్వాత, ఇదే విధమైన స్టాక్ను స్వయంగా సమీకరించడం సులభం మరియు వేగంగా ఉంటుందని మేము త్వరగా నిర్ణయానికి వచ్చాము. అవును, ఇది పూర్తిగా రెడీమేడ్ ఫ్లీట్ మేనేజ్మెంట్ ప్లాట్ఫారమ్ను అమలు చేయడం కంటే కొంచెం క్లిష్టంగా ఉంటుంది, కానీ మేము రాజీ పడాల్సిన అవసరం లేదు.
దాదాపు ఖచ్చితంగా, సమృద్ధిగా ఉన్న అన్ని పరిష్కారాలలో, మనకు పూర్తిగా సరిపోయే ఒక రెడీమేడ్ ఇప్పటికే ఉంది, కానీ మా విషయంలో ఒక నిర్దిష్ట స్టాక్ను మన స్వంతంగా సమీకరించడం మరియు దానిని “మన కోసం” అనుకూలీకరించడం చాలా వేగంగా జరిగింది. రెడీమేడ్ ఉత్పత్తులను పరీక్షించడం.
వీటన్నింటితో, మేము మొత్తం మానిటరింగ్ ప్లాట్ఫారమ్ను స్వయంగా సమీకరించడానికి ప్రయత్నించలేదు, కానీ చాలా ఫంక్షనల్ “రెడీమేడ్” స్టాక్ల కోసం చూస్తున్నాము, వాటిని సరళంగా కాన్ఫిగర్ చేసే సామర్థ్యంతో మాత్రమే.
(బి) ELK?
నిజానికి పరిగణించబడిన మొదటి పరిష్కారం బాగా తెలిసిన ELK స్టాక్. వాస్తవానికి, దీనిని BELK అని పిలవాలి, ఎందుకంటే ఇది బీట్స్తో ప్రారంభమవుతుంది - https://www.elastic.co/what-is/elk-stack
వాస్తవానికి, ELK అనేది పర్యవేక్షణ రంగంలో అత్యంత ప్రసిద్ధ మరియు శక్తివంతమైన పరిష్కారాలలో ఒకటి మరియు లాగ్లను సేకరించడం మరియు ప్రాసెస్ చేయడంలో మరింత ఎక్కువగా ఉంటుంది.
లాగ్లను సేకరించడానికి మరియు ప్రోమేతియస్ నుండి పొందిన కొలమానాల దీర్ఘకాలిక నిల్వ కోసం ELK ఉపయోగించబడుతుందని మేము ఉద్దేశించాము.
విజువలైజేషన్ కోసం మీరు గ్రాఫాన్ని ఉపయోగించవచ్చు.
వాస్తవానికి, కొత్త ELK స్టాక్ స్వతంత్రంగా కొలమానాలను సేకరించగలదు (మెట్రిక్బీట్), మరియు కిబానా కూడా వాటిని ప్రదర్శించగలదు.
కానీ ఇప్పటికీ, ELK ప్రారంభంలో లాగ్ల నుండి పెరిగింది మరియు ఇప్పటివరకు కొలమానాల కార్యాచరణ అనేక తీవ్రమైన లోపాలను కలిగి ఉంది:
ప్రోమేతియస్ కంటే గణనీయంగా నెమ్మదిగా
ప్రోమేతియస్ కంటే చాలా తక్కువ ప్రదేశాలలో కలిసిపోతుంది
వారికి అలర్ట్లను సెటప్ చేయడం కష్టం
మెట్రిక్లు చాలా స్థలాన్ని తీసుకుంటాయి
కిబాన్లో మెట్రిక్లతో డాష్బోర్డ్లను సెటప్ చేయడం గ్రాఫాన్లో కంటే చాలా క్లిష్టంగా ఉంటుంది
సాధారణంగా, ELKలోని కొలమానాలు భారీగా ఉంటాయి మరియు ఇతర పరిష్కారాలలో వలె ఇంకా సౌకర్యవంతంగా లేవు, వీటిలో ఇప్పుడు ప్రోమేథియస్ కంటే చాలా ఎక్కువ ఉన్నాయి: TSDB, విక్టోరియా మెట్రిక్స్, కార్టెక్స్, మొదలైనవి. అయితే, నేను వెంటనే పూర్తి స్థాయి ఆల్ ఇన్ వన్ పరిష్కారాన్ని పొందాలనుకుంటున్నాను, కానీ మెట్రిక్బీట్ విషయంలో చాలా రాజీలు ఉన్నాయి.
మరియు ELK స్టాక్ అనేక కష్టమైన క్షణాలను కలిగి ఉంది:
మీరు చాలా పెద్ద మొత్తంలో డేటాను సేకరిస్తే అది భారీగా ఉంటుంది, కొన్నిసార్లు చాలా భారీగా ఉంటుంది
మీరు దీన్ని “వండడం ఎలాగో తెలుసుకోవాలి” - మీరు దీన్ని స్కేల్ చేయాలి, కానీ దీన్ని చేయడం చిన్నవిషయం కాదు.
తొలగించబడిన ఉచిత సంస్కరణ - ఉచిత సంస్కరణకు సాధారణ హెచ్చరిక లేదు మరియు ఎంపిక సమయంలో ప్రమాణీకరణ లేదు
ఇటీవల చివరి పాయింట్ మెరుగ్గా మరియు అదనంగా మారిందని నేను చెప్పాలి ఓపెన్ సోర్స్ ఎక్స్-ప్యాక్లో అవుట్పుట్ (ప్రామాణీకరణతో సహా) ధర నమూనా కూడా మారడం ప్రారంభించింది.
కానీ మేము ఈ పరిష్కారాన్ని అమలు చేయబోతున్న సమయంలో, ఎటువంటి హెచ్చరిక లేదు.
బహుశా మేము ElastAlert లేదా ఇతర కమ్యూనిటీ పరిష్కారాలను ఉపయోగించి ఏదైనా నిర్మించడానికి ప్రయత్నించి ఉండవచ్చు, కానీ మేము ఇంకా ఇతర ప్రత్యామ్నాయాలను పరిగణించాలని నిర్ణయించుకున్నాము.
లోకి - గ్రాఫానా - ప్రోమేతియస్
ప్రస్తుతానికి, మెట్రిక్స్ ప్రొవైడర్గా ప్రోమేతియస్, లాగ్ల కోసం Loki, మరియు విజువలైజేషన్ కోసం మీరు అదే గ్రాఫానాను ఉపయోగించవచ్చు.
దురదృష్టవశాత్తూ, ప్రాజెక్ట్ యొక్క సేల్స్ పైలట్ ప్రారంభమయ్యే సమయంలో (సెప్టెంబర్-అక్టోబర్ 19), Loki ఇప్పటికీ బీటా వెర్షన్ 0.3-0.4లో ఉంది మరియు అభివృద్ధి ప్రారంభ సమయంలో దీనిని ఉత్పత్తి పరిష్కారంగా పరిగణించలేము. అన్ని వద్ద.
నిజానికి తీవ్రమైన ప్రాజెక్ట్లలో Lokiని ఉపయోగించడంలో నాకు ఇంకా అనుభవం లేదు, కానీ కుబెర్నెట్స్లోని బేర్-మెటల్ మరియు పాడ్స్ రెండింటికీ Promtail (లాగ్లను సేకరించే ఏజెంట్) అద్భుతంగా పనిచేస్తుందని నేను చెప్పగలను.
టిక్
ELK స్టాక్కు అత్యంత విలువైన (ఏకైక?) పూర్తి-ఫీచర్ ఉన్న ప్రత్యామ్నాయాన్ని ఇప్పుడు TICK స్టాక్ అని మాత్రమే పిలువవచ్చు - Telegraf, InfluxDB, Chronograf, Kapacitor.
నేను దిగువ అన్ని భాగాలను మరింత వివరంగా వివరిస్తాను, కానీ సాధారణ ఆలోచన ఇది:
టెలిగ్రాఫ్ - కొలమానాలను సేకరించే ఏజెంట్
InfluxDB - మెట్రిక్స్ డేటాబేస్
కెపాసిటర్ - హెచ్చరిక కోసం రియల్ టైమ్ మెట్రిక్స్ ప్రాసెసర్
క్రోనోగ్రాఫ్ - విజువలైజేషన్ కోసం వెబ్ ప్యానెల్
InfluxDB, Kapacitor మరియు Chronograf కోసం మేము వాటిని అమలు చేయడానికి ఉపయోగించే అధికారిక హెల్మ్ చార్ట్లు ఉన్నాయి.
ఇన్ఫ్లక్స్ 2.0 (బీటా) యొక్క తాజా వెర్షన్లో, కపాసిటర్ మరియు క్రోనోగ్రాఫ్ ఇన్ఫ్లక్స్డిబిలో భాగమయ్యాయి మరియు ఇకపై విడివిడిగా ఉనికిలో లేవని గమనించాలి.
టెలిగ్రాఫ్
టెలిగ్రాఫ్ స్టేట్ మెషీన్లో మెట్రిక్లను సేకరించడానికి చాలా తేలికైన ఏజెంట్.
అతను ప్రతిదీ యొక్క భారీ మొత్తాన్ని పర్యవేక్షించగలడు వికీపీడియా కు
సర్వర్ Minecraft.
ఇది అనేక చల్లని ప్రయోజనాలను కలిగి ఉంది:
వేగవంతమైన మరియు తేలికైన (గోలో వ్రాయబడింది)
కనీస మొత్తంలో వనరులను తింటుంది
డిఫాల్ట్గా కొలమానాలను పుష్ చేయండి
అవసరమైన అన్ని కొలమానాలను సేకరిస్తుంది
ఎలాంటి సెట్టింగ్లు లేకుండా సిస్టమ్ మెట్రిక్లు
సెన్సార్ల నుండి సమాచారం వంటి హార్డ్వేర్ కొలమానాలు
మీ స్వంత కొలమానాలను జోడించడం చాలా సులభం
పెట్టె వెలుపల చాలా ప్లగిన్లు ఉన్నాయి
లాగ్లను సేకరిస్తుంది
పుష్ మెట్రిక్లు మాకు అవసరం కాబట్టి, అన్ని ఇతర ప్రయోజనాలు ఆహ్లాదకరమైన జోడింపుల కంటే ఎక్కువగా ఉన్నాయి.
లాగ్లను లాగింగ్ చేయడానికి అదనపు యుటిలిటీలను కనెక్ట్ చేయవలసిన అవసరం లేనందున, ఏజెంట్ ద్వారా లాగ్ల సేకరణ కూడా చాలా సౌకర్యవంతంగా ఉంటుంది.
మీరు ఉపయోగిస్తే లాగ్లతో పని చేయడానికి ఇన్ఫ్లక్స్ అత్యంత అనుకూలమైన అనుభవాన్ని అందిస్తుంది సిస్లాగ్.
మీరు మిగిలిన ICK స్టాక్ను ఉపయోగించకపోయినా, సాధారణంగా కొలమానాలను సేకరించడానికి Telegraf ఒక గొప్ప ఏజెంట్.
చాలా మంది వ్యక్తులు ELK మరియు సౌలభ్యం కోసం అనేక ఇతర సమయ-శ్రేణి డేటాబేస్లతో క్రాస్ చేస్తారు, ఎందుకంటే ఇది దాదాపు ఎక్కడైనా మెట్రిక్లను వ్రాయగలదు.
InfluxDB
ఇన్ఫ్లక్స్డిబి అనేది TICK స్టాక్కు ప్రధాన కేంద్రం, అవి కొలమానాల కోసం టైమ్-సిరీస్ డేటాబేస్.
మెట్రిక్లతో పాటు, ఇన్ఫ్లక్స్ లాగ్లను కూడా నిల్వ చేయగలదు, అయినప్పటికీ, సారాంశంలో, దాని కోసం లాగ్లు కేవలం ఒకే కొలమానాలు, సాధారణ సంఖ్యా సూచికలకు బదులుగా, ప్రధాన విధి లాగ్ టెక్స్ట్ యొక్క లైన్ ద్వారా నిర్వహించబడుతుంది.
InfluxDB కూడా Goలో వ్రాయబడింది మరియు మా (అత్యంత శక్తివంతమైనది కాదు) క్లస్టర్లో ELKతో పోలిస్తే చాలా వేగంగా పని చేస్తుంది.
ఇన్ఫ్లక్స్ యొక్క అద్భుతమైన ప్రయోజనాల్లో ఒకటి డేటా క్వెరీల కోసం చాలా అనుకూలమైన మరియు రిచ్ APIని కలిగి ఉంటుంది, దీనిని మేము చాలా చురుకుగా ఉపయోగించాము.
ప్రతికూలతలు - $$$ లేదా స్కేలింగ్?
TICK స్టాక్లో మేము కనుగొన్న ఒక లోపం మాత్రమే ఉంది - అది ప్రియమైన. ఇంకా ఎక్కువ.
ఉచిత సంస్కరణలో లేని చెల్లింపు సంస్కరణలో ఏమి ఉంది?
మేము అర్థం చేసుకోగలిగినంత వరకు, TICK స్టాక్ యొక్క చెల్లింపు వెర్షన్ మరియు ఉచితమైన వాటి మధ్య ఉన్న ఏకైక వ్యత్యాసం స్కేలింగ్ సామర్థ్యాలు.
మీకు పూర్తి స్థాయి HA కావాలంటే, మీరు చెల్లించాలి లేదా కొన్ని క్రచెస్ ఉపయోగించాలి. కొన్ని కమ్యూనిటీ పరిష్కారాలు ఉన్నాయి - ఉదాహరణకు influxdb-ha సమర్ధవంతమైన పరిష్కారం వలె కనిపిస్తుంది, కానీ అది ఉత్పత్తికి తగినది కాదని వ్రాయబడింది, అలాగే ప్రవాహం-చిమ్ము - NATS ద్వారా డేటా పంపింగ్తో ఒక సాధారణ పరిష్కారం (ఇది కూడా స్కేల్ చేయబడాలి, కానీ దీనిని పరిష్కరించవచ్చు).
ఇది జాలిగా ఉంది, కానీ వారిద్దరూ విడిచిపెట్టినట్లు అనిపిస్తుంది - తాజా కమిట్లు లేవు, ఇన్ఫ్లక్స్ 2.0 యొక్క కొత్త వెర్షన్ యొక్క త్వరలో ఆశించిన విడుదల సమస్య అని నేను అనుకుంటాను, ఇందులో చాలా విషయాలు భిన్నంగా ఉంటాయి (దాని గురించి సమాచారం లేదు. ఇంకా దానిలో స్కేలింగ్).
అధికారికంగా ఉచిత వెర్షన్ ఉంది రిలే - నిజానికి, ఇది ఒక ఆదిమ HA, కానీ బ్యాలెన్సింగ్ ద్వారా మాత్రమే,
లోడ్ బ్యాలెన్సర్ వెనుక ఉన్న అన్ని ఇన్ఫ్లక్స్డిబి ఉదంతాలకు మొత్తం డేటా వ్రాయబడుతుంది కాబట్టి.
అతనికి కొన్ని ఉన్నాయి లోపాలను ఓవర్రైటింగ్ పాయింట్లతో సంభావ్య సమస్యలు మరియు మెట్రిక్ల కోసం ముందుగానే బేస్లను సృష్టించాల్సిన అవసరం వంటివి
(ఇది InfluxDBతో సాధారణ పని సమయంలో స్వయంచాలకంగా జరుగుతుంది).
అదనంగా, భాగస్వామ్యానికి మద్దతు లేదు, దీనర్థం మీకు అవసరం లేని డూప్లికేట్ మెట్రిక్ల (ప్రాసెసింగ్ మరియు స్టోరేజ్ రెండూ) కోసం అదనపు ఓవర్హెడ్, కానీ వాటిని వేరు చేయడానికి మార్గం లేదు.
విక్టోరియా మెట్రిక్స్?
ఫలితంగా, మేము చెల్లింపు స్కేలింగ్ కాకుండా మిగతా అన్నిటిలో TICK స్టాక్తో పూర్తిగా సంతృప్తి చెందినప్పటికీ, మిగిలిన T_CK భాగాలను వదిలివేసేటప్పుడు InfluxDB డేటాబేస్ను భర్తీ చేయగల ఉచిత పరిష్కారాలు ఏమైనా ఉన్నాయా అని చూడాలని మేము నిర్ణయించుకున్నాము.
సమయ శ్రేణి డేటాబేస్లు చాలా ఉన్నాయి, కానీ చాలా ఆశాజనకంగా ఉంది విక్టోరియా మెట్రిక్స్, దీనికి అనేక ప్రయోజనాలు ఉన్నాయి:
క్లస్టర్ వెర్షన్ ఉంది, దాని గురించి ఇప్పుడు మంచి సమీక్షలు కూడా ఉన్నాయి
ఆమె ముక్కలు చేయగలదు
InfluxDB ప్రోటోకాల్కు మద్దతు ఇస్తుంది
మేము విక్టోరియా ఆధారంగా పూర్తిగా కస్టమ్ స్టాక్ను రూపొందించాలని అనుకోలేదు మరియు ఇన్ఫ్లక్స్డిబికి డ్రాప్-ఇన్ రీప్లేస్మెంట్గా మేము దీనిని ఉపయోగించవచ్చనేది ప్రధాన ఆశ.
దురదృష్టవశాత్తూ, InfluxDB ప్రోటోకాల్కు మద్దతు ఉన్నప్పటికీ, ఇది సాధ్యం కాదు, ఇది కొలమానాలను రికార్డ్ చేయడానికి మాత్రమే పని చేస్తుంది - Prometheus API మాత్రమే “బయట” అందుబాటులో ఉంది, అంటే దానిపై క్రోనోగ్రాఫ్ను సెట్ చేయడం సాధ్యం కాదు.
అంతేకాకుండా, కొలమానాలకు సంఖ్యా విలువలు మాత్రమే మద్దతివ్వబడతాయి (మేము కస్టమ్ మెట్రిక్ల కోసం స్ట్రింగ్ విలువలను ఉపయోగించాము - విభాగంలో మరింత నిర్వాహక ప్రాంతం).
సహజంగానే, అదే కారణంతో, ఇన్ఫ్లక్స్ వంటి లాగ్లను VM నిల్వ చేయదు.
అలాగే, సరైన పరిష్కారం కోసం శోధించే సమయంలో, విక్టోరియా మెట్రిక్స్ ఇంకా ప్రజాదరణ పొందలేదని, డాక్యుమెంటేషన్ చాలా తక్కువగా ఉందని మరియు కార్యాచరణ బలహీనంగా ఉందని గమనించాలి.
(క్లస్టర్ వెర్షన్ మరియు షార్డింగ్ యొక్క వివరణాత్మక వివరణ నాకు గుర్తులేదు).
బేస్ ఎంపిక
ఫలితంగా, పైలట్ కోసం మేము ఇప్పటికీ ఒకే ఇన్ఫ్లక్స్డిబి నోడ్కు పరిమితం చేయాలని నిర్ణయించారు.
ఈ ఎంపికకు అనేక ప్రధాన కారణాలు ఉన్నాయి:
మేము TICK స్టాక్ యొక్క మొత్తం కార్యాచరణను నిజంగా ఇష్టపడ్డాము
మేము ఇప్పటికే దీన్ని అమలు చేయగలిగాము మరియు ఇది గొప్పగా పనిచేసింది
గడువు ముగిసింది మరియు ఇతర ఎంపికలను పరీక్షించడానికి ఎక్కువ సమయం లేదు.
ఇంత భారం వస్తుందని మేము ఊహించలేదు
మొదటి దశ పైలట్ కోసం మా వద్ద చాలా స్కూటర్లు లేవు మరియు డెవలప్మెంట్ సమయంలో టెస్టింగ్ చేయడం వల్ల పనితీరు సమస్యలు ఏవీ బహిర్గతం కాలేదు.
అందువల్ల, ఈ ప్రాజెక్ట్ కోసం స్కేలింగ్ అవసరం లేకుండా మాకు ఒక ఇన్ఫ్లక్స్ నోడ్ సరిపోతుందని మేము నిర్ణయించుకున్నాము (చివరిలో ముగింపులను చూడండి).
మేము స్టాక్ మరియు బేస్పై నిర్ణయించుకున్నాము - ఇప్పుడు TICK స్టాక్లోని మిగిలిన భాగాల గురించి.
కెపాసిటర్
Kapacitor అనేది TICK స్టాక్లో భాగం, ఇది డేటాబేస్లోకి ప్రవేశించే కొలమానాలను నిజ సమయంలో పర్యవేక్షించగలదు మరియు నియమాల ఆధారంగా వివిధ చర్యలను చేయగలదు.
సాధారణంగా, ఇది సంభావ్య క్రమరాహిత్యం ట్రాకింగ్ మరియు మెషిన్ లెర్నింగ్ కోసం ఒక సాధనంగా ఉంచబడింది (ఈ ఫంక్షన్లకు డిమాండ్ ఉందని నాకు ఖచ్చితంగా తెలియదు), కానీ దాని ఉపయోగం యొక్క అత్యంత ప్రజాదరణ పొందిన సందర్భం సర్వసాధారణం - హెచ్చరిక.
మేము నోటిఫికేషన్ల కోసం దీన్ని ఎలా ఉపయోగించాము. నిర్దిష్ట స్కూటర్ ఆఫ్లైన్కు వెళ్లినప్పుడు మేము స్లాక్ అలర్ట్లను సెటప్ చేస్తాము మరియు స్మార్ట్ ఛార్జర్లు మరియు ముఖ్యమైన ఇన్ఫ్రాస్ట్రక్చర్ కాంపోనెంట్ల కోసం అదే విధంగా సెటప్ చేస్తాము.
ఇది సమస్యలకు త్వరగా స్పందించడం, అలాగే ప్రతిదీ సాధారణ స్థితికి చేరుకున్నట్లు నోటిఫికేషన్లను స్వీకరించడం సాధ్యపడింది.
ఒక సాధారణ ఉదాహరణ: మా “పెట్టె”కు శక్తినిచ్చే అదనపు బ్యాటరీ విచ్ఛిన్నమైంది లేదా కొన్ని కారణాల వల్ల పవర్ అయిపోయింది; కొత్తదాన్ని ఇన్స్టాల్ చేయడం ద్వారా, కొంత సమయం తర్వాత స్కూటర్ యొక్క కార్యాచరణ పునరుద్ధరించబడిందని మేము నోటిఫికేషన్ను అందుకుంటాము.
ఇన్ఫ్లక్స్ 2.0లో కెపాసిటర్ DBలో భాగమైంది
క్రోనోగ్రాఫ్
నేను మానిటరింగ్ కోసం అనేక విభిన్న UI సొల్యూషన్లను చూశాను, కానీ ఫంక్షనాలిటీ మరియు UX పరంగా, క్రోనోగ్రాఫ్తో ఏదీ పోల్చలేదని నేను చెప్పగలను.
మేము టిక్ స్టాక్ను ఉపయోగించడం ప్రారంభించాము, విచిత్రమేమిటంటే, గ్రాఫాన్తో వెబ్ ఇంటర్ఫేస్గా.
నేను దాని కార్యాచరణను వివరించను; ఏదైనా అనుకూలీకరించడానికి దాని విస్తృత అవకాశాలను అందరికీ తెలుసు.
అయినప్పటికీ, గ్రాఫానా ఇప్పటికీ పూర్తిగా సార్వత్రిక పరికరం, అయితే క్రోనోగ్రాఫ్ ప్రధానంగా ఇన్ఫ్లక్స్తో ఉపయోగం కోసం రూపొందించబడింది.
మరియు వాస్తవానికి, దీనికి ధన్యవాదాలు, క్రోనోగ్రాఫ్ మరింత తెలివైన లేదా అనుకూలమైన కార్యాచరణను కొనుగోలు చేయగలదు.
క్రోనోగ్రాఫ్తో పని చేయడంలో ఉన్న ప్రధాన సౌలభ్యం ఏమిటంటే, మీరు మీ ఇన్ఫ్లక్స్డిబిని ఎక్స్ప్లోర్ ద్వారా వీక్షించవచ్చు.
గ్రాఫానా దాదాపు ఒకే విధమైన కార్యాచరణను కలిగి ఉన్నట్లు అనిపిస్తుంది, అయితే వాస్తవానికి, క్రోనోగ్రాఫ్లో డాష్బోర్డ్ను సెటప్ చేయడం కొన్ని మౌస్ క్లిక్లతో చేయవచ్చు (అక్కడ విజువలైజేషన్ను చూస్తున్నప్పుడు), గ్రాఫానాలో మీరు ఇంకా త్వరగా లేదా తరువాత సవరించవలసి ఉంటుంది JSON కాన్ఫిగరేషన్ (వాస్తవానికి క్రోనోగ్రాఫ్ మీ చేతితో కాన్ఫిగర్ చేసిన దశలను అప్లోడ్ చేయడానికి మరియు అవసరమైతే వాటిని JSONగా సవరించడానికి అనుమతిస్తుంది - కానీ నేను వాటిని UIలో సృష్టించిన తర్వాత వాటిని తాకాల్సిన అవసరం లేదు).
కిబానా వాటి కోసం డాష్బోర్డ్లు మరియు నియంత్రణలను రూపొందించడానికి చాలా గొప్ప సామర్థ్యాలను కలిగి ఉంది, అయితే అలాంటి ఆపరేషన్ల కోసం UX చాలా క్లిష్టంగా ఉంటుంది.
అనుకూలమైన డాష్బోర్డ్ను రూపొందించడానికి కొంత మంచి అవగాహన అవసరం. మరియు క్రోనోగ్రాఫ్ డ్యాష్బోర్డ్ల కార్యాచరణ తక్కువగా ఉన్నప్పటికీ, వాటిని తయారు చేయడం మరియు అనుకూలీకరించడం చాలా సులభం.
డ్యాష్బోర్డ్లు, ఆహ్లాదకరమైన విజువల్ స్టైల్ కాకుండా, వాస్తవానికి గ్రాఫానా లేదా కిబానాలోని డ్యాష్బోర్డ్ల నుండి భిన్నంగా లేవు:
ప్రశ్న విండో ఇలా కనిపిస్తుంది:
ఇతర విషయాలతోపాటు, ఇన్ఫ్లక్స్డిబి డేటాబేస్లోని ఫీల్డ్ల రకాలను తెలుసుకోవడం, క్రోనోగ్రాఫ్ స్వయంగా ప్రశ్నను వ్రాయడంలో లేదా సగటు వంటి సరైన అగ్రిగేషన్ ఫంక్షన్ను ఎంచుకోవడంలో కొన్నిసార్లు స్వయంచాలకంగా మీకు సహాయపడుతుందని గమనించడం ముఖ్యం.
మరియు వాస్తవానికి, లాగ్లను వీక్షించడానికి క్రోనోగ్రాఫ్ సాధ్యమైనంత సౌకర్యవంతంగా ఉంటుంది. ఇది ఇలా కనిపిస్తుంది:
డిఫాల్ట్గా, ఇన్ఫ్లక్స్ లాగ్లు సిస్లాగ్ని ఉపయోగించేందుకు రూపొందించబడ్డాయి మరియు అందువల్ల వాటికి ముఖ్యమైన పరామితి ఉంటుంది - తీవ్రత.
ఎగువన ఉన్న గ్రాఫ్ ముఖ్యంగా ఉపయోగకరంగా ఉంటుంది; దానిపై మీరు సంభవించే లోపాలను చూడవచ్చు మరియు తీవ్రత ఎక్కువగా ఉంటే రంగు వెంటనే స్పష్టంగా చూపిస్తుంది.
రెండు సార్లు మేము ఈ విధంగా ముఖ్యమైన బగ్లను పట్టుకున్నాము, గత వారం లాగ్లను వీక్షించడానికి వెళుతున్నాము మరియు ఎరుపు రంగు స్పైక్ని చూశాము.
వాస్తవానికి, అటువంటి లోపాల కోసం హెచ్చరికలను సెటప్ చేయడం ఆదర్శంగా ఉంటుంది, ఎందుకంటే దీని కోసం మేము ఇప్పటికే ప్రతిదీ కలిగి ఉన్నాము.
మేము దీన్ని కొంతకాలం ఆన్ చేసాము, కాని పైలట్ను సిద్ధం చేసే ప్రక్రియలో మేము చాలా లోపాలు (LTE నెట్వర్క్ అందుబాటులో లేకపోవడం వంటి సిస్టమ్ వాటితో సహా) పొందుతున్నామని తేలింది, ఇది స్లాక్ ఛానెల్ను కూడా “స్పామ్” చేసింది. చాలా, ఎటువంటి సమస్యలు లేకుండా. గొప్ప ప్రయోజనం.
ఈ రకమైన లోపాలను చాలా వరకు నిర్వహించడం, వాటి తీవ్రతను సర్దుబాటు చేయడం, ఆపై మాత్రమే హెచ్చరికను ప్రారంభించడం సరైన పరిష్కారం.
ఈ విధంగా, కొత్త లేదా ముఖ్యమైన లోపాలు మాత్రమే స్లాక్కి పోస్ట్ చేయబడతాయి. కఠినమైన గడువులు ఇచ్చినందున అటువంటి సెటప్ కోసం తగినంత సమయం లేదు.
ప్రమాణీకరణ
క్రోనోగ్రాఫ్ OAuth మరియు OIDCకి ప్రామాణీకరణగా మద్దతు ఇస్తుందని కూడా పేర్కొనాలి.
ఇది చాలా సౌకర్యవంతంగా ఉంటుంది, ఇది మీ సర్వర్కు సులభంగా జోడించడానికి మరియు పూర్తి స్థాయి SSOని సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది.
మా విషయంలో, సర్వర్ ఉంది కీలాక్ — ఇది పర్యవేక్షణకు కనెక్ట్ చేయడానికి ఉపయోగించబడింది, అయితే అదే సర్వర్ స్కూటర్లను మరియు బ్యాక్ ఎండ్కు అభ్యర్థనలను ప్రామాణీకరించడానికి కూడా ఉపయోగించబడింది.
"అడ్మిన్"
Vueలో మా స్వీయ-వ్రాతపూర్వక "అడ్మిన్ ప్యానెల్" గురించి నేను వివరించే చివరి భాగం.
ప్రాథమికంగా ఇది మా స్వంత డేటాబేస్లు, మైక్రోసర్వీస్లు మరియు ఇన్ఫ్లక్స్డిబి నుండి మెట్రిక్స్ డేటా నుండి స్కూటర్ సమాచారాన్ని ఏకకాలంలో ప్రదర్శించే ఒక స్వతంత్ర సేవ.
అదనంగా, సహాయక బృందం కోసం అత్యవసర రీబూట్ లేదా రిమోట్గా లాక్ని తెరవడం వంటి అనేక అడ్మినిస్ట్రేటివ్ ఫంక్షన్లు అక్కడికి తరలించబడ్డాయి.
పటాలు కూడా ఉండేవి. మేము క్రోనోగ్రాఫ్కు బదులుగా గ్రాఫానాతో ప్రారంభించామని నేను ఇప్పటికే పేర్కొన్నాను - ఎందుకంటే గ్రాఫానా మ్యాప్లు ప్లగిన్ల రూపంలో అందుబాటులో ఉన్నాయి, దానిపై మేము స్కూటర్ల కోఆర్డినేట్లను చూడవచ్చు. దురదృష్టవశాత్తు, గ్రాఫానా కోసం మ్యాప్ విడ్జెట్ల సామర్థ్యాలు చాలా పరిమితంగా ఉన్నాయి మరియు ఫలితంగా, ప్రస్తుతానికి కోఆర్డినేట్లను చూడటమే కాకుండా ప్రదర్శించడానికి కొన్ని రోజుల్లో మ్యాప్లతో మీ స్వంత వెబ్ అప్లికేషన్ను వ్రాయడం చాలా సులభం. స్కూటర్ తీసుకున్న మార్గం, మ్యాప్లోని డేటాను ఫిల్టర్ చేయగలదు, మొదలైనవి (మేము సాధారణ డాష్బోర్డ్లో కాన్ఫిగర్ చేయలేని అన్ని కార్యాచరణలు).
ఇన్ఫ్లక్స్ యొక్క ఇప్పటికే పేర్కొన్న ప్రయోజనాల్లో ఒకటి మీ స్వంత కొలమానాలను సులభంగా సృష్టించగల సామర్థ్యం.
ఇది అనేక రకాల దృశ్యాల కోసం ఉపయోగించడానికి అనుమతిస్తుంది.
మేము అక్కడ అన్ని ఉపయోగకరమైన సమాచారాన్ని రికార్డ్ చేయడానికి ప్రయత్నించాము: బ్యాటరీ ఛార్జ్, లాక్ స్థితి, సెన్సార్ పనితీరు, బ్లూటూత్, GPS మరియు అనేక ఇతర ఆరోగ్య తనిఖీలు.
మేము అడ్మిన్ ప్యానెల్లో వీటన్నింటిని ప్రదర్శించాము.
వాస్తవానికి, మాకు అత్యంత ముఖ్యమైన ప్రమాణం స్కూటర్ యొక్క ఆపరేటింగ్ పరిస్థితి - వాస్తవానికి, ఇన్ఫ్లక్స్ దీన్ని స్వయంగా తనిఖీ చేస్తుంది మరియు నోడ్స్ విభాగంలో “గ్రీన్ లైట్లు” తో చూపిస్తుంది.
ఇది ఫంక్షన్ ద్వారా చేయబడుతుంది చనిపోయిన మనిషి — మేము మా బాక్స్ పనితీరును అర్థం చేసుకోవడానికి మరియు అదే హెచ్చరికలను స్లాక్కి పంపడానికి ఉపయోగించాము.
మార్గం ద్వారా, మేము ది సింప్సన్స్లోని పాత్రల పేర్లతో స్కూటర్లకు పేరు పెట్టాము - వాటిని ఒకదానికొకటి వేరు చేయడం చాలా సౌకర్యంగా ఉంది
మరియు సాధారణంగా ఈ విధంగా మరింత సరదాగా ఉంటుంది. “గైస్, స్మిథర్స్ ఈజ్ డెడ్!” వంటి పదబంధాలు నిరంతరం వినబడుతున్నాయి.
స్ట్రింగ్ మెట్రిక్స్
విక్టోరియా మెట్రిక్స్ మాదిరిగానే, ఇన్ఫ్లక్స్డిబి సంఖ్యా విలువలను మాత్రమే నిల్వ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
ఇది అంత ముఖ్యమైనది కాదని అనిపించవచ్చు - అన్ని తరువాత, లాగ్లు కాకుండా, ఏదైనా కొలమానాలను సంఖ్యల రూపంలో నిల్వ చేయవచ్చు (తెలిసిన రాష్ట్రాలకు మ్యాపింగ్ను జోడించండి - ఒక రకమైన ఎనమ్)?
మా విషయంలో, స్ట్రింగ్ మెట్రిక్లు చాలా ఉపయోగకరంగా ఉండే కనీసం ఒక దృశ్యం ఉంది.
మా “స్మార్ట్ ఛార్జర్ల” సరఫరాదారు మూడవ పక్షం, అభివృద్ధి ప్రక్రియ మరియు ఈ ఛార్జర్లు సరఫరా చేయగల సమాచారంపై మాకు నియంత్రణ లేదు.
ఫలితంగా, ఛార్జింగ్ API ఆదర్శానికి దూరంగా ఉంది, కానీ ప్రధాన సమస్య ఏమిటంటే మేము ఎల్లప్పుడూ వారి స్థితిని అర్థం చేసుకోలేము.
ఇక్కడే ఇన్ఫ్లక్స్ రక్షించబడింది. ఇన్ఫ్లక్స్డిబి డేటాబేస్ ఫీల్డ్లో మాకు వచ్చిన స్ట్రింగ్ స్థితిని మేము మార్పులు లేకుండా వ్రాసాము.
కొంత సమయం వరకు, "ఆన్లైన్" మరియు "ఆఫ్లైన్" వంటి విలువలు మాత్రమే వచ్చాయి, దాని ఆధారంగా మా అడ్మిన్ ప్యానెల్లో సమాచారం ప్రదర్శించబడుతుంది మరియు నోటిఫికేషన్లు స్లాక్కి పంపబడ్డాయి. అయితే, ఏదో ఒక సమయంలో, "డిస్కనెక్ట్" వంటి విలువలు కూడా అక్కడ కనిపించడం ప్రారంభించాయి.
తర్వాత తేలినట్లుగా, నిర్దిష్ట సంఖ్యలో ప్రయత్నాల తర్వాత ఛార్జర్ సర్వర్తో కనెక్షన్ని ఏర్పాటు చేయలేకపోతే, కనెక్షన్ కోల్పోయిన తర్వాత ఈ స్థితి ఒకసారి పంపబడుతుంది.
అందువల్ల, మేము స్థిరమైన విలువలను మాత్రమే ఉపయోగిస్తే, సరైన సమయంలో ఫర్మ్వేర్లో ఈ మార్పులను చూడలేము.
మరియు సాధారణంగా, స్ట్రింగ్ మెట్రిక్స్ ఉపయోగం కోసం చాలా ఎక్కువ అవకాశాలను అందిస్తాయి; మీరు వాటిలో ఏదైనా సమాచారాన్ని రికార్డ్ చేయవచ్చు. అయినప్పటికీ, మీరు ఈ సాధనాన్ని కూడా జాగ్రత్తగా ఉపయోగించాలి.
సాధారణ కొలమానాలకు అదనంగా, మేము InfluxDBలో GPS స్థాన సమాచారాన్ని కూడా రికార్డ్ చేసాము. మా అడ్మిన్ ప్యానెల్లో స్కూటర్ల స్థానాన్ని పర్యవేక్షించడానికి ఇది చాలా ఉపయోగకరంగా ఉంది.
వాస్తవానికి, మనకు అవసరమైన సమయంలో ఎక్కడ మరియు ఏ స్కూటర్ ఉందో మాకు ఎల్లప్పుడూ తెలుసు.
మేము స్కూటర్ కోసం వెతుకుతున్నప్పుడు ఇది మాకు చాలా ఉపయోగకరంగా ఉంది (చివరిలో ముగింపులు చూడండి).
మౌలిక సదుపాయాల పర్యవేక్షణ
స్కూటర్లతో పాటు, మేము మా మొత్తం (బదులుగా విస్తృతమైన) మౌలిక సదుపాయాలను కూడా పర్యవేక్షించాల్సిన అవసరం ఉంది.
చాలా సాధారణ వాస్తుశిల్పం ఇలా కనిపిస్తుంది:
మేము స్వచ్ఛమైన పర్యవేక్షణ స్టాక్ను హైలైట్ చేస్తే, అది ఇలా కనిపిస్తుంది:
మేము క్లౌడ్లో చెక్ చేయాలనుకుంటున్నది:
డేటాబేస్లు
కీలాక్
మైక్రోసర్వీసెస్
మా క్లౌడ్ సేవలన్నీ కుబెర్నెట్స్లో ఉన్నాయి కాబట్టి, దాని స్థితి గురించి సమాచారాన్ని సేకరించడం మంచిది.
అదృష్టవశాత్తూ, టెలిగ్రాఫ్ అవుట్ ఆఫ్ ది బాక్స్ కుబెర్నెటెస్ క్లస్టర్ స్థితి గురించి భారీ సంఖ్యలో కొలమానాలను సేకరించగలదు మరియు క్రోనోగ్రాఫ్ వెంటనే దీని కోసం అందమైన డాష్బోర్డ్లను అందిస్తుంది.
మేము ప్రధానంగా పాడ్ల పనితీరు మరియు మెమరీ వినియోగాన్ని పర్యవేక్షించాము. పడిపోతే, స్లాక్లో హెచ్చరికలు.
కుబెర్నెట్స్లో పాడ్లను ట్రాక్ చేయడానికి రెండు మార్గాలు ఉన్నాయి: డెమోన్సెట్ మరియు సైడ్కార్.
రెండు పద్ధతులు వివరంగా వివరించబడ్డాయి ఈ బ్లాగ్ పోస్ట్లో.
మేము టెలిగ్రాఫ్ సైడ్కార్ని ఉపయోగించాము మరియు మెట్రిక్లతో పాటు, పాడ్ లాగ్లను సేకరించాము.
మా విషయంలో, మేము దుంగలతో టింకర్ చేయవలసి వచ్చింది. టెలిగ్రాఫ్ డాకర్ API నుండి లాగ్లను లాగగలదనే వాస్తవం ఉన్నప్పటికీ, మేము మా తుది పరికరాలతో లాగ్ల యొక్క ఏకరీతి సేకరణను కలిగి ఉండాలనుకుంటున్నాము మరియు దీని కోసం కంటైనర్ల కోసం సిస్లాగ్ని కాన్ఫిగర్ చేసాము. బహుశా ఈ పరిష్కారం అందంగా లేదు, కానీ దాని పని గురించి ఎటువంటి ఫిర్యాదులు లేవు మరియు క్రోనోగ్రాఫ్లో లాగ్లు బాగా ప్రదర్శించబడ్డాయి.
మానిటర్ పర్యవేక్షణ ???
చివరికి, పర్యవేక్షణ వ్యవస్థలను పర్యవేక్షించే పురాతన ప్రశ్న తలెత్తింది, కానీ అదృష్టవశాత్తూ, లేదా దురదృష్టవశాత్తు, దీని కోసం మాకు తగినంత సమయం లేదు.
టెలిగ్రాఫ్ దాని స్వంత కొలమానాలను సులభంగా పంపగలిగినప్పటికీ లేదా అదే ఇన్ఫ్లక్స్కి లేదా మరెక్కడైనా పంపడం కోసం ఇన్ఫ్లక్స్డిబి డేటాబేస్ నుండి కొలమానాలను సేకరించవచ్చు.
కనుగొన్న
పైలట్ ఫలితాల నుండి మేము ఏ తీర్మానాలు చేసాము?
మీరు పర్యవేక్షణ ఎలా చేయవచ్చు?
అన్నింటిలో మొదటిది, TICK స్టాక్ మా అంచనాలను పూర్తిగా అందుకుంది మరియు మేము మొదట్లో ఊహించిన దానికంటే ఎక్కువ అవకాశాలను అందించింది.
మాకు అవసరమైన అన్ని కార్యాచరణలు ఉన్నాయి. మేము దానితో చేసిన ప్రతిదీ సమస్యలు లేకుండా పని చేస్తుంది.
ఉత్పాదకత
ఉచిత సంస్కరణలో TICK స్టాక్తో ప్రధాన సమస్య స్కేలింగ్ సామర్థ్యాలు లేకపోవడం. ఇది మాకు సమస్య కాదు.
మేము ఖచ్చితమైన లోడ్ డేటా/ఫిగర్లను సేకరించలేదు, కానీ మేము ఒకేసారి 30 స్కూటర్ల నుండి డేటాను సేకరించాము.
వాటిలో ప్రతి ఒక్కటి మూడు డజన్ల కంటే ఎక్కువ కొలమానాలను సేకరించింది. అదే సమయంలో, పరికరాల నుండి లాగ్లు సేకరించబడ్డాయి. ప్రతి 10 సెకన్లకు డేటా సేకరణ మరియు పంపడం జరుగుతుంది.
పైలట్ యొక్క వారం మరియు సగం తర్వాత, "బాల్యంలోని సమస్యలు" చాలావరకు సరిదిద్దబడినప్పుడు మరియు అతి ముఖ్యమైన సమస్యలు ఇప్పటికే పరిష్కరించబడినప్పుడు, మేము సర్వర్కు డేటాను పంపే ఫ్రీక్వెన్సీని తగ్గించాల్సి వచ్చిందని గమనించడం ముఖ్యం. 30 సెకన్లు. మా LTE SIM కార్డ్లలో ట్రాఫిక్ త్వరగా అదృశ్యం కావడం వలన ఇది అవసరం అయింది.
ట్రాఫిక్లో ఎక్కువ భాగం లాగ్ల ద్వారా వినియోగించబడింది; కొలమానాలు, 10-సెకన్ల విరామంతో కూడా ఆచరణాత్మకంగా దానిని వృథా చేయలేదు.
ఫలితంగా, కొంత సమయం తర్వాత మేము పరికరాలలో లాగ్ల సేకరణను పూర్తిగా నిలిపివేసాము, ఎందుకంటే స్థిరమైన సేకరణ లేకుండా కూడా నిర్దిష్ట సమస్యలు ఇప్పటికే స్పష్టంగా ఉన్నాయి.
కొన్ని సందర్భాల్లో, లాగ్లను వీక్షించడం ఇంకా అవసరమైతే, మేము కేవలం VPN ద్వారా WireGuard ద్వారా కనెక్ట్ చేస్తాము.
ప్రతి ప్రత్యేక పర్యావరణం ఒకదానికొకటి వేరు చేయబడిందని మరియు పైన వివరించిన లోడ్ ఉత్పత్తి వాతావరణానికి మాత్రమే సంబంధించినదని కూడా నేను జోడిస్తాను.
అభివృద్ధి వాతావరణంలో, మేము ప్రతి 10 సెకన్లకు డేటాను సేకరించడం కొనసాగించే ప్రత్యేక InfluxDB ఉదాహరణను లేవనెత్తాము మరియు మేము ఎటువంటి పనితీరు సమస్యలను ఎదుర్కోలేదు.
టిక్ - చిన్న నుండి మధ్యస్థ ప్రాజెక్టులకు అనువైనది
ఈ సమాచారం ఆధారంగా, ఖచ్చితంగా ఏ హైలోడ్ని ఆశించని చిన్న ప్రాజెక్ట్లు లేదా ప్రాజెక్ట్లకు TICK స్టాక్ అనువైనదని నేను నిర్ధారించాను.
మీ వద్ద వేల సంఖ్యలో పాడ్లు లేదా వందల కొద్దీ మెషీన్లు లేకుంటే, ఒక ఇన్ఫ్లక్స్డిబి ఉదాహరణ కూడా లోడ్ను చక్కగా నిర్వహిస్తుంది.
కొన్ని సందర్భాల్లో, మీరు ఒక ఆదిమ అధిక లభ్యత పరిష్కారంగా ఇన్ఫ్లక్స్ రిలేతో సంతృప్తి చెందవచ్చు.
మరియు, వాస్తవానికి, "నిలువు" స్కేలింగ్ని సెటప్ చేయకుండా మరియు వివిధ రకాల కొలమానాల కోసం వేర్వేరు సర్వర్లను కేటాయించకుండా ఎవరూ మిమ్మల్ని ఆపడం లేదు.
పర్యవేక్షణ సేవలపై ఆశించిన లోడ్ గురించి మీకు ఖచ్చితంగా తెలియకుంటే, లేదా మీరు చాలా "భారీ" ఆర్కిటెక్చర్ను కలిగి/ఉంటారని హామీ ఇచ్చినట్లయితే, TICK స్టాక్ యొక్క ఉచిత సంస్కరణను ఉపయోగించమని నేను సిఫార్సు చేయను.
వాస్తవానికి, ఒక సాధారణ పరిష్కారం కొనుగోలు చేయడం InfluxDB ఎంటర్ప్రైజ్ - కానీ ఇక్కడ నేను ఏదో ఒకవిధంగా వ్యాఖ్యానించలేను, ఎందుకంటే నాకు సూక్ష్మబేధాలు తెలియవు. ఇది చాలా ఖరీదైనది మరియు చిన్న కంపెనీలకు ఖచ్చితంగా సరిపోదు.
ఈ సందర్భంలో, ఈ రోజు, విక్టోరియా మెట్రిక్స్ మరియు లాగ్ల ద్వారా లోకీని ఉపయోగించి కొలమానాలను సేకరించాలని నేను సిఫార్సు చేస్తున్నాను.
నిజమే, రెడీమేడ్ TICK కంటే Loki/Grafana చాలా తక్కువ సౌలభ్యం (వాటి బహుముఖ ప్రజ్ఞ కారణంగా) అని నేను మళ్లీ రిజర్వేషన్ చేస్తాను, కానీ అవి ఉచితం.
ముఖ్యమైన: ఇక్కడ వివరించిన మొత్తం సమాచారం సంస్కరణ ఇన్ఫ్లక్స్ 1.8కి సంబంధించినది, ప్రస్తుతం ఇన్ఫ్లక్స్ 2.0 విడుదల కానుంది.
పోరాట పరిస్థితులలో దీన్ని ప్రయత్నించడానికి నాకు అవకాశం లేనప్పటికీ, మెరుగుదలల గురించి తీర్మానాలు చేయడం కష్టం, ఇంటర్ఫేస్ ఖచ్చితంగా మరింత మెరుగ్గా మారింది, ఆర్కిటెక్చర్ సరళీకృతం చేయబడింది (కెపాసిటర్ మరియు క్రోనోగ్రాఫ్ లేకుండా),
టెంప్లేట్లు కనిపించాయి ("కిల్లర్ ఫీచర్" - మీరు Fortniteలో ప్లేయర్లను ట్రాక్ చేయవచ్చు మరియు మీకు ఇష్టమైన ఆటగాడు గేమ్లో గెలిచినప్పుడు నోటిఫికేషన్లను అందుకోవచ్చు) కానీ, దురదృష్టవశాత్తు, ప్రస్తుతానికి, మేము మొదటి సంస్కరణను ఎంచుకున్న ముఖ్య విషయం వెర్షన్ 2 లో లేదు - లాగ్ సేకరణ లేదు.
ఈ ఫంక్షనాలిటీ ఇన్ఫ్లక్స్ 2.0లో కూడా కనిపిస్తుంది, కానీ మేము ఏ గడువును కనుగొనలేకపోయాము, సుమారుగా కూడా.
IoT ప్లాట్ఫారమ్లను ఎలా తయారు చేయకూడదు (ఇప్పుడు)
చివరికి, పైలట్ను ప్రారంభించిన తర్వాత, మా ప్రమాణాలకు తగిన ప్రత్యామ్నాయం లేనప్పుడు, మేము మా స్వంత పూర్తి స్థాయి IoT స్టాక్ను సమీకరించాము.
అయితే, ఇటీవల ఇది బీటా వెర్షన్లో అందుబాటులో ఉంది ఓపెన్ బాలెనా - మేము ప్రాజెక్ట్ చేయడం ప్రారంభించినప్పుడు ఆమె అక్కడ లేకపోవడం విచారకరం.
అంతిమ ఫలితం మరియు మేమే అసెంబుల్ చేసిన Ansible + TICK + WireGuard ఆధారంగా ప్లాట్ఫారమ్తో మేము పూర్తిగా సంతృప్తి చెందాము. కానీ ఈ రోజు, మీ స్వంత IoT ప్లాట్ఫారమ్ను మీరే నిర్మించుకోవడానికి ప్రయత్నించే ముందు బాలెనాను నిశితంగా పరిశీలించాలని నేను సిఫార్సు చేస్తున్నాను.
ఎందుకంటే అంతిమంగా ఇది మనం చేసిన వాటిలో చాలా వరకు చేయగలదు మరియు OpenBalena ఉచితం మరియు ఓపెన్ సోర్స్.
ఇది ఇప్పటికే నవీకరణలను ఎలా పంపాలో తెలుసు, కానీ VPN ఇప్పటికే నిర్మించబడింది మరియు IoT వాతావరణంలో ఉపయోగించడం కోసం రూపొందించబడింది.
మరియు ఇటీవల, వారు వాటిని కూడా విడుదల చేశారు హార్డ్వేర్, ఇది వారి పర్యావరణ వ్యవస్థకు సులభంగా కనెక్ట్ అవుతుంది.
అరే, మిస్ అయిన స్కూటర్ సంగతేంటి?
కాబట్టి "రాల్ఫ్" అనే స్కూటర్ జాడ లేకుండా అదృశ్యమైంది.
మేము వెంటనే InfluxDB నుండి GPS మెట్రిక్స్ డేటాతో మా "అడ్మిన్ ప్యానెల్"లోని మ్యాప్ని చూడటానికి పరిగెత్తాము.
మానిటరింగ్ డేటాకు ధన్యవాదాలు, స్కూటర్ గత రోజు దాదాపు 21:00 గంటల ప్రాంతంలో పార్కింగ్ స్థలం నుండి బయలుదేరి, దాదాపు అరగంటపాటు కొంత ప్రాంతానికి వెళ్లి, ఉదయం 5 గంటల వరకు జర్మన్ ఇంటి పక్కనే నిలిపి ఉంచినట్లు మేము సులభంగా గుర్తించాము.
ఉదయం 5 గంటల తర్వాత, మానిటరింగ్ డేటా ఏదీ అందుకోలేదు-దీని అర్థం అదనపు బ్యాటరీ పూర్తిగా డిశ్చార్జ్ చేయబడిందని లేదా దాడి చేసే వ్యక్తి చివరకు స్కూటర్ నుండి స్మార్ట్ హార్డ్వేర్ను ఎలా తీసివేయాలో కనుగొన్నాడు.
అయినప్పటికీ, స్కూటర్ ఉన్న చిరునామాకు పోలీసులను పిలిపించారు. స్కూటర్ అక్కడ లేదు.
అయితే, ఇంటి యజమాని కూడా దీన్ని చూసి ఆశ్చర్యపోయాడు, ఎందుకంటే అతను గత రాత్రి ఆఫీసు నుండి ఇంటికి ఈ స్కూటర్పై బయలుదేరాడు.
అది ముగిసినప్పుడు, సహాయక ఉద్యోగులలో ఒకరు ఉదయాన్నే వచ్చి స్కూటర్ను తీశారు, దాని అదనపు బ్యాటరీ పూర్తిగా డిశ్చార్జ్ చేయబడిందని మరియు దానిని (కాలినడకన) పార్కింగ్ ప్రదేశానికి తీసుకెళ్లారు. మరియు తేమ కారణంగా అదనపు బ్యాటరీ విఫలమైంది.
మేమే స్కూటర్ దొంగిలించాము. మార్గం ద్వారా, పోలీసు కేసుతో సమస్యను ఎలా మరియు ఎవరు పరిష్కరించారో నాకు తెలియదు, కానీ పర్యవేక్షణ ఖచ్చితంగా పనిచేసింది...