我希望使用Pushgateway將多標籤指標推送到Prometheus中。該文檔提供了一個curl示例,但我需要它通過Python發送。另外,我想在標準中嵌入多個標籤。如何使用Python和Prometheus pushgateway推送指標
4
A
回答
0
這就是我最終做的 - 花了一段時間才弄好。儘管理想情況下我會使用專門爲此設計的Prometheus python客戶端,但在某些情況下它似乎不支持多個標籤,而且文檔實際上並不存在 - 所以我採用了家庭釀造的解決方案。
下面的代碼使用gevent並支持多個(逗號分隔)pushgateway網址(如「pushgateway1.my.com:9092,pushgateway2.my.com:9092」)。
import gevent
import requests
def _submit_wrapper(urls, job_name, metric_name, metric_value, dimensions):
dim = ''
headers = {'X-Requested-With': 'Python requests', 'Content-type': 'text/xml'}
for key, value in dimensions.iteritems():
dim += '/%s/%s' % (key, value)
for url in urls:
requests.post('http://%s/metrics/job/%s%s' % (url, job_name, dim),
data='%s %s\n' % (metric_name, metric_value), headers=headers)
def submit_metrics(job_name, metric_name, metric_value, dimensions={}):
from ..app import config
cfg = config.init()
urls = cfg['PUSHGATEWAY_URLS'].split(',')
gevent.spawn(_submit_wrapper, urls, job_name, metric_name, metric_value, dimensions)
0
相關問題
- 1. 在Spring Boot中將指標推送到普羅米修斯Pushgateway
- 2. Prometheus - 發送指標列表到計量
- 3. 如何使用聯邦從多個Prometheus實例(每個使用instance =「localhost:9090」)收集Prometheus的指標
- 4. 如何使用libgit2sharp推送標籤
- 5. 無法在普羅米修斯中推送指標
- 6. 如何使用django-prometheus和prometheus-client導出應用程序級別度量標準?
- 7. 使用一些指標監控日誌文件exporter + Prometheus + Grafana
- 8. 如何推送使用nodegit?
- 9. 如何推送(使用libgit2)
- 10. 運行豆莢和節點的Kubernetes prometheus指標?
- 11. 如何使用Prometheus進行查詢?
- 12. 如何使用Prometheus憤怒功能
- 13. 將Prometheus IO與python-django應用程序集成
- 14. 使用Prometheus監控Java Web應用程序
- 15. gitlab - 使用https推送,指定用戶名和密碼
- 16. 使用Prometheus計算DAU和MAU
- 17. 如果指標停止發佈,Prometheus警報會發生什麼?
- 18. Web推送通知:如何使用Web推送PHP庫?
- 19. 推送通知指南?
- 20. Docker Exporter for Prometheus
- 21. 如何使用python下載推送到瀏覽器的文件?
- 22. 如何使用Prometheus監控Mac上的nodejs cpu和內存使用情況?
- 23. Prometheus python客戶端錯誤地址已在使用
- 24. 如何使用codebird推送視頻API
- 25. 如何使用intellij推送到bitbucket
- 26. 如何使用pygit2推送到遠程?
- 27. 如何使用twitter4j發送長推文?
- 28. 如何使用RSpec測試推送器
- 29. 如何使用Apple推送通知?
- 30. Python - Poloniex推送API
上面的代碼生成一個無類型度量。要生成一個輸入的指標,你需要在「# counter \ n」(用於計數器指標)前加載荷。 –
FuzzyAmi