स्पष्टीकरण। BeerTender - क्रुप्स और हेनेकेन से बीयर को ठंडा और बोतलबंद करने के लिए एक उपकरण। निर्माताओं के अनुसार, यह केग के खुलने के बाद 30 दिनों तक ताजा बीयर की गुणवत्ता को बनाए रखता है। बेशक, यह सिस्टम प्रशासक और डेपॉप्स के लिए सामान्य ऑनलाइन डैशबोर्ड का उपयोग करके अपने केग में बीयर के तापमान और स्तर की निगरानी करने के लिए सुविधाजनक है। पिछले लेख में वर्णन किया गया था कि बीयरटेंडर को ताना 10 से कैसे जोड़ा जाए , और अब हम ग्राफाना डैशबोर्ड स्थापित करेंगे
OVHcloud, सबसे बड़ा यूरोपीय हॉस्टल और क्लाउड प्रदाता, Warp 10 प्लेटफॉर्म का सक्रिय रूप से उपयोग करता है। उनके सभी निगरानी डेटा एक Warp 10 क्लस्टर में बहते हैं। ये 400,000 सर्वर, 27 डेटा केंद्र, प्रति सेकंड कई मिलियन मीट्रिक की कुल हैं!
उनके पास कई डैशबोर्ड हैं, और अब OVHcloud ओपन सोर्स
प्लगइन ताना 10 ग्राफाना का अनुरक्षक है , जिसे हमने कुछ समय पहले विकसित करना शुरू किया था। हम उसके बारे में बात करेंगे। यदि आप इसे स्वयं आज़माना चाहते हैं, तो डेटा सार्वजनिक डोमेन में है - आप नीचे WarpScript की प्रतिलिपि बना सकते हैं।
हमने पहले ही बात की कि बीयरटेंडर को ताना 10 से कैसे जोड़ा जाए।स्थापना
सबसे पहले, ग्राफाना स्थापित करें।
उनकी वेबसाइट पर दिए गए
निर्देशों का पालन
करें ।
हम डिफ़ॉल्ट
http://localhost:3000/
कनेक्ट करते हैं, डिफ़ॉल्ट पासवर्ड व्यवस्थापक / व्यवस्थापक पर जाएं, फिर व्यवस्थापक पासवर्ड बदलें।
ग्राफाना के नवीनतम संस्करण के लिए, प्लग-इन को मैन्युअल रूप से इंस्टॉल करना होगा।
grafana-cli
साथ विधि काम नहीं करेगी। आपको बस प्लगइन रिपॉजिटरी को ग्राफाना प्लगइन निर्देशिका में क्लोन करने और हर जगह अनुमतियों को ठीक करने की आवश्यकता है।
sudo systemctl stop grafana-server.service sudo chown -R grafana:mygroup /var/lib/grafana/ sudo chmod g+rw /var/lib/grafana/plugins git clone git@github.com:ovh/ovh-warp10-datasource.git /var/lib/grafana/plugins/ovh-warp10-datasource sudo chown -R grafana:mygroup /var/lib/grafana/plugins sudo systemctl start grafana-server.service
विन्यास
ग्राफाना विन्यास में, डेटा स्रोत अनुभाग पर जाएं और टाइप करें ताना 10. का एक डेटा स्रोत जोड़ें। सुनिश्चित करें कि यह ताना 10. के आवश्यक उदाहरण को इंगित करता है। आप हमारी जैसी ही सेटिंग निर्दिष्ट कर सकते हैं:
यह BeerTender से डेटा लेने का समय है ...
तापमान प्रदर्शन
एक नया डैशबोर्ड बनाएं, ग्राफ़ विज़ुअलाइज़ेशन प्रकार के साथ एक पैनल जोड़ें और क्वेरी मोड दर्ज करें:
प्रारंभिक तापमान (सेंसर से पूर्णांक मान)- डेटा स्रोत में, ताना 10 (या डिफ़ॉल्ट मान) का चयन करें
- WarpScript Editor को चालू करें
- नीचे WarpScript कॉपी करें
- ऊपरी दाएं कोने में, "अंतिम 30 दिन" चुनें
- परिणाम सहेजें
"gCA1SVjbDkaxtmTx9ydI4TI2iGc5hFgcbCWnzMRZSt45XW8dZ53Z7VK_if28i0kXwNDLazXHgLrXUKgxLK0RbS79eJmBCpyBlIxw9US7bPfdWH4Fta51.kXN.D4Hsk5OZOwl.vLRBzMpP7F2pAMfclMXSGtCOT6F" 'rt' STORE [ $rt 'beertender.rawtemperature' {} NOW 30 d ] FETCH 0 GET
यह स्क्रिप्ट ADC सेंसर से प्रारंभिक मान प्रदर्शित करेगी। कृपया ध्यान दें कि Grafana में WarpScript के संपादक पहले की तरह शक्तिशाली नहीं हैं, यहाँ कोई अधिक स्वत: पूर्ण नहीं है। आप WarpStudio या VSCode में एक स्क्रिप्ट लिख सकते हैं, इसलिए आपके पास सिंटैक्स हाइलाइटिंग और ऑनलाइन दस्तावेज़ होंगे, और फिर परिणाम को ग्राफाना में कॉपी और पेस्ट करें।
ऑटो रिक्ति
इस उदाहरण में, 30-दिन के अंतराल का चयन करें और पिछले 30 दिनों में ग्रैप में व्यू मोड सेट करें। यदि हम अंतिम दिन या वर्ष के लिए दृश्य मोड का चयन करते हैं, तो WarpScript हमेशा हर 30 दिनों में डेटा का अनुरोध करेगा। प्लगइन इस समस्या को हल करता है: WarpScript में उपयोग के लिए दो चर उपलब्ध हैं -
$end
और
$interval
।
[ $rt 'beertender.rawtemperature' {} $end $interval ] FETCH 0
बीयर का तापमान
मैंने पानी, बर्फ और गर्म पानी के कई माप लिए, एक संदर्भ सेंसर के साथ तुलना ... परिणाम निम्न था:
टी (डिग्री सेल्सियस) प्रारंभिक मूल्य
18.3 680
41.5 870
37.6 841
१० ५ 10६
११ ९ ५६
8 559
1467
4.5 500
6.5 535 है
GTS समय श्रृंखला में इन मानों को डालें और सेंसर से प्रारंभिक मानों के अनुसार परिणाम को छाँटें:
NEWGTS 'linearInterpolation' RENAME 680 NaN NaN NaN 18.3 ADDVALUE 870 NaN NaN NaN 41.5 ADDVALUE 841 NaN NaN NaN 37.6 ADDVALUE 586 NaN NaN NaN 10 ADDVALUE 596 NaN NaN NaN 11 ADDVALUE 559 NaN NaN NaN 8 ADDVALUE 467 NaN NaN NaN 1 ADDVALUE 500 NaN NaN NaN 4.5 ADDVALUE 535 NaN NaN NaN 6.5 ADDVALUE SORT
अपेक्षित इंटरपोलसेंसर से स्रोत डेटा पूर्णांक के रूप में आता है। प्रक्षेप करने का सबसे आसान तरीका है कि आप पहले वक्र का निर्माण करें, और फिर
उसमें से मानों को पढ़ने के लिए
ATTICK फ़ंक्शन का उपयोग करें।
WarpScript में इंटरपलेशन आसान है।
हम वांछित अवधि निर्धारित करने के
लिए एक बाल्टी बनाते हैं , और फिर लापता मूल्यों को भरते हुए, प्रक्षेप शुरू करते हैं।
[ $linearInterpolation bucketizer.last 0 1 0 ] BUCKETIZE 0 GET INTERPOLATE 'truthtableGTS' STORE

बहुत बढ़िया। अब आपको अपने स्वयं के मैपर को वास्तविक भौतिक तापमान मान के साथ सेंसर से प्रत्येक मूल्य को बदलने के लिए लिखना होगा, और परिणाम को ग्रेफेन द्वारा उपयोग किए गए प्रारूप में लाना होगा।
चेतावनी : मूल्य हर 10 सेकंड में आते हैं। तीन महीनों में, 270 हजार मूल्य जमा हो जाएंगे। ग्राफाना के लिए बहुत ... बस प्रत्येक घंटे का अधिकतम मूल्य रखें। WarpScript में, यह
बकेटाइज़र ।
बकेटाइज़र के साथ
BUCKETIZE है ।
आप इस WarpScript को Grafana में कॉपी कर सकते हैं:
// raw value interpolation "gCA1SVjbDkaxtmTx9ydI4TI2iGc5hFgcbCWnzMRZSt45XW8dZ53Z7VK_if28i0kXwNDLazXHgLrXUKgxLK0RbS79eJmBCpyBlIxw9US7bPfdWH4Fta51.kXN.D4Hsk5OZOwl.vLRBzMpP7F2pAMfclMXSGtCOT6F" 'rt' STORE NEWGTS 'linearInterpolation' RENAME 680 NaN NaN NaN 18.3 ADDVALUE 870 NaN NaN NaN 41.5 ADDVALUE 841 NaN NaN NaN 37.6 ADDVALUE 586 NaN NaN NaN 10 ADDVALUE 596 NaN NaN NaN 11 ADDVALUE 559 NaN NaN NaN 8 ADDVALUE 467 NaN NaN NaN 1 ADDVALUE 500 NaN NaN NaN 4.5 ADDVALUE 535 NaN NaN NaN 6.5 ADDVALUE SORT 'linearInterpolation' STORE [ $linearInterpolation bucketizer.last 0 1 0 ] BUCKETIZE 0 GET INTERPOLATE 'truthtableGTS' STORE [ $rt 'beertender.rawtemperature' {} NOW $end $interval ] FETCH // subsampling, keep max of every hour [ SWAP bucketizer.max 0 1 h 0 ] BUCKETIZE UNBUCKETIZE // do not try to interpolate missing buckets. // interpolation [ SWAP <% 'l' STORE [ $l 0 GET //same tick NaN NaN NaN //no latitude/longitude/elevation $truthtableGTS $l 7 GET 0 GET ATTICK 4 GET //take the interpolated value ] %> MACROMAPPER 0 0 0 ] MAP 'temperature (°C)' RENAME
5 डिग्री सेल्सियस, बीयर के लिए सामान्य
BeerTender डैशबोर्ड, पहला संस्करणबैरल स्तर
स्ट्रेन गेज बैरल में स्तर को मापता है ... लेकिन यह जंग लगी धातु स्टैंड पर एक सस्ता तीन-तार सेंसर है। ऐसे उपकरणों से सटीक जानकारी प्राप्त करना संभव नहीं है। इसलिए, यह आश्चर्यजनक नहीं है कि आउटपुट वास्तव में एक शोर परिणाम है, और पूर्ण मूल्यों पर भरोसा नहीं किया जा सकता है। हमारे BeerTender के लिए, मुझे Grafana के लिए एक प्रतिशत के रूप में वर्तमान स्तर को प्रदर्शित करने के लिए एक प्रयोगात्मक सूत्र मिला।
युक्ति: Warp 10 प्लगइन केवल GTS से डेटा पुनर्प्राप्त करता है। यदि आप एकल मान प्रदर्शित करना चाहते हैं, तो भी आपको इसे GTS डेटा में एक बिंदु पर प्रस्तुत करना होगा।यहां WarpScript है, जो अंतिम डेटा बिंदु लेता है और इसे प्रतिशत मूल्य में बदल देता है, और एक बिंदु के साथ एक समय श्रृंखला भी बनाता है:
"gCA1SVjbDkaxtmTx9ydI4TI2iGc5hFgcbCWnzMRZSt45XW8dZ53Z7VK_if28i0kXwNDLazXHgLrXUKgxLK0RbS79eJmBCpyBlIxw9US7bPfdWH4Fta51.kXN.D4Hsk5OZOwl.vLRBzMpP7F2pAMfclMXSGtCOT6F" 'rt' STORE //read for beer level [ $rt 'beertender.rawvalue' {} NOW -1 ] FETCH 0 GET VALUES 0 GET 'rawSensorValue' STORE //raw correction: // empty: 30.8e6 // full (and cold): 30.5e6 30.8e6 $rawSensorValue - 0 MAX 2800 / 100 MIN 'beerlevelPercent' STORE $beerlevelPercent NEWGTS 'Barre Level (%25)' RENAME 1 NaN NaN NaN $beerlevelPercent ADDVALUE
गेज विज़ुअलाइज़ेशन प्रकार वाले पैनल के लिए अनुरोध के रूप में इस WarpScript का उपयोग करें:
अच्छा संकेतकयदि आप रुचि रखते हैं, तो आप स्रोत डेटा को देख सकते हैं ... अब हमारे पास बीयर की खपत पर अद्वितीय आंकड़ों तक पहुंच के लिए एक टोकन है!
निष्कर्ष
- यदि हाल ही में डेटा की निगरानी आपके नियंत्रण में रही है, तो ग्राफाना आसानी से ताना 10 डेटा स्रोत को एकीकृत कर सकता है।
- Grafana प्लगइन एक GTS समय श्रृंखला या GTS सूची की अपेक्षा करता है।
- OVHcloud वर्तमान प्लगइन अनुचर है। योगदान करने के लिए स्वतंत्र महसूस करो!
- अधिक जानकारी के लिए प्रलेखन पढ़ें।
- यदि आप डेटा के विज़ुअलाइज़ेशन को समृद्ध करना चाहते हैं, तो आप हमारे तैयार वेब घटकों को ले सकते हैं।
