2015-12-11 8 views
8

में "सभी लेकिन एक" के लिए पूछताछ कैसे करें मैं ग्राफ़ाना के साथ खेल रहा हूं और मैं एक पैनल बनाना चाहता हूं जहां मैं एक ऐप सर्वर से डेटा को अन्य सभी के औसत के मुकाबले तुलना करता हूं। कुछ ऐसा:ग्रेफाइट/ग्राफ़ाना

apps.machine1.someMetric 
averageSeries(apps.*.not(machine1).someMetric) 

क्या किया जा सकता है? कैसे?

उत्तर

1

Graphite URL API docs section about wildcard paths पढ़ने के बाद मुझे नहीं लगता कि कोई "सभी लेकिन एक" लक्ष्य क्वेरी है। लेकिन यदि आप कई मशीनों की जरूरत नहीं है कि आप सभी के लिए उन्हें बाहर रखा गया है, लेकिन एक अपने प्रश्न में सूचीबद्ध कर सकते हैं:

apps.machine1.someMetric 
averageSeries(apps.{machine2,machine3,machine4,machine5}.someMetric) 

या एक चरित्र रेंज का उपयोग करें:

apps.machine1.someMetric 
averageSeries(apps.machine[2-5].someMetric) 
+6

इसके साथ किया जा सकता है को बाहर - नीचे देखें – BritishDeveloper

20

लगता है कि आपका seriesList फ़िल्टर करना चाहते हैं , आप एक है कि सम्मिलित 'ग्रेप' समारोह का उपयोग कर या विशेष रूप से 'को बाहर' समारोह

exclude(apps.machine*.someMetric,"machine1") 

का उपयोग कर सकते हैं और averageSeries

में पारित कि 210
averageSeries(exclude(apps.machine*.someMetric,"machine1")) 

आप उन कार्यों के बारे में अधिक पढ़ सकते हैं: http://graphite.readthedocs.io/en/latest/functions.html#graphite.render.functions.exclude