Graphite 1.1 - Graphite Events

ग्रेफाइट इवेंट




graphite

ग्रेफाइट इवेंट

ग्रैफाइट को व्हिस्पर टाइम-सीरीज़ डेटाबेस ऑन-डिस्क फॉर्मेट का उपयोग करके सरल कुंजी / मूल्य मैट्रिक्स को संग्रहीत करने के लिए जाना जाता है। ग्रेफाइट के बारे में अच्छी तरह से ज्ञात नहीं है कि यह एक ऐसी घटना के रूप में भी जाना जाता है, जिसे इवेंट्स के रूप में जाना जाता है जो अनियमित घटनाओं के लिए उपयुक्त मैट्रिक्स भंडारण के एक समृद्ध रूप का समर्थन करता है जो अक्सर मेटाडेटा से जुड़ा होता है।

इस संग्रहण प्रारूप के लिए उपयुक्त डेटा के उदाहरणों में रिलीज, कमिट, एप्लिकेशन अपवाद और राज्य परिवर्तन शामिल हैं जहां आप पारंपरिक समय-श्रृंखला गतिविधि के साथ घटना को ट्रैक या सहसंबंधित कर सकते हैं।

डेटाबेस संग्रहण

जैसा कि व्हिस्पर को सरल समय-श्रृंखला डेटा (मीट्रिक कुंजी, मूल्य और टाइमस्टैम्प) रखने के लिए डिज़ाइन किया गया था, यह घटनाओं जैसे समृद्ध मीट्रिक डेटा को संग्रहीत करने के लिए पूरी तरह से अनुपयुक्त है। कई उपयोगकर्ता व्हिस्पर में साधारण नाम-प्रकार के डेटा (जैसे रिलीज़, राज्य परिवर्तन, आदि) को संग्रहीत करते रहते हैं और मीट्रिक नेमस्पेस के भीतर इसके अर्थ को एन्कोडिंग करके ग्रेफाइट के drawAsInfinite फ़ंक्शन के साथ एक ऊर्ध्वाधर रेखा के रूप में drawAsInfinite करते हैं।

हालांकि, इस पैटर्न का लाभ उठाने के लिए आमतौर पर इन सिंगलटन मेट्रिक फ़ाइलों और निर्देशिकाओं की एक महत्वपूर्ण संख्या में वाइल्डकार्ड के उपयोग की आवश्यकता होती है, जो सर्वर पर एक महत्वपूर्ण प्रदर्शन का कारण बन सकता है और इसके परिणामस्वरूप उपयोगकर्ताओं के लिए एक खराब अनुभव हो सकता है। इस अधिक परिष्कृत उपयोग के मामले को समायोजित करने के लिए, ग्रेफाइट के वेबैप डेटाबेस को इस नए मीट्रिक प्रकार का समर्थन करने के लिए बढ़ाया गया था।

ध्यान दें

इवेंट्स में ग्रेफाइट वेबएप संस्करण 0.9.9 या नए की आवश्यकता होती है।

घटनाएँ जोड़ना

ईवेंट को POST के माध्यम से कमांड लाइन टूल जैसे कि curl या विभिन्न प्रकार के HTTP प्रोग्रामिंग लाइब्रेरी के साथ प्रस्तुत किया जा सकता है। JSON प्रारूप सरल और अनुमानित है।

$ curl -X POST "http://graphite/events/"
    -d '{ "what": "Event - deploy", "tags": ["deploy"], "when": 1467844481,
    "data": "deploy of master branch happened at Wed Jul  6 22:34:41 UTC 2016" }'

when एक वैकल्पिक कुंजी होती है जो सेट नहीं होने पर वर्तमान यूनिक्स टाइमस्टैम्प पर सेट होती है।

नोट : 0.10.0 से पहले, tags का मूल्य एक स्ट्रिंग है, जिसमें कई टैग एक स्थान से अलग हो जाते हैं।

घटनाओं को छोड़कर

ग्रेफाइट आपको घटनाओं से जुड़े टैग के लिए क्वेरी करने की अनुमति देता है। आप एक एकल टैग स्ट्रिंग, स्थान-सीमांकित टैग का एक संयोजन, या events फ़ंक्शन का उपयोग करके एक सरल * वाइल्डकार्ड खोज सकते हैं।

$ curl -s "http://graphite/render/?target=events('exception')&format=json" | json_pp

[
   {
      "target" : "events(exception)",
      "datapoints" : [
         [
            1,
            1388966651
         ],
         [
            3,
            1388966652
         ]
      ]
   }
]

एपीआई का उपयोग करके कच्ची घटनाओं को डंप करना भी संभव है।

$ curl -s "http://graphite/events/get_data?tags=deploy&from=-3hours&until=now" | json_pp

[
   {
      "when" : 1392046352,
      "tags" : ["deploy"],
      "data" : "deploy of master branch happened at Fri Jan 3 22:34:41 UTC 2014",
      "id" : 2,
      "what" : "Event - deploy"
   },
   {
      "id" : 3,
      "what" : "Event - deploy",
      "when" : 1392046661,
      "tags" : ["deploy"],
      "data" : "deploy of master branch happened at Fri Jan 3 22:34:41 UTC 2014"
   }
]

set पैरामीटर टैग्स के फ़िल्टरिंग सेट (यानी समावेशी या अनन्य) के लिए व्यवहार का निर्धारण करने के लिए एक वैकल्पिक union या intersection तर्क को स्वीकार करता है। डिफ़ॉल्ट रूप से, ग्रेफाइट एक "आलसी संघ" का उपयोग करता है जो टैग की सूची में दिए गए टैग के लिए किसी भी मिलान की घटनाओं को वापस कर देगा। यह व्यवहार सहज नहीं है और इसलिए भविष्य के रिलीज में अपदस्थ किया जाएगा।

व्यवस्थापन UI में ईवेंट प्रबंधित करना

घटनाओं को ग्रेफाइट प्रशासन मॉड्यूल का उपयोग करके प्रबंधित किया जा सकता है। यह एक बार में बड़ी संख्या में घटनाओं को हटाने के लिए विशेष रूप से उपयोगी है, हालांकि यह व्यक्तिगत घटनाओं को जोड़ने और संपादित करने का भी समर्थन करता है।