2013-08-07 11 views
10

मैं एक वेब अनुप्रयोग के उपकरण की प्रक्रिया शुरू कर रहा हूं, और जितना संभव हो उतने प्रासंगिक मीट्रिक इकट्ठा करने के लिए स्टैट्सडी का उपयोग कर रहा हूं। उदाहरण के लिए, यहां उच्च स्तरीय मीट्रिक नामों से मैं वर्तमान में उपयोग कर रहा हूँ के कुछ उदाहरण हैं:मेट्रिक्स के लिए आंकड़े/ग्रेफाइट नामकरण सम्मेलन

http.responseTime 
http.status.4xx 
http.status.5xx 
view.renderTime 
oauth.begin.facebook 
oauth.complete.facebook 
oauth.time.facebook 
users.active 

... और कई, कई और अधिक कर रहे हैं। जो मैं अभी साथ जोड़ रहा हूं वह एक सतत पदानुक्रम स्थापित कर रहा है और विभिन्न मीट्रिक के लिए नामकरण सम्मेलनों का सेट है, ताकि वर्तमान लोग समझ सकें और भविष्य में मेट्रिक्स जोड़ने के लिए तार्किक बाल्टी हैं।

मेरा प्रश्न है दो गुना:

  1. प्रासंगिक कौन-सी मीट्रिक आप जमा हो रहे हैं कि आप indespensible पाया है?
  2. मेट्रिक्स को वर्गीकृत करने के लिए आप किस नामकरण संरचना का उपयोग कर रहे हैं?
+0

[ग्रेफाइट और आंकड़े में नामकरण पैटर्न] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/17542088/naming-pattern-in-graphite-and-statsd) – Freiheit

उत्तर

13

यह एक प्रश्न है जिसका कोई निश्चित उत्तर नहीं है, लेकिन यहां हम Datadog पर यह कैसे करते हैं (हम एक होस्टेड निगरानी सेवा हैं इसलिए हम इन चीजों पर जुनून करते हैं)।

1. कौन से मेट्रिक्स अनिवार्य हैं? यह दर्शक पर निर्भर करता है। लेकिन एक उच्च स्तर पर, प्रत्येक टीम के लिए, कोई भी मीट्रिक जो संभवतः अपने लक्ष्यों के करीब है (जो इकट्ठा करने के लिए सबसे आसान नहीं हो सकता है)।

सिस्टम मीट्रिक (उदा। सिस्टम लोड, मेमोरी इत्यादि) इकट्ठा करने के लिए तुच्छ हैं लेकिन शायद ही कभी क्रियाशील हैं क्योंकि वे विश्वसनीय रूप से संभावित कारण से कनेक्ट करने के लिए बहुत कठिन हैं।

दूसरी तरफ पूरा उत्पाद पर्यटन की संख्या किसी भी व्यक्ति को यह सुनिश्चित करने के लिए जिम्मेदार है कि नए उपयोगकर्ता उत्पाद का उपयोग करने वाले पहले मिनट से खुश हैं। StatsD इस तरह की चीजें इकट्ठा करने में आसानी से आसान बनाता है।

हमने यह भी पाया है कि उत्पाद के रूप में किसी भी टीमchanges के लिए महत्वपूर्ण मीट्रिक का मूल सेट विकसित होता है, इसलिए निरंतर संपादकीय प्रक्रिया है।

जो बदले में है कि कंपनी में से किसी को भी चुनने और चुनने में सक्षम होना चाहिए कि कौन से मीट्रिक उनके लिए महत्वपूर्ण हैं। कोई अनुमति नहीं पूछा गया, डेटा प्राप्त करने के लिए कोई घर्षण नहीं।

2. नामकरण संरचना पदानुक्रम का उच्चतम स्तर उत्पाद लाइन या प्रक्रिया है। हमारे वेब फ्रंटएंड को आंतरिक रूप से dogweb कहा जाता है, इसलिए उस घटक से सभी मीट्रिक dogweb. के साथ prefixed हैं। पदानुक्रम का अगला स्तर उप-घटक है, उदा। dogweb.db., dogweb.http., आदि पदानुक्रम का अंतिम स्तर मापने वाली चीज है (उदा। renderTime या responseTime)।

ग्रेफाइट में अनसुलझा मुद्दा मेट्रिक नाम में मीट्रिक मेटाडेटा का एन्कोडिंग है (और * का उपयोग करके चयन, उदाहरण dogweb.http.browser.*.renderTime) यह चालाक है लेकिन रास्ते में जा सकता है।

हमने अपने डेटा मॉडल में स्पष्ट मेटाडेटा लागू करने का अंत किया, लेकिन यह आंकड़े/ग्रेफाइट में नहीं है इसलिए मैं विवरण छोड़ दूंगा। यदि आप और जानना चाहते हैं, तो सीधे मुझसे संपर्क करें।

संबंधित मुद्दे