కొత్త అవశేషాలు మాత్రమే కాదు: డేటాడాగ్ మరియు అటాటస్పై ఒక లుక్
SRE/DevOps ఇంజనీర్ల వాతావరణంలో, ఒక రోజు క్లయింట్ (లేదా మానిటరింగ్ సిస్టమ్) కనిపించడం మరియు “అంతా పోయింది” అని నివేదించడం ఎవరినీ ఆశ్చర్యపరచదు: సైట్ పనిచేయదు, చెల్లింపులు జరగవు, జీవితం క్షీణిస్తోంది. ... అటువంటి పరిస్థితిలో మీరు ఎంత సహాయం చేయాలనుకున్నా, సరళమైన మరియు అర్థమయ్యే సాధనం లేకుండా దీన్ని చేయడం చాలా కష్టం. తరచుగా సమస్య అప్లికేషన్ కోడ్లోనే దాగి ఉంటుంది; మీరు దాన్ని స్థానికీకరించాలి.
మరియు దుఃఖంలో మరియు ఆనందంలో ...
మేము కొత్త రెలిక్తో చాలా కాలంగా మరియు లోతుగా ప్రేమలో పడ్డాము. ఇది అప్లికేషన్ పనితీరును పర్యవేక్షించడానికి ఒక అద్భుతమైన సాధనం మరియు అలాగే ఉంది మరియు మైక్రోసర్వీస్ ఆర్కిటెక్చర్ (దాని ఏజెంట్ని ఉపయోగించి) మరియు మరెన్నో ఇన్స్ట్రుమెంట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. సేవ యొక్క ధర విధానంలో మార్పులు చేయకుంటే ప్రతిదీ గొప్పగా ఉండవచ్చు: ఇది ఖర్చు నుండి 2013 సంవత్సరం 3+ రెట్లు పెరిగింది. అదనంగా, గత సంవత్సరం నుండి, ట్రయల్ ఖాతాను పొందేందుకు వ్యక్తిగత మేనేజర్తో కమ్యూనికేషన్ అవసరం, ఇది సంభావ్య కస్టమర్కు ఉత్పత్తిని ప్రదర్శించడం కష్టతరం చేస్తుంది.
సాధారణ పరిస్థితి: "శాశ్వత ప్రాతిపదికన" కొత్త రెలిక్ అవసరం లేదు; సమస్యలు ప్రారంభమైనప్పుడు మాత్రమే వారు దానిని గుర్తుంచుకుంటారు. కానీ మీరు ఇప్పటికీ క్రమం తప్పకుండా చెల్లించవలసి ఉంటుంది (ఒక సర్వర్కు నెలకు 140 USD), మరియు స్వయంచాలకంగా స్కేలింగ్ క్లౌడ్ ఇన్ఫ్రాస్ట్రక్చర్లో మొత్తాలు పెద్దవిగా ఉంటాయి. Pay-As-You-Go ఎంపిక ఉన్నప్పటికీ, కొత్త రెలిక్ని ప్రారంభించడం వలన మీరు అప్లికేషన్ను పునఃప్రారంభించవలసి ఉంటుంది, దీని వలన ఇది ప్రారంభించబడిన సమస్యాత్మక పరిస్థితిని కోల్పోవచ్చు. కొంతకాలం క్రితం, న్యూ రెలిక్ కొత్త టారిఫ్ ప్లాన్ను ప్రవేశపెట్టింది - ఎస్సెన్షియల్స్, - ఇది మొదటి చూపులో ప్రొఫెషనల్కి సహేతుకమైన ప్రత్యామ్నాయంగా కనిపిస్తుంది ... కానీ దగ్గరగా పరిశీలించినప్పుడు కొన్ని ముఖ్యమైన విధులు లేవు (ముఖ్యంగా, ఇది లేదు కీలక లావాదేవీలు, క్రాస్ అప్లికేషన్ ట్రేసింగ్, పంపిణీ చేయబడిన ట్రేసింగ్).
ఫలితంగా, మేము చౌకైన ప్రత్యామ్నాయం కోసం వెతకడం గురించి ఆలోచించడం ప్రారంభించాము మరియు మా ఎంపిక రెండు సేవలపై పడింది: డేటాడాగ్ మరియు అటాటస్. వాటిపై ఎందుకు?
పోటీదారుల గురించి
మార్కెట్లో ఇతర పరిష్కారాలు ఉన్నాయని వెంటనే చెప్పనివ్వండి. మేము ఓపెన్ సోర్స్ ఎంపికలను కూడా పరిగణించాము, కానీ ప్రతి క్లయింట్కు స్వీయ-హోస్ట్ చేసిన పరిష్కారాలను హోస్ట్ చేసే ఉచిత సామర్థ్యం ఉండదు... - అదనంగా, వారికి అదనపు నిర్వహణ అవసరం. మేము ఎంచుకున్న జంట అత్యంత సన్నిహితంగా మారింది మా అవసరాలు:
PHP అప్లికేషన్ల కోసం అంతర్నిర్మిత మరియు అభివృద్ధి చెందిన మద్దతు (మా క్లయింట్ల స్టాక్ చాలా వైవిధ్యమైనది, అయితే ఇది కొత్త రెలిక్కి ప్రత్యామ్నాయం కోసం శోధించే సందర్భంలో స్పష్టమైన నాయకుడు);
సరసమైన ధర (హోస్ట్కు నెలకు 100 USD కంటే తక్కువ);
ఆటోమేటిక్ ఇన్స్ట్రుమెంటేషన్;
కుబెర్నెట్స్తో ఏకీకరణ;
న్యూ రెలిక్ ఇంటర్ఫేస్కు సారూప్యత గమనించదగ్గ ప్లస్ (ఎందుకంటే మా ఇంజనీర్లు దీనిని ఉపయోగిస్తారు).
అందువల్ల, ప్రారంభ ఎంపిక దశలో, మేము అనేక ఇతర ప్రసిద్ధ పరిష్కారాలను తొలగించాము మరియు ముఖ్యంగా:
Tideways, AppDynamics మరియు Dynatrace - ఖర్చు కోసం;
Stackify రష్యన్ ఫెడరేషన్లో బ్లాక్ చేయబడింది మరియు చాలా తక్కువ డేటాను చూపుతుంది.
ప్రశ్నలోని పరిష్కారాలు మొదట క్లుప్తంగా ప్రదర్శించబడే విధంగా మిగిలిన కథనం నిర్మితమైంది, ఆ తర్వాత నేను న్యూ రెలిక్తో మా విలక్షణమైన పరస్పర చర్య గురించి మరియు ఇతర సేవల్లో ఇలాంటి కార్యకలాపాలను నిర్వహించడం నుండి అనుభవం/ఇంప్రెషన్ల గురించి మాట్లాడతాను.
ఎంపిక చేసిన పోటీదారుల ప్రదర్శన
న న్యూ రెలిక్, బహుశా ప్రతి ఒక్కరూ విన్నారు? ఈ సేవ 10 సంవత్సరాల క్రితం, 2008లో దాని అభివృద్ధిని ప్రారంభించింది. మేము దీన్ని 2012 నుండి చురుకుగా ఉపయోగిస్తున్నాము మరియు PHP, రూబీ మరియు పైథాన్లలో నిజంగా పెద్ద సంఖ్యలో అప్లికేషన్లను ఏకీకృతం చేయడంలో ఎటువంటి సమస్యలు లేవు మరియు మేము C# మరియు Goతో అనుసంధానించే అనుభవం కూడా కలిగి ఉన్నాము. సేవ యొక్క రచయితలు అప్లికేషన్లను పర్యవేక్షించడం, మౌలిక సదుపాయాలు, మైక్రోసర్వీస్ ఇన్ఫ్రాస్ట్రక్చర్లను గుర్తించడం, వినియోగదారు పరికరాల కోసం అనుకూలమైన అప్లికేషన్లను సృష్టించడం మరియు మరిన్నింటి కోసం పరిష్కారాలను కలిగి ఉన్నారు.
అయినప్పటికీ, కొత్త రెలిక్ ఏజెంట్ యాజమాన్య ప్రోటోకాల్లపై నడుస్తుంది మరియు ఓపెన్ట్రేసింగ్కు మద్దతు ఇవ్వదు. అధునాతన ఇన్స్ట్రుమెంటేషన్కు ప్రత్యేకంగా న్యూ రెలిక్ కోసం సవరణలు అవసరం. చివరగా, కుబెర్నెటెస్ మద్దతు ఇప్పటికీ ప్రయోగాత్మకంగా ఉంది.
2010లో దాని అభివృద్ధిని ప్రారంభించింది డేటాడాగ్ కుబెర్నెటెస్ పరిసరాలలో ఉపయోగం పరంగా న్యూ రెలిక్ కంటే మరింత ఆసక్తికరంగా కనిపిస్తుంది. ప్రత్యేకించి, ఇది NGINX ప్రవేశం, లాగ్ సేకరణ, statsd మరియు OpenTracing ప్రోటోకాల్లతో ఏకీకరణకు మద్దతు ఇస్తుంది, ఇది వినియోగదారు అభ్యర్థనను పూర్తి చేయడానికి కనెక్ట్ చేయబడిన క్షణం నుండి ట్రాక్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, అలాగే ఈ అభ్యర్థన కోసం లాగ్లను కనుగొనడానికి (రెండూ వెబ్ సర్వర్ వైపున) మరియు వినియోగదారులపై).
డేటాడాగ్ని ఉపయోగిస్తున్నప్పుడు, అది కొన్నిసార్లు మైక్రోసర్వీస్ మ్యాప్ను తప్పుగా నిర్మించినట్లు మరియు కొన్ని సాంకేతిక లోపాలను మేము ఎదుర్కొన్నాము. ఉదాహరణకు, ఇది సేవా రకాన్ని తప్పుగా గుర్తించింది (జాంగోను కాషింగ్ సేవ కోసం తప్పుగా భావించడం) మరియు ప్రసిద్ధ ప్రిడిస్ లైబ్రరీని ఉపయోగించి PHP అప్లికేషన్లో 500 ఎర్రర్లకు కారణమైంది.
అటాటస్ - చిన్న వాయిద్యం; ఈ సేవ 2014లో ప్రారంభించబడింది. దాని మార్కెటింగ్ బడ్జెట్ జాబితా చేయబడిన పోటీదారుల కంటే స్పష్టంగా తక్కువగా ఉంది, ప్రస్తావనలు చాలా తక్కువ సాధారణం. అయినప్పటికీ, సాధనం దాని సామర్థ్యాలలో (APM, బ్రౌజర్ పర్యవేక్షణ, మొదలైనవి) మాత్రమే కాకుండా, ప్రదర్శనలో కూడా న్యూ రెలిక్కి చాలా పోలి ఉంటుంది.
ఒక ముఖ్యమైన లోపం ఏమిటంటే ఇది Node.js మరియు PHPలకు మాత్రమే మద్దతు ఇస్తుంది. మరోవైపు, ఇది డేటాడాగ్ కంటే మెరుగ్గా అమలు చేయబడుతుంది. రెండోది కాకుండా, అటాటస్కి సవరణలు చేయడానికి లేదా కోడ్కి అదనపు లేబుల్లను జోడించడానికి అప్లికేషన్లు అవసరం లేదు.
మేము కొత్త రెలిక్తో ఎలా పని చేస్తాము
ఇప్పుడు మనం సాధారణంగా కొత్త రెలిక్ని ఎలా ఉపయోగిస్తామో తెలుసుకుందాం. మనకు పరిష్కారం అవసరమయ్యే సమస్య ఉందని చెప్పండి:
గ్రాఫ్లో చూడటం సులభం всплеск - దానిని విశ్లేషిద్దాం. కొత్త రెలిక్లో, వెబ్ అప్లికేషన్ కోసం వెబ్ లావాదేవీలు తక్షణమే ఎంపిక చేయబడతాయి, అన్ని భాగాలు పనితీరు గ్రాఫ్లో సూచించబడతాయి, ఎర్రర్-రేట్, అభ్యర్థన-రేట్ ప్యానెల్లు ఉన్నాయి... చాలా ముఖ్యమైనది ఏమిటంటే, ఈ ప్యానెల్ల నుండి నేరుగా మీరు వేర్వేరు మధ్య కదలవచ్చు అప్లికేషన్ యొక్క భాగాలు (ఉదాహరణకు, MySQLపై క్లిక్ చేయడం డేటాబేస్ విభాగానికి దారి తీస్తుంది).
పరిశీలనలో ఉన్న ఉదాహరణలో మేము కార్యాచరణలో పెరుగుదలను చూస్తాము PHP, ఈ చార్ట్పై క్లిక్ చేసి స్వయంచాలకంగా వెళ్ళండి ట్రాన్సాక్షన్స్:
MVC మోడల్ నుండి తప్పనిసరిగా కంట్రోలర్లు అయిన లావాదేవీల జాబితా ఇప్పటికే క్రమబద్ధీకరించబడింది ఎక్కువ సమయం తీసుకుంటుంది, ఇది చాలా సౌకర్యవంతంగా ఉంటుంది: అప్లికేషన్ ఏమి చేస్తుందో మేము వెంటనే చూస్తాము. కొత్త రెలిక్ ద్వారా స్వయంచాలకంగా సేకరించబడే సుదీర్ఘ ప్రశ్నల ఉదాహరణలు ఇక్కడ ఉన్నాయి. క్రమబద్ధీకరణను మార్చడం ద్వారా, కనుగొనడం సులభం:
అత్యంత లోడ్ చేయబడిన అప్లికేషన్ కంట్రోలర్;
చాలా తరచుగా అభ్యర్థించిన కంట్రోలర్;
కంట్రోలర్లలో అత్యంత నెమ్మదిగా ఉంటుంది.
అదనంగా, మీరు ప్రతి లావాదేవీని విస్తరించవచ్చు మరియు కోడ్ అమలు చేయబడిన సమయంలో అప్లికేషన్ ఏమి చేస్తుందో చూడవచ్చు:
చివరగా, అప్లికేషన్ దీర్ఘ అభ్యర్థనల జాడల ఉదాహరణలను నిల్వ చేస్తుంది (2 సెకన్ల కంటే ఎక్కువ సమయం తీసుకునేవి). సుదీర్ఘ లావాదేవీకి సంబంధించిన ప్యానెల్ ఇక్కడ ఉంది:
రెండు పద్ధతులు చాలా సమయం తీసుకుంటాయని చూడవచ్చు మరియు అదే సమయంలో అభ్యర్థన అమలు చేయబడిన సమయంలో, దాని URI మరియు డొమైన్ కూడా చూపబడతాయి. చాలా తరచుగా ఇది లాగ్లలో అభ్యర్థనను కనుగొనడంలో సహాయపడుతుంది. కు వెళ్తున్నారు ట్రేస్ వివరాలు, ఈ పద్ధతులు ఎక్కడ నుండి పిలవబడతాయో మీరు చూడవచ్చు:
మరియు లో డేటాబేస్ ప్రశ్నలు - అప్లికేషన్ నడుస్తున్నప్పుడు అమలు చేయబడిన డేటాబేస్లకు సంబంధించిన ప్రశ్నలను మూల్యాంకనం చేయండి:
ఈ పరిజ్ఞానంతో పకడ్బందీగా, అప్లికేషన్ ఎందుకు నెమ్మదించబడుతుందో మేము విశ్లేషించవచ్చు మరియు సమస్యను పరిష్కరించడానికి ఒక వ్యూహాన్ని రూపొందించడానికి డెవలపర్తో కలిసి పని చేయవచ్చు. వాస్తవానికి, న్యూ రెలిక్ ఎల్లప్పుడూ స్పష్టమైన చిత్రాన్ని ఇవ్వదు, కానీ ఇది పరిశోధన యొక్క వెక్టర్ను ఎంచుకోవడానికి సహాయపడుతుంది:
దీర్ఘ PDO::Construct pgpoll యొక్క వింత పనితీరుకు దారితీసింది;
కాలక్రమేణా అస్థిరత Memcache::Get వర్చువల్ మెషీన్ తప్పుగా కాన్ఫిగర్ చేయబడిందని సూచించింది;
టెంప్లేట్ ప్రాసెసింగ్ కోసం అనుమానాస్పదంగా పెరిగిన సమయం ఆబ్జెక్ట్ నిల్వలో 500 అవతారాల ఉనికిని తనిఖీ చేసే సమూహ లూప్కు దారితీసింది;
మొదలైనవి...
కోడ్ని అమలు చేయడానికి బదులుగా, బాహ్య డేటా నిల్వకు సంబంధించిన ఏదైనా ప్రధాన స్క్రీన్పై పెరుగుతుంది - మరియు అది ఎలా ఉంటుందో అది పట్టింపు లేదు: Redis లేదా PostgreSQL - అవన్నీ ట్యాబ్లో దాచబడ్డాయి. డేటాబేస్లు.
మీరు పరిశోధన కోసం నిర్దిష్ట స్థావరాన్ని ఎంచుకోవచ్చు మరియు ప్రశ్నలను క్రమబద్ధీకరించవచ్చు - లావాదేవీలలో ఇది ఎలా జరుగుతుంది. మరియు అభ్యర్థన ట్యాబ్కు వెళ్లడం ద్వారా, ప్రతి అప్లికేషన్ కంట్రోలర్లలో ఈ అభ్యర్థన ఎన్నిసార్లు జరుగుతుందో మీరు చూడవచ్చు మరియు ఇది ఎంత తరచుగా పిలవబడుతుందో కూడా అంచనా వేయవచ్చు. ఇది చాలా సౌకర్యవంతంగా ఉంటుంది:
ట్యాబ్ సారూప్య డేటాను కలిగి ఉంది బాహ్య సేవలు, ఇది బాహ్య HTTP సేవలకు అభ్యర్థనలను దాచిపెడుతుంది, ఉదాహరణకు ఆబ్జెక్ట్ నిల్వను యాక్సెస్ చేయడం, ఈవెంట్లను సెంట్రీకి పంపడం లేదా ఇలాంటివి. ట్యాబ్ యొక్క కంటెంట్ పూర్తిగా డేటాబేస్లను పోలి ఉంటుంది:
పోటీదారులు: అవకాశాలు మరియు ముద్రలు
ఇప్పుడు అత్యంత ఆసక్తికరమైన విషయం ఏమిటంటే, కొత్త రెలిక్ యొక్క సామర్థ్యాలను పోటీదారులు అందించే వాటితో పోల్చడం. దురదృష్టవశాత్తూ, మేము ఉత్పత్తిలో నడుస్తున్న ఒక అప్లికేషన్ యొక్క ఒక వెర్షన్లో మూడు సాధనాలను పరీక్షించలేకపోయాము. అయినప్పటికీ, మేము సాధ్యమైనంత ఒకేలా ఉండే పరిస్థితులు/కాన్ఫిగరేషన్లను పోల్చడానికి ప్రయత్నించాము.
1. డేటాడాగ్
సేవల గోడతో కూడిన ప్యానెల్తో డేటాడాగ్ మమ్మల్ని పలకరిస్తుంది:
ఇది అప్లికేషన్లను భాగాలు/మైక్రో సర్వీసెస్గా విభజించడానికి ప్రయత్నిస్తుంది, కాబట్టి ఉదాహరణ జంగో అప్లికేషన్లో మనం PostgreSQLకి 2 కనెక్షన్లను చూస్తాము (defaultdb и postgres), అలాగే సెలెరీ, రెడిస్. డేటాడాగ్తో పని చేయడానికి మీకు MVC సూత్రాల గురించి కనీస పరిజ్ఞానం అవసరం: వినియోగదారు అభ్యర్థనలు సాధారణంగా ఎక్కడ నుండి వస్తాయో మీరు అర్థం చేసుకోవాలి. ఇది సాధారణంగా సహాయపడుతుంది సేవల మ్యాప్:
మార్గం ద్వారా, కొత్త రెలిక్లో ఇలాంటిదే ఉంది:
... మరియు వారి మ్యాప్, నా అభిప్రాయం ప్రకారం, సరళంగా మరియు స్పష్టంగా రూపొందించబడింది: ఇది ఒక అప్లికేషన్ యొక్క భాగాలను ప్రదర్శించదు (డేటాడాగ్ విషయంలో వలె ఇది చాలా వివరంగా ఉంటుంది), కానీ నిర్దిష్ట సేవలు లేదా మైక్రోసర్వీస్లు మాత్రమే.
డేటాడాగ్కి తిరిగి వెళ్దాం: సేవా మ్యాప్ నుండి వినియోగదారు అభ్యర్థనలు జంగోకు రావడాన్ని మనం చూడవచ్చు. జంగో సేవకు వెళ్దాం మరియు చివరకు మనం ఏమి ఊహించామో చూద్దాం:
దురదృష్టవశాత్తూ, డిఫాల్ట్గా ఇక్కడ గ్రాఫ్ లేదు వెబ్ లావాదేవీ సమయం, ప్రధాన న్యూ రెలిక్ ప్యానెల్లో మనం చూసే విధంగా ఉంటుంది. అయితే, ఇది షెడ్యూల్ స్థానంలో కాన్ఫిగర్ చేయవచ్చు గడిపిన సమయం %. దానికి మారితే సరిపోతుంది రకం ద్వారా అభ్యర్థనకు సగటు సమయం... మరియు ఇప్పుడు తెలిసిన గ్రాఫ్ మనవైపు చూస్తోంది!
డేటాడాగ్ వేరొక చార్ట్ని ఎందుకు ఎంచుకుంది అనేది మనకు ఒక రహస్యం. మరొక నిరుత్సాహకరమైన విషయం ఏమిటంటే, సిస్టమ్ వినియోగదారు ఎంపికను గుర్తుంచుకోదు (ఇద్దరు పోటీదారుల వలె కాకుండా), అందువల్ల కస్టమ్ ప్యానెల్లను సృష్టించడం మాత్రమే పరిష్కారం.
కానీ డేటాడాగ్లో ఈ గ్రాఫ్ల నుండి సంబంధిత సర్వర్ల మెట్రిక్లకు మారడం, లాగ్లను చదవడం మరియు వెబ్ సర్వర్ హ్యాండ్లర్లపై (గునికార్న్) లోడ్ని మూల్యాంకనం చేయగల సామర్థ్యంతో నేను సంతోషించాను. న్యూ రెలిక్లో అన్నీ దాదాపు ఒకే విధంగా ఉన్నాయి... ఇంకా కొంచెం ఎక్కువ (లాగ్లు) కూడా!
గ్రాఫ్ల క్రింద లావాదేవీలు పూర్తిగా కొత్త రెలిక్కి సమానంగా ఉంటాయి:
డేటాడాగ్లో, లావాదేవీలు అంటారు వనరులు. మీరు అభ్యర్థనల సంఖ్య, సగటు ప్రతిస్పందన సమయం మరియు ఎంచుకున్న వ్యవధిలో గడిపిన గరిష్ట సమయం ద్వారా కంట్రోలర్లను క్రమబద్ధీకరించవచ్చు.
మీరు వనరును విస్తరించవచ్చు మరియు మేము ఇప్పటికే కొత్త రెలిక్లో గమనించిన ప్రతిదాన్ని చూడవచ్చు:
వనరుపై గణాంకాలు, అంతర్గత కాల్ల సాధారణ జాబితా మరియు ప్రతిస్పందన కోడ్ ద్వారా క్రమబద్ధీకరించబడే అభ్యర్థనల ఉదాహరణలు ఉన్నాయి... మార్గం ద్వారా, మా ఇంజనీర్లు ఈ క్రమబద్ధీకరణను నిజంగా ఇష్టపడ్డారు.
డేటాడాగ్లోని ఏదైనా ఉదాహరణ వనరును తెరవవచ్చు మరియు అధ్యయనం చేయవచ్చు:
అభ్యర్థన పారామీటర్లు, ప్రతి భాగంపై గడిపిన సమయం యొక్క సారాంశ చార్ట్ మరియు కాల్ల క్రమాన్ని చూపించే జలపాత చార్ట్ ప్రదర్శించబడతాయి. మీరు జలపాతం చార్ట్ యొక్క చెట్టు వీక్షణకు కూడా మారవచ్చు:
మరియు అత్యంత ఆసక్తికరమైన విషయం ఏమిటంటే, అభ్యర్థన అమలు చేయబడిన హోస్ట్ యొక్క లోడ్ను వీక్షించడం మరియు అభ్యర్థన లాగ్లను వీక్షించడం.
గొప్ప ఏకీకరణ!
ట్యాబ్లు ఎక్కడ ఉన్నాయని మీరు ఆశ్చర్యపోవచ్చు డేటాబేస్లు и బాహ్య సేవలు, న్యూ రెలిక్ లో వలె. ఇక్కడ ఏవీ లేవు: Datadog అప్లికేషన్ను భాగాలుగా విడదీస్తుంది కాబట్టి, PostgreSQL పరిగణించబడుతుంది ఒక ప్రత్యేక సేవ, మరియు బాహ్య సేవలకు బదులుగా ఇది వెతకడం విలువైనది aws.storage (అప్లికేషన్ యాక్సెస్ చేయగల ప్రతి ఇతర బాహ్య సేవకు ఇది సమానంగా ఉంటుంది).
ఇక్కడ ఒక ఉదాహరణ ఉంది postgres:
ముఖ్యంగా మనం కోరుకున్నవన్నీ ఉన్నాయి:
అభ్యర్థన ఏ “సేవ” నుండి వచ్చిందో మీరు చూడవచ్చు.
డేటాడాగ్ NGINX ఇన్గ్రెస్తో సంపూర్ణంగా అనుసంధానించబడిందని మరియు క్లస్టర్లో అభ్యర్థన వచ్చిన క్షణం నుండి ఎండ్-టు-ఎండ్ ట్రేసింగ్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది మరియు statsd మెట్రిక్లను స్వీకరించడానికి, లాగ్లను మరియు హోస్ట్ మెట్రిక్లను స్వీకరించడానికి మిమ్మల్ని అనుమతిస్తుంది అని మీకు గుర్తు చేయడం తప్పు కాదు. .
డేటాడాగ్ యొక్క భారీ ప్లస్ దాని ధర అభివృద్ధి చెందుతుంది ఇన్ఫ్రాస్ట్రక్చర్ మానిటరింగ్, APM, లాగ్ మేనేజ్మెంట్ మరియు సింథటిక్స్ టెస్ట్ నుండి, అనగా. మీరు మీ ప్రణాళికను సరళంగా ఎంచుకోవచ్చు.
2.అటాటస్
అటాటస్ బృందం వారి సేవ "న్యూ రెలిక్ లాగానే ఉంది, కానీ మెరుగైనది" అని పేర్కొంది. ఇది నిజంగా అలా ఉందో లేదో చూద్దాం.
ప్రధాన ప్యానెల్ ఒకేలా కనిపిస్తుంది, కానీ అప్లికేషన్లో ఉపయోగించిన Redis మరియు memcachedని గుర్తించడం సాధ్యం కాదు.
APM డిఫాల్ట్గా అన్ని లావాదేవీలను ఎంచుకుంటుంది, అయితే సాధారణంగా వెబ్ లావాదేవీలు మాత్రమే అవసరమవుతాయి. డేటాడాగ్ వలె, ప్రధాన ప్యానెల్ నుండి కావలసిన సేవకు నావిగేట్ చేయడానికి మార్గం లేదు. అంతేకాకుండా, లావాదేవీలు ఎర్రర్ల తర్వాత జాబితా చేయబడ్డాయి, ఇది APMకి చాలా లాజికల్గా అనిపించదు.
అటాటస్ లావాదేవీలలో, ప్రతిదీ న్యూ రెలిక్కి వీలైనంత సారూప్యంగా ఉంటుంది. ప్రతికూలత ఏమిటంటే ప్రతి కంట్రోలర్కు డైనమిక్స్ వెంటనే కనిపించవు. మీరు నియంత్రిక పట్టికలో దాని కోసం క్రమబద్ధీకరించాలి ఎక్కువ సమయం వినియోగించబడింది:
ట్యాబ్లో సాధారణ కంట్రోలర్ల జాబితా అందుబాటులో ఉంటుంది అన్వేషించండి:
కొన్ని మార్గాల్లో, ఈ పట్టిక డేటాడాగ్ని గుర్తుకు తెస్తుంది మరియు న్యూ రెలిక్లోని సారూప్యత కంటే నాకు బాగా నచ్చింది.
మీరు ప్రతి లావాదేవీని విస్తరించవచ్చు మరియు అప్లికేషన్ ఏమి చేస్తుందో చూడవచ్చు:
ప్యానెల్ డేటాడాగ్ను కూడా గుర్తుకు తెస్తుంది: అనేక అభ్యర్థనలు ఉన్నాయి, కాల్ల సాధారణ చిత్రం. ఎగువ ప్యానెల్ ఎర్రర్ ట్యాబ్ను అందిస్తుంది HTTP వైఫల్యాలు మరియు నెమ్మదిగా ప్రశ్నలకు ఉదాహరణలు సెషన్ జాడలు:
మీరు లావాదేవీకి వెళ్లినట్లయితే, మీరు ట్రేస్ యొక్క ఉదాహరణను చూడవచ్చు, మీరు డేటాబేస్కు అభ్యర్థనల జాబితాను పొందవచ్చు మరియు అభ్యర్థన శీర్షికలను చూడవచ్చు. ప్రతిదీ కొత్త రెలిక్ మాదిరిగానే ఉంటుంది:
సాధారణంగా, అటాటస్ వివరణాత్మక జాడలతో సంతృప్తి చెందారు - రిమైండర్ బ్లాక్లో కాల్ల యొక్క సాధారణ న్యూ రెలిక్ గ్లైయింగ్ లేకుండా:
అయినప్పటికీ, అది (న్యూ రెలిక్ వంటిది) అతి-వేగవంతమైన అభ్యర్థనలను (<5మి.లు) తగ్గించే ఫిల్టర్ లేదు. మరోవైపు, చివరి లావాదేవీ ప్రతిస్పందన (విజయం లేదా లోపం) ప్రదర్శన నాకు నచ్చింది.
ప్యానెల్ డేటాబేస్లు అప్లికేషన్ చేసే బాహ్య డేటాబేస్లకు అభ్యర్థనలను అధ్యయనం చేయడంలో మీకు సహాయం చేస్తుంది. Redis మరియు memcached కూడా ప్రాజెక్ట్లో పాలుపంచుకున్నప్పటికీ Atatus PostgreSQL మరియు MySQLలను మాత్రమే కనుగొన్నట్లు నేను మీకు గుర్తు చేస్తున్నాను.
అభ్యర్థనలు సాధారణ ప్రమాణాల ప్రకారం క్రమబద్ధీకరించబడతాయి: ప్రతిస్పందన ఫ్రీక్వెన్సీ, సగటు ప్రతిస్పందన సమయం మరియు మొదలైనవి. నేను నెమ్మదిగా ఉన్న ప్రశ్నలతో ట్యాబ్ను కూడా పేర్కొనాలనుకుంటున్నాను - ఇది చాలా సౌకర్యవంతంగా ఉంటుంది. అంతేకాకుండా, PostgreSQL కోసం ఈ ట్యాబ్లోని డేటా పొడిగింపు నుండి వచ్చిన డేటాతో సమానంగా ఉంటుంది pg_stat_statements - అద్భుతమైన ఫలితం!
ట్యాబ్ బాహ్య అభ్యర్థనలు డేటాబేస్లకు పూర్తిగా సమానంగా ఉంటుంది.
కనుగొన్న
అందించిన రెండు సాధనాలు APM పాత్రలో బాగా పనిచేశాయి. వాటిలో ఎవరైనా అవసరమైన కనీసాన్ని అందించవచ్చు. మా అభిప్రాయాలను క్లుప్తంగా ఈ క్రింది విధంగా సంగ్రహించవచ్చు:
డేటాడాగ్
ప్రోస్:
అనుకూలమైన టారిఫ్ షెడ్యూల్ (APM ఒక్కో హోస్ట్కు 31 USD ఖర్చు అవుతుంది);
పైథాన్తో బాగా పనిచేసింది;
OpenTracingతో ఏకీకరణ అవకాశం
కుబెర్నెట్స్తో ఏకీకరణ;
NGINX ప్రవేశంతో ఏకీకరణ.
కాన్స్:
మాడ్యూల్ లోపం (ప్రెడిస్) కారణంగా అప్లికేషన్ అందుబాటులో లేకుండా పోయేలా చేసిన ఏకైక APM;
బలహీనమైన PHP ఆటో-ఇన్స్ట్రుమెంటేషన్;
సేవలు మరియు వాటి ప్రయోజనం యొక్క పాక్షికంగా వింత నిర్వచనం.
అటాటస్
ప్రోస్:
లోతైన PHP ఇన్స్ట్రుమెంటేషన్;
కొత్త రెలిక్ మాదిరిగానే వినియోగదారు ఇంటర్ఫేస్.
కాన్స్:
పాత ఆపరేటింగ్ సిస్టమ్లలో పని చేయదు (Ubuntu 12.05, CentOS 5);
బలహీనమైన స్వీయ-వాయిద్యం;
రెండు భాషలకు మాత్రమే మద్దతు (Node.js మరియు PHP);
స్లో ఇంటర్ఫేస్.
అటాటస్ ప్రతి సర్వర్కు నెలకు 69 USD ధరను పరిగణనలోకి తీసుకుంటే, మేము డేటాడాగ్ని ఉపయోగిస్తాము, ఇది మా అవసరాలతో (K8లలో వెబ్ అప్లికేషన్లు) బాగా కలిసిపోతుంది మరియు అనేక ఉపయోగకరమైన లక్షణాలను కలిగి ఉంటుంది.