2015-09-18 6 views
8

के लिए स्प्रिंग बूट मीट्रिक का विस्तार करने के लिए स्प्रिंग बूट मेट्रिक्स का खुलासा करना मेरे पास क्लाउड फाउंड्री पर एक स्प्रिंग बूट एप्लिकेशन चल रहा है जो क्रमशः मेट्रिक्स और स्वास्थ्य जानकारी/मेट्रिक्स &/स्वास्थ्य अंतराल के माध्यम से मेट्रिक्स और स्वास्थ्य जानकारी का खुलासा करता है। मैं इन मेट्रिक्स को एक फ्लोर डैशबोर्ड पर विज़ुअलाइज़ेशन के लिए एक influxDB उपयोगकर्ता प्रदान की गई सेवा के लिए निरंतर स्ट्रीम के रूप में पोस्ट करना चाहता हूं। मैं ऐसे संसाधनों की तलाश में हूं जो बताते हैं कि डेटाफ्लो कैसे काम करेगा और किसी भी सुझाव की सराहना करेगा।ग्राफ़ाना विज़ुअलाइज़ेशन

धन्यवाद।

+0

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

+0

धन्यवाद - हाँ, मेरे पास केवल influxDB (ग्राफाना के साथ) मेरे बाध्यकारी है परिदृश्य – citizenBane

उत्तर

6

जहां तक ​​मुझे पता है कि कोई तैयार समाधान नहीं है। हालांकि आप क्या कर सकते हैं InfluxDB के लिए कस्टम Exporter लागू करें।

स्प्रिंग बूट में ऐसा करने का विवरण here पाया जा सकता है। सार क्या आप लागू करने की आवश्यकता में (या उपयोग एक निर्यातक कि InfluxDB के line protocol

एक अन्य संभावित समाधान के लिए स्प्रिंग बूट मैट्रिक्स डेटा धर्मान्तरित Spring Boot metrics into Dropwizard metrics पाने के लिए और उसके बाद InfluxDB में Dropwizard मेट्रिक्स रिपोर्ट करने के लिए this बाहरी लाइब्रेरी का उपयोग होगा ड्रॉपवार्ड मीट्रिक की master शाखा जो पहले से ही इन्फ्लक्स डीबी बैकएंड है)।

अंत में, यदि आप InfluxDB छोड़ और बजाय ग्रेफाइट के भंडारण (कानाफूसी डेटाबेस) में डेटा सहेजना चाहते हैं, तो आप बाहर this या this जांच होनी चाहिए। एक बार जब डेटा ग्रेफाइट में होता है, तो ग्राफ़ाना आसानी से इसे देख सकता है जैसा दिखाया गया है here

+0

बहुत धन्यवाद @geoand। मैंने आपके दूसरे सुझाव की कोशिश की है और https://github.com/davidB/metrics-influxdb बाहरी लाइब्रेरी से फंस गया है क्योंकि यह influxDB 0.8x 0.9x नहीं है। जबकि मैं इस पुस्तकालय के लिए एक फिक्स का इंतजार कर रहा हूं, क्या आप ग्रेफाइट एपीआई (आपके प्रारंभिक सुझाव) में डेटा की रिपोर्ट करने के लिए आपके द्वारा उल्लिखित संसाधनों को साझा कर सकते हैं? – citizenBane

+0

आपका स्वागत है! अतिरिक्त सुझावों के लिए मुझे अद्यतन उत्तर की जांच करें – geoand

+0

फिर से धन्यवाद। हालांकि, केवल काउंटर। * और गेज। * मेरे स्प्रिंग बूट एप्लिकेशन के मेट्रिक्स एंडपॉइंट से मीट्रिक ग्राफ़ाना (ग्रेफाइट के माध्यम से) में दिखाई दे रहे हैं। क्या एक निर्धारित नौकरी के रूप में जेवीएम पैरामीटर, सीपीयू उपयोग इत्यादि सहित मेट्रिक्स के पूरे सेट का पर्दाफाश करने का कोई तरीका है? मैं कुछ लिंक में आया हूं लेकिन ऐसा करने के लिए हर कोई अपना रास्ता (और अन्य पुस्तकालयों का उपयोग) करता है। आगे अनुशंसित तरीका क्या होगा? – citizenBane

3

इन्फ्लक्स डीबी में मेट्रिक्स को उत्सर्जित करने के लिए telegraf प्लगइन लिखना संभव हो सकता है। अन्यथा, influxdb-java लाइब्रेरी सीधे स्प्रिंग बूट से मीट्रिक उत्सर्जित करने को सरल बना सकती है।

1

वहाँ influxdb के साथ दो कार्यान्वयन संभव हो रहे हैं: -

क) influxdb संस्करण < के लिए = 0.8.8 आप influxdb सर्वर चल रहा पर अपने ऐप समय श्रृंखला डेटा डाल करने के लिए मीट्रिक-influxdb जार उपयोग कर सकते हैं।

बी) influxdb संस्करण> 0.8.8 के लिए आप influxdb-java jar का उपयोग अपने ऐप टाइम श्रृंखला डेटा को influxdb सर्वर चलाने के लिए कर सकते हैं।

अब कैसे & स्थापित करने के लिए के बारे में grafana साथ influxdb का प्रबंधन आप उपयोगी लिंक का अनुसरण पालन कर सकते हैं: - http://www.philipotoole.com/influxdb-and-grafana-howto/
http://blog.sflow.com/2014/12/influxdb-and-grafana.html
https://devops.profitbricks.com/tutorials/creating-a-grafana-and-influxdb-docker-container/
https://influxdb.com/docs/v0.6/ui/grafana.html

0

Telegraf अपनी आवश्यकताओं को पूरा करती है। यह जोलोकिया से डेटा खींचता है और इन्फ्लक्स डीबी में सहेजता है।

तुम सब SpringbootApplication के लिए actuator और jolokia सक्षम करने की जरूरत है, यह आपके Maven निर्भरता जोड़ना आसान है:

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-actuator</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.jolokia</groupId> 
     <artifactId>jolokia-core</artifactId> 
    </dependency> 

यह आप Telegraf कॉन्फ़िगर अपने वेब सर्वर और influxDB कनेक्ट करने की आवश्यकता के बाद, यहाँ है एक उदाहरण कॉन्फ़िगरेशन:

[tags] 
dc = "local-1" 

[agent] 
interval = "10s" 

[[inputs.jolokia]] 
context = "/jolokia" 

[[inputs.jolokia.servers]] 
name = "catalog" 
host = "{web server ip address}" 
port = "{web server port}" 

[[inputs.jolokia.metrics]] 
name = "metrics" 
mbean = "org.springframework.boot:name=metricsEndpoint,type=Endpoint" 
attribute = "Data" 

[outputs] 
[outputs.influxdb] 
url = "{http://influxdb:port}" 
database = "telegraf" 
precision = "s" 

सुनिश्चित करें कि ऊपरी कॉन्फ़िगरेशन का नेटवर्क उपलब्ध है, तो आपको FluxDB में डेटा मिलेगा।

कॉन्फ़िगर grafana influxDB में संग्रहीत डेटा प्रदर्शित करने के लिए:

  1. एक influxDB प्रकार डेटा स्रोत
  2. जोड़े एक नया डैशबोर्ड और ग्राफ़ पैनल बनाएँ।
  3. ग्राफ़ पैनल कॉन्फ़िगर करें और चुनें कि आप मेट्रिक्स सेटिंग में किस फ़ाइल को प्रदर्शित करना चाहते हैं।

आप पैनल पर डेटा देखेंगे।

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