VictoriaMetrics అనేది సమయ శ్రేణి రూపంలో డేటాను నిల్వ చేయడానికి మరియు ప్రాసెస్ చేయడానికి వేగవంతమైన మరియు స్కేలబుల్ DBMS (రికార్డు ఈ సమయానికి సంబంధించిన సమయం మరియు విలువల సమితిని కలిగి ఉంటుంది, ఉదాహరణకు, సెన్సార్ల స్థితి యొక్క ఆవర్తన పోలింగ్ ద్వారా పొందిన లేదా కొలమానాల సేకరణ).
నా పేరు కొలోబావ్ పావెల్. DevOps, SRE, LeroyMerlin, ప్రతిదీ కోడ్ లాంటిది - ఇది మన గురించి: నా గురించి మరియు ఇతర లెరోయ్మెర్లిన్ ఉద్యోగుల గురించి.
OpenStack ఆధారంగా క్లౌడ్ ఉంది. సాంకేతిక రాడార్కు చిన్న లింక్ ఉంది.
ఇది కుబెర్నెటెస్ హార్డ్వేర్తో పాటు ఓపెన్స్టాక్ మరియు లాగింగ్ కోసం అన్ని సంబంధిత సేవలపై నిర్మించబడింది.
ఇది మేము అభివృద్ధిలో ఉన్న పథకం. మేము వీటన్నింటినీ అభివృద్ధి చేస్తున్నప్పుడు, K8s క్లస్టర్లోనే డేటాను నిల్వచేసే ప్రోమేతియస్ ఆపరేటర్ని మేము కలిగి ఉన్నాము. అతను స్వయంచాలకంగా స్క్రబ్ చేయవలసినదాన్ని కనుగొని, స్థూలంగా చెప్పాలంటే, దానిని తన పాదాల క్రింద ఉంచుతాడు.
మేము కుబెర్నెట్స్ క్లస్టర్ వెలుపల మొత్తం డేటాను తరలించవలసి ఉంటుంది, ఎందుకంటే ఏదైనా జరిగితే, మనం ఏమి మరియు ఎక్కడ అర్థం చేసుకోవాలి.
మొదటి పరిష్కారం ఏమిటంటే, మనం థర్డ్-పార్టీ ప్రోమేథియస్ని కలిగి ఉన్నప్పుడు, ఫెడరేషన్ మెకానిజం ద్వారా కుబెర్నెట్స్ క్లస్టర్కి వెళ్లినప్పుడు ఫెడరేషన్ని ఉపయోగిస్తాము.
అయితే ఇక్కడ చిన్న చిన్న సమస్యలు ఉన్నాయి. మా విషయంలో, మాకు 250 మెట్రిక్లు ఉన్నప్పుడు సమస్యలు మొదలయ్యాయి మరియు 000 మెట్రిక్లు ఉన్నప్పుడు, మేము అలా పని చేయలేమని మేము గ్రహించాము. మేము స్క్రాప్_టైమ్ అవుట్ని 400 సెకన్లకు పెంచాము.
మనం ఎందుకు ఇలా చేయాల్సి వచ్చింది? ప్రోమేతియస్ కంచె ప్రారంభం నుండి సమయం ముగిసింది. డేటా ఇప్పటికీ ప్రవహిస్తున్నది పట్టింపు లేదు. ఈ పేర్కొన్న వ్యవధిలో డేటా విలీనం చేయబడకపోతే మరియు సెషన్ http ద్వారా మూసివేయబడకపోతే, సెషన్ విఫలమైనట్లు పరిగణించబడుతుంది మరియు డేటా ప్రోమేతియస్లోకి ప్రవేశించదు.
కొన్ని డేటా మిస్ అయినప్పుడు మనకు లభించే గ్రాఫ్లు అందరికీ తెలుసు. షెడ్యూల్లు చిరిగిపోయాయి మరియు దీనితో మేము సంతోషంగా లేము.
ఒకే ఫెడరేషన్ మెకానిజం ద్వారా రెండు వేర్వేరు ప్రోమేతియస్ ఆధారంగా షేడింగ్ చేయడం తదుపరి ఎంపిక.
ఉదాహరణకు, వాటిని తీసుకొని వాటిని పేరు ద్వారా ముక్కలు చేయండి. ఇది కూడా ఉపయోగించవచ్చు, కానీ మేము ముందుకు వెళ్లాలని నిర్ణయించుకున్నాము.
మేము ఇప్పుడు ఈ ముక్కలను ఏదో ఒకవిధంగా ప్రాసెస్ చేయాలి. మీరు ప్రామ్క్సీని తీసుకోవచ్చు, ఇది షార్డ్ ప్రాంతానికి వెళ్లి డేటాను గుణిస్తుంది. ఇది ఒకే ఎంట్రీ పాయింట్గా రెండు ముక్కలతో పని చేస్తుంది. ఇది ప్రామ్క్సీ ద్వారా అమలు చేయబడుతుంది, కానీ ఇది ఇప్పటికీ చాలా కష్టం.
మొదటి ఎంపిక ఏమిటంటే, ఫెడరేషన్ మెకానిజం చాలా నెమ్మదిగా ఉన్నందున మేము దానిని వదిలివేయాలనుకుంటున్నాము.
ప్రోమేతియస్ డెవలపర్లు స్పష్టంగా చెబుతున్నారు, "గైస్, వేరొక టైమ్స్కేల్డిబిని ఉపయోగించండి ఎందుకంటే మేము కొలమానాల దీర్ఘకాలిక నిల్వకు మద్దతు ఇవ్వము." ఇది వారి పని కాదు.
మేము ఇంకా బయట అన్లోడ్ చేయాల్సిన అవసరం ఉందని కాగితంపై వ్రాస్తాము, తద్వారా ప్రతిదీ ఒకే చోట నిల్వ చేయకూడదు.
రెండవ లోపం మెమరీ వినియోగం. అవును, 2020లో రెండు గిగాబైట్ల మెమరీకి ఒక పెన్నీ ఖర్చవుతుందని చాలామంది చెబుతారని నేను అర్థం చేసుకున్నాను.
ఇప్పుడు మనకు dev మరియు prod వాతావరణం ఉంది. దేవ్లో ఇది 9 మెట్రిక్లకు దాదాపు 350 గిగాబైట్లు. ఉత్పత్తిలో ఇది 000 గిగాబైట్లు మరియు 14 మెట్రిక్ల కంటే కొంచెం ఎక్కువ. అదే సమయంలో, మా నిలుపుదల సమయం 780 నిమిషాలు మాత్రమే. ఇది చెడ్డది. మరియు ఇప్పుడు నేను ఎందుకు వివరిస్తాను.
మేము ఒక గణనను చేస్తాము, అనగా, ఒకటిన్నర మిలియన్ కొలమానాలతో, మరియు మేము ఇప్పటికే వాటికి దగ్గరగా ఉన్నాము, డిజైన్ దశలో మనకు 35-37 గిగాబైట్ల మెమరీ లభిస్తుంది. కానీ ఇప్పటికే 4 మిలియన్ మెట్రిక్లకు 90 గిగాబైట్ల మెమరీ అవసరం. అంటే, ప్రోమేతియస్ డెవలపర్లు అందించిన సూత్రాన్ని ఉపయోగించి ఇది లెక్కించబడుతుంది. మేము సహసంబంధాన్ని పరిశీలించాము మరియు మానిటరింగ్ కోసం సర్వర్ కోసం రెండు మిలియన్లు చెల్లించకూడదని మేము గ్రహించాము.
మేము యంత్రాల సంఖ్యను పెంచడమే కాదు, వర్చువల్ మిషన్లను కూడా పర్యవేక్షిస్తున్నాము. అందువల్ల, ఎక్కువ వర్చువల్ మెషీన్లు, వివిధ రకాలైన మరిన్ని మెట్రిక్లు మొదలైనవి. కొలమానాల పరంగా మా క్లస్టర్లో ప్రత్యేక పెరుగుదల ఉంటుంది.
డిస్క్ స్థలంతో, ఇక్కడ ప్రతిదీ చాలా చెడ్డది కాదు, కానీ నేను దాన్ని మెరుగుపరచాలనుకుంటున్నాను. మేము 15 రోజులలో మొత్తం 120 గిగాబైట్లను అందుకున్నాము, అందులో 100 కంప్రెస్డ్ డేటా, 20 కంప్రెస్డ్ డేటా, కానీ మాకు ఎల్లప్పుడూ తక్కువ కావాలి.
దీని ప్రకారం, మేము మరో పాయింట్ వ్రాస్తాము - ఇది వనరుల యొక్క పెద్ద వినియోగం, ఇది మేము ఇప్పటికీ సేవ్ చేయాలనుకుంటున్నాము, ఎందుకంటే మా పర్యవేక్షణ క్లస్టర్ ఓపెన్స్టాక్ని నిర్వహించే మా క్లస్టర్ కంటే ఎక్కువ వనరులను వినియోగించకూడదనుకుంటున్నాము.
ప్రోమేతియస్ యొక్క మరొక లోపం ఉంది, ఇది మన కోసం మనం గుర్తించాము, ఇది కనీసం ఒక రకమైన మెమరీ పరిమితి. ప్రోమేతియస్తో, ఇక్కడ ప్రతిదీ చాలా ఘోరంగా ఉంది, ఎందుకంటే దీనికి అలాంటి మలుపులు లేవు. డాకర్లో పరిమితిని ఉపయోగించడం కూడా ఎంపిక కాదు. అకస్మాత్తుగా మీ RAF పడిపోయి 20-30 గిగాబైట్లు ఉంటే, అది పెరగడానికి చాలా సమయం పడుతుంది.
ప్రోమేతియస్ మనకు సరిపోకపోవడానికి ఇది మరొక కారణం, అంటే మనం మెమరీ వినియోగాన్ని పరిమితం చేయలేము.
అలాంటి పథకాన్ని తీసుకురావడం సాధ్యమవుతుంది. HA క్లస్టర్ని నిర్వహించడానికి మాకు ఈ పథకం అవసరం. ఈ మెట్రిక్లను స్టోర్ చేసే సర్వర్ క్రాష్ అయినప్పటికీ, మా కొలమానాలు ఎల్లప్పుడూ మరియు ప్రతిచోటా అందుబాటులో ఉండాలని మేము కోరుకుంటున్నాము. అందువలన మేము అటువంటి పథకాన్ని నిర్మించవలసి ఉంటుంది.
ఈ స్కీమ్ మనకు ముక్కల డూప్లికేషన్ ఉంటుంది మరియు తదనుగుణంగా, వినియోగించే వనరుల ఖర్చుల డూప్లికేషన్ ఉంటుంది. ఇది దాదాపు అడ్డంగా స్కేల్ చేయబడుతుంది, అయితే వనరుల వినియోగం నరకప్రాయంగా ఉంటుంది.
మేము వాటిని మన కోసం వ్రాసుకున్న రూపంలో ప్రతికూలతలు:
- బాహ్యంగా కొలమానాలను అప్లోడ్ చేయడం అవసరం.
- అధిక వనరుల వినియోగం.
- మెమరీ వినియోగాన్ని పరిమితం చేయడానికి మార్గం లేదు.
- HA యొక్క సంక్లిష్టమైన మరియు వనరుల-ఇంటెన్సివ్ అమలు.
మా కోసం, మేము ప్రోమేథియస్ నుండి నిల్వ సౌకర్యంగా మారుతున్నామని నిర్ణయించుకున్నాము.
మనకు అవసరమైన అదనపు అవసరాలను మేము గుర్తించాము. ఇది:
- ఇది promql మద్దతు, ఎందుకంటే ప్రోమేతియస్ కోసం ఇప్పటికే చాలా విషయాలు వ్రాయబడ్డాయి: ప్రశ్నలు, హెచ్చరికలు.
- ఆపై మనకు గ్రాఫానా ఉంది, ఇది ఇప్పటికే ప్రోమేతియస్కు బ్యాకెండ్గా సరిగ్గా అదే విధంగా వ్రాయబడింది. నేను డ్యాష్బోర్డ్లను తిరిగి వ్రాయదలచుకోలేదు.
- మేము సాధారణ HA నిర్మాణాన్ని నిర్మించాలనుకుంటున్నాము.
- మేము ఏదైనా వనరుల వినియోగాన్ని తగ్గించాలనుకుంటున్నాము.
- మరొక చిన్న స్వల్పభేదాన్ని ఉంది. మేము వివిధ రకాల క్లౌడ్ మెట్రిక్స్ కలెక్షన్ సిస్టమ్లను ఉపయోగించలేము. ఈ మెట్రిక్లలోకి ఏమి వస్తుందో మాకు ఇంకా తెలియదు. మరియు అక్కడ ఏదైనా ఎగురుతుంది కాబట్టి, మనల్ని మనం లోకల్ ప్లేస్మెంట్కే పరిమితం చేసుకోవాలి.
చిన్న ఎంపిక ఉంది. మేము అనుభవం ఉన్న ప్రతిదాన్ని సేకరించాము. మేము ఇంటిగ్రేషన్ విభాగంలో ప్రోమేతియస్ పేజీని చూశాము, కొన్ని కథనాలను చదివాము మరియు అక్కడ ఉన్న వాటిని చూశాము. మరియు మన కోసం, మేము ప్రోమేతియస్కు ప్రత్యామ్నాయంగా విక్టోరియామెట్రిక్స్ని ఎంచుకున్నాము.
ఎందుకు? ఎందుకంటే:
- promql తెలుసు.
- మాడ్యులర్ ఆర్కిటెక్చర్ ఉంది.
- గ్రాఫానాకు మార్పులు అవసరం లేదు.
- మరియు ముఖ్యంగా, మేము బహుశా మా కంపెనీలో కొలమానాల నిల్వను సేవగా అందిస్తాము, కాబట్టి మేము వివిధ రకాల పరిమితుల వైపు ముందుగానే చూస్తున్నాము, తద్వారా వినియోగదారులు క్లస్టర్ యొక్క అన్ని వనరులను కొంత పరిమిత మార్గంలో ఉపయోగించుకోవచ్చు, ఎందుకంటే అవకాశం ఉంది. అది బహువిధిగా ఉంటుంది.
మొదటి పోలిక చేద్దాం. మేము క్లస్టర్ లోపల అదే ప్రోమేతియస్ తీసుకుంటాము, బాహ్య ప్రోమేతియస్ దానికి వెళుతుంది. రిమోట్ రైట్ విక్టోరియామెట్రిక్స్ ద్వారా జోడించండి.
ఇక్కడ మేము VictoriaMetrics నుండి CPU వినియోగంలో స్వల్ప పెరుగుదలను గుర్తించామని నేను వెంటనే రిజర్వేషన్ చేస్తాను. విక్టోరియామెట్రిక్స్ వికీ మీకు ఏ పారామితులు ఉత్తమమో చెబుతుంది. మేము వాటిని తనిఖీ చేసాము. వారు CPU వినియోగాన్ని బాగా తగ్గించారు.
మా విషయంలో, కుబెర్నెట్స్ క్లస్టర్లో ఉన్న ప్రోమేతియస్ యొక్క మెమరీ వినియోగం గణనీయంగా పెరగలేదు.
మేము ఒకే డేటా యొక్క రెండు డేటా మూలాలను సరిపోల్చాము. ప్రోమేతియస్లో మనకు అదే తప్పిపోయిన డేటా కనిపిస్తుంది. విక్టోరియామెట్రిక్స్లో అంతా బాగానే ఉంది.
డిస్క్ స్పేస్ పరీక్ష ఫలితాలు. మేము ప్రోమేతియస్ వద్ద మొత్తం 120 గిగాబైట్లను అందుకున్నాము. VictoriaMetrics వద్ద మేము ఇప్పటికే రోజుకు 4 గిగాబైట్లను అందుకుంటాము. ప్రోమేతియస్లో మనం చూసే దానికంటే కొంచెం భిన్నమైన యంత్రాంగం ఉంది. అంటే, డేటా ఇప్పటికే ఒక రోజులో, అరగంటలో బాగా కుదించబడింది. డేటా తర్వాత కూడా పోతుంది అనే వాస్తవం ఉన్నప్పటికీ, అవి ఇప్పటికే ఒక రోజులో, అరగంటలో బాగా పండించబడ్డాయి. ఫలితంగా, మేము డిస్క్ స్థలాన్ని సేవ్ చేసాము.
మేము మెమరీ వనరుల వినియోగాన్ని కూడా ఆదా చేస్తాము. పరీక్ష సమయంలో, మేము ప్రోమేతియస్ను వర్చువల్ మెషీన్లో అమర్చాము - 8 కోర్లు, 24 గిగాబైట్లు. ప్రోమేతియస్ దాదాపు ప్రతిదీ తింటాడు. అతను OOM కిల్లర్పై పడిపోయాడు. అదే సమయంలో, కేవలం 900 యాక్టివ్ మెట్రిక్లు మాత్రమే దానిలోకి పోయబడ్డాయి. ఇది సెకనుకు దాదాపు 000-25 మెట్రిక్లు.
మేము 8 గిగాబైట్ల ర్యామ్తో డ్యూయల్-కోర్ వర్చువల్ మెషీన్లో విక్టోరియామెట్రిక్స్ని అమలు చేసాము. మేము 8GB మెషీన్లో కొన్ని విషయాలతో తిరుగుతూ విక్టోరియామెట్రిక్స్ బాగా పని చేయగలిగాము. చివరికి, మేము దానిని 7 గిగాబైట్లకు ఉంచాము. అదే సమయంలో, కంటెంట్ యొక్క డెలివరీ వేగం, అంటే కొలమానాలు, ప్రోమేతియస్ కంటే కూడా ఎక్కువగా ఉన్నాయి.
ప్రోమేతియస్తో పోలిస్తే CPU చాలా మెరుగ్గా మారింది. ఇక్కడ ప్రోమేతియస్ 2,5 కోర్లను వినియోగిస్తుంది మరియు విక్టోరియామెట్రిక్స్ 0,25 కోర్లను మాత్రమే వినియోగిస్తుంది. ప్రారంభంలో - 0,5 కోర్లు. ఇది విలీనం అయినప్పుడు, ఇది ఒక కోర్కి చేరుకుంటుంది, కానీ ఇది చాలా చాలా అరుదు.
మా విషయంలో, స్పష్టమైన కారణాల వల్ల ఎంపిక విక్టోరియామెట్రిక్స్పై పడింది; మేము డబ్బు ఆదా చేయాలనుకుంటున్నాము మరియు మేము చేసాము.
కొలమానాల అప్లోడ్ మరియు వనరుల అధిక వినియోగం - వెంటనే రెండు పాయింట్లను దాటవేద్దాం. మరియు మనం ఇంకా మన కోసం మిగిలి ఉన్న రెండు పాయింట్లను నిర్ణయించుకోవాలి.
ఇక్కడ నేను వెంటనే రిజర్వేషన్ చేస్తాను, మేము VictoriaMetricsని కొలమానాల నిల్వగా పరిగణిస్తాము. కానీ మేము విక్టోరియామెట్రిక్స్ని అన్ని లెరోయ్లకు స్టోరేజ్గా అందిస్తాము కాబట్టి, ఈ క్లస్టర్ని ఉపయోగించే వారిని మేము పరిమితం చేయాలి, తద్వారా వారు దానిని మాకు ఇవ్వరు.
సమయం ద్వారా, డేటా వాల్యూమ్ ద్వారా మరియు అమలు సమయం ద్వారా పరిమితం చేయడానికి మిమ్మల్ని అనుమతించే అద్భుతమైన పరామితి ఉంది.
మెమరీ వినియోగాన్ని పరిమితం చేయడానికి మాకు అనుమతించే అద్భుతమైన ఎంపిక కూడా ఉంది, తద్వారా సాధారణ ఆపరేటింగ్ వేగం మరియు తగినంత వనరుల వినియోగాన్ని పొందడానికి మాకు అనుమతించే చాలా బ్యాలెన్స్ను మనం కనుగొనవచ్చు.
మైనస్ మరో పాయింట్, అంటే పాయింట్ను దాటండి - మీరు మెమరీ వినియోగాన్ని పరిమితం చేయలేరు.
మొదటి పునరావృతాలలో, మేము VictoriaMetrics సింగిల్ నోడ్ని పరీక్షించాము. తర్వాత మనం విక్టోరియామెట్రిక్స్ క్లస్టర్ వెర్షన్కి వెళ్తాము.
విక్టోరియామెట్రిక్స్లో వివిధ సేవలను వారు దేనిపై అమలు చేస్తారు మరియు వారు ఏ వనరులను వినియోగిస్తారు అనేదానిపై ఆధారపడి వేరు చేయడానికి ఇక్కడ మాకు స్వేచ్ఛ ఉంది. ఇది చాలా సౌకర్యవంతమైన మరియు అనుకూలమైన పరిష్కారం. దీన్ని మనమే ఉపయోగించుకున్నాము.
విక్టోరియామెట్రిక్స్ క్లస్టర్ వెర్షన్ యొక్క ప్రధాన భాగాలు vmssorage. వాటిలో N సంఖ్య ఉండవచ్చు. మా విషయంలో ఇప్పటివరకు 2 ఉన్నాయి.
మరియు vminsert ఉంది. ఇది మమ్మల్ని ఇలా అనుమతించే ప్రాక్సీ సర్వర్: మేము చెప్పిన అన్ని స్టోరేజ్ల మధ్య భాగస్వామ్యాన్ని ఏర్పాటు చేయండి మరియు ఇది ప్రతిరూపాన్ని కూడా అనుమతిస్తుంది, అంటే మీరు షేడింగ్ మరియు రెప్లికా రెండింటినీ కలిగి ఉంటారు.
Vminsert Prometheus నుండి OpenTSDB, Graphite, InfluxDB మరియు రిమోట్ రైట్ ప్రోటోకాల్లకు మద్దతు ఇస్తుంది.
vmselect కూడా ఉంది. దీని ప్రధాన పని vmstorageకి వెళ్లడం, వారి నుండి డేటాను స్వీకరించడం, ఈ డేటాను తగ్గించడం మరియు క్లయింట్కు ఇవ్వడం.
vmagent అనే అద్భుతమైన విషయం ఉంది. మేము ఆమెను నిజంగా ఇష్టపడుతున్నాము. ఇది ప్రోమేతియస్ లాగా కాన్ఫిగర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది మరియు ఇప్పటికీ ప్రోమేతియస్ లాగానే ప్రతిదీ చేయండి. అంటే, ఇది వివిధ సంస్థలు మరియు సేవల నుండి కొలమానాలను సేకరించి వాటిని vminsertకి పంపుతుంది. అప్పుడు ప్రతిదీ మీపై ఆధారపడి ఉంటుంది.
మరొక గొప్ప సేవ vmalert, ఇది మీరు VictoriaMetricsని బ్యాకెండ్గా ఉపయోగించడానికి, vminsert నుండి ప్రాసెస్ చేయబడిన డేటాను స్వీకరించడానికి మరియు vmselectకి పంపడానికి మిమ్మల్ని అనుమతిస్తుంది. ఇది హెచ్చరికలను అలాగే నియమాలను ప్రాసెస్ చేస్తుంది. అలర్ట్ల విషయంలో, అలర్ట్మేనేజర్ ద్వారా మేము అలర్ట్ను స్వీకరిస్తాము.
wmauth భాగం ఉంది. క్లస్టర్ల మల్టీటెనన్సీ వెర్షన్ కోసం మేము దీన్ని అధీకృత వ్యవస్థగా ఉపయోగించవచ్చు లేదా ఉపయోగించకపోవచ్చు (దీనిపై మేము ఇంకా నిర్ణయం తీసుకోలేదు). ఇది ప్రోమేతియస్ కోసం రిమోట్ రైట్కు మద్దతు ఇస్తుంది మరియు మీరు వ్రాయగలిగే లేదా వ్రాయలేని url లేదా దానిలోని రెండవ భాగం ఆధారంగా ప్రామాణీకరించవచ్చు.
vmbackup, vmrestore కూడా ఉంది. ఇది సారాంశంలో, మొత్తం డేటా యొక్క పునరుద్ధరణ మరియు బ్యాకప్. S3, GCS, ఫైల్ చేయవచ్చు.
మా క్లస్టర్ యొక్క మొదటి పునరావృతం నిర్బంధ సమయంలో చేయబడింది. ఆ సమయంలో, ప్రతిరూపం లేదు, కాబట్టి మా పునరావృతం రెండు వేర్వేరు మరియు స్వతంత్ర క్లస్టర్లను కలిగి ఉంది, వీటిలో మేము రిమోట్రైట్ ద్వారా డేటాను స్వీకరించాము.
మేము VictoriaMetrics సింగిల్ నోడ్ నుండి VictoriaMetrics క్లస్టర్ వెర్షన్కు మారినప్పుడు, మేము ఇప్పటికీ అదే వినియోగించబడిన వనరులతో ఉన్నాము, అంటే ప్రధానమైనది మెమరీ అని ఇక్కడ నేను రిజర్వేషన్ చేస్తాను. ఇది మా డేటా, అంటే వనరుల వినియోగం, పంపిణీ చేయబడినది.
ప్రతిరూపం ఇప్పటికే ఇక్కడ జోడించబడింది. మేము వీటన్నింటినీ ఒక సాపేక్షంగా పెద్ద క్లస్టర్గా కలిపాము. మా డేటా మొత్తం విభజించబడింది మరియు ప్రతిరూపం చేయబడింది.
మొత్తం క్లస్టర్లో N ఎంట్రీ పాయింట్లు ఉన్నాయి, అంటే ప్రోమేతియస్ HAPROXY ద్వారా డేటాను జోడించవచ్చు. ఇక్కడ మనకు ఈ ఎంట్రీ పాయింట్ ఉంది. మరియు ఈ ఎంట్రీ పాయింట్ ద్వారా మీరు గ్రాఫానా నుండి లాగిన్ చేయవచ్చు.
మా విషయంలో, ఈ క్లస్టర్లో ప్రాక్సీలు ఎంచుకునే, చొప్పించే మరియు ఇతర సేవలను అందించే ఏకైక పోర్ట్ HAPROXY. మా విషయంలో, ఒక చిరునామా చేయడం అసాధ్యం; మేము అనేక ఎంట్రీ పాయింట్లను తయారు చేయాల్సి వచ్చింది, ఎందుకంటే VictoriaMetrics క్లస్టర్ నడిచే వర్చువల్ మిషన్లు ఒకే క్లౌడ్ ప్రొవైడర్ యొక్క వివిధ జోన్లలో ఉన్నాయి, అనగా మా క్లౌడ్ లోపల కాదు, వెలుపల .
మాకు హెచ్చరిక ఉంది. మేము దానిని ఉపయోగిస్తాము. మేము ప్రోమేతియస్ నుండి అలర్ట్మేనేజర్ని ఉపయోగిస్తాము. మేము Opsgenie మరియు Telegramని అలర్ట్ డెలివరీ ఛానెల్గా ఉపయోగిస్తాము. టెలిగ్రామ్లో వారు దేవ్ నుండి పోస్తారు, బహుశా ప్రోడ్ నుండి ఏదైనా కావచ్చు, కానీ చాలావరకు ఇంజనీర్లకు అవసరమైన గణాంకపరమైనది. మరియు Opsgenie క్లిష్టమైనది. ఇవి కాల్స్, ఇన్సిడెంట్ మేనేజ్మెంట్.
శాశ్వతమైన ప్రశ్న: "పర్యవేక్షణను ఎవరు పర్యవేక్షిస్తారు?" మా విషయంలో, మానిటరింగ్ మానిటర్లు స్వయంగా పర్యవేక్షిస్తాయి, ఎందుకంటే మేము ప్రతి నోడ్లో vmagent ఉపయోగిస్తాము. మరియు మా నోడ్లు ఒకే ప్రొవైడర్కు చెందిన వివిధ డేటా సెంటర్లలో పంపిణీ చేయబడినందున, ప్రతి డేటా సెంటర్కు దాని స్వంత ఛానెల్ ఉంటుంది, అవి స్వతంత్రంగా ఉంటాయి మరియు స్ప్లిట్ బ్రెయిన్ వచ్చినప్పటికీ, మేము ఇప్పటికీ హెచ్చరికలను స్వీకరిస్తాము. అవును, వాటిలో ఎక్కువ మంది ఉంటారు, కానీ ఏదీ లేని దానికంటే ఎక్కువ హెచ్చరికలను స్వీకరించడం ఉత్తమం.
మేము మా జాబితాను HA అమలుతో ముగించాము.
ఇంకా నేను VictoriaMetrics సంఘంతో కమ్యూనికేట్ చేసిన అనుభవాన్ని గమనించాలనుకుంటున్నాను. ఇది చాలా సానుకూలంగా మారింది. అబ్బాయిలు ప్రతిస్పందిస్తారు. వారు అందించే ప్రతి కేసును లోతుగా పరిశోధించడానికి ప్రయత్నిస్తారు.
నేను GitHubలో సమస్యలను ప్రారంభించాను. అవి చాలా త్వరగా పరిష్కరించబడ్డాయి. పూర్తిగా మూసివేయబడని మరికొన్ని సమస్యలు ఉన్నాయి, కానీ ఈ దిశలో పని జరుగుతోందని నేను ఇప్పటికే కోడ్ నుండి చూడగలను.
పునరావృతాల సమయంలో నాకు ప్రధాన నొప్పి ఏమిటంటే, నేను నోడ్ను మూసివేస్తే, మొదటి 30 సెకన్ల వరకు బ్యాకెండ్ లేదని vminsert అర్థం చేసుకోలేకపోయింది. ఈ మేరకు ఇప్పుడు నిర్ణయం తీసుకున్నారు. మరియు అక్షరాలా ఒక సెకను లేదా రెండు రోజుల్లో, మిగిలిన అన్ని నోడ్ల నుండి డేటా తీసుకోబడుతుంది మరియు ఆ తప్పిపోయిన నోడ్ కోసం అభ్యర్థన వేచి ఉండదు.
ఏదో ఒక సమయంలో మేము VictoriaMetricsని VictoriaMetrics ఆపరేటర్గా ఉండాలని కోరుకున్నాము. మేము అతని కోసం వేచి ఉన్నాము. మేము ఇప్పుడు VictoriaMetrics ఆపరేటర్ కోసం అన్ని ముందస్తు గణన నియమాలు, మొదలైనవి తీసుకోవడానికి ఒక ఫ్రేమ్వర్క్ను చురుకుగా రూపొందిస్తున్నాము, ఎందుకంటే మేము ప్రోమేతియస్ ఆపరేటర్తో వచ్చే నియమాలను చాలా చురుకుగా ఉపయోగిస్తున్నాము.
క్లస్టర్ అమలును మెరుగుపరచడానికి ప్రతిపాదనలు ఉన్నాయి. నేను వాటిని పైన వివరించాను.
మరియు నేను నిజంగా తగ్గించాలనుకుంటున్నాను. మా విషయంలో, ట్రెండ్లను వీక్షించడానికి ప్రత్యేకంగా డౌన్సాంప్లింగ్ అవసరం. స్థూలంగా చెప్పాలంటే, నాకు రోజులో ఒక మెట్రిక్ సరిపోతుంది. ఈ పోకడలు ఒక సంవత్సరం, మూడు, ఐదు, పదేళ్లు అవసరం. మరియు ఒక మెట్రిక్ విలువ చాలా సరిపోతుంది.
- ప్రోమేతియస్ని ఉపయోగించినప్పుడు మా సహచరులలో కొందరికి తెలిసినట్లుగా, మాకు నొప్పి తెలుసు.
- మేము మా కోసం విక్టోరియామెట్రిక్స్ని ఎంచుకున్నాము.
- ఇది నిలువుగా మరియు అడ్డంగా బాగా స్కేల్ చేస్తుంది.
- మేము క్లస్టర్లోని వివిధ సంఖ్యల నోడ్లకు వేర్వేరు భాగాలను పంపిణీ చేయవచ్చు, వాటిని మెమరీ ద్వారా పరిమితం చేయవచ్చు, మెమరీని జోడించవచ్చు, మొదలైనవి.
మేము విక్టోరియామెట్రిక్స్ని ఇంట్లో ఉపయోగిస్తాము ఎందుకంటే మేము దీన్ని నిజంగా ఇష్టపడ్డాము. ఇది ఉన్నది మరియు మారింది.
VictoriaMetrics చాట్, నా పరిచయాలు, LeroyMerlin సాంకేతిక రాడార్ కోసం కొన్ని QR కోడ్లు.
మూలం: www.habr.com