Pushgatewayを使用して、複数ラベルのメトリックをPrometheusにプッシュしたいとします。ドキュメントはカールの例を提供していますが、私はそれをPython経由で送る必要があります。さらに、複数のラベルをメトリックに埋め込みたいと思います。PythonとPrometheus Pushgatewayでメトリックをプッシュする方法
4
A
答えて
0
私がやったことはここにあります。理想的には、私はこの目的のために特別に設計されたPrometheus pythonクライアントを使用していましたが、複数のラベルをサポートしていない場合があり、ドキュメントは事実上存在しないため、自家製のソリューションを使いました。
以下のコードはgeventを使用し、複数の(カンマ区切りの)pushgateway URL(「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
これはPythonクライアントのために文書化されている:https://github.com/prometheus/client_python#exporting-to-a-pushgateway
関連する問題
- 1. スプリングブートでPrometheus Pushgatewayにメトリックをプッシュ
- 2. Prometheusメトリック値年齢
- 3. Prometheus - メトリックのリストをゲージに送信
- 4. ポッドとノードを実行するためのKubernetes prometheusメトリック
- 5. Prometheus Pythonクライアントライブラリ
- 6. カスタムIDでスタックドライバのメトリックをプッシュ
- 7. federationを使用して複数のPrometheusインスタンス(それぞれinstance = "localhost:9090"を使用)からPrometheusのメトリックを収集する方法
- 8. Prometheusのpythonクライアントエラーアドレスが既に使用中
- 9. Prometheusからメールを受信してメトリックの値を表示する
- 10. いくつかのメトリックを使用してログファイルを監視するエクスポータ+ Prometheus + Grafana
- 11. Prometheusクエリで2つのメトリックにどのように '参加できますか?
- 12. Prometheus:接続されたKubernetesクラスタからメトリックをエクスポートできません
- 13. pushgatewayまたはノードエクスポータ - 文字列データを追加するには?
- 14. PrometheusでPercentileでHTTP Latencyを測定する方法
- 15. Spring BootアプリケーションからメトリックをPrometheusにどのようにエクスポートしますか?
- 16. django-prometheusとprometheus-clientを使ってアプリケーションレベルメトリクスをエクスポートするには?
- 17. pythonからopenstackリソース使用量メトリックをプログラムで取得する方法は?
- 18. Prometheus&Grafana:テンプレートと "bool"修飾子
- 19. Prometheus入力でGrafana Queryのエイリアスを設定する方法
- 20. Prometheusでゼロ除算を正常に回避する方法
- 21. GrafanaのPrometheusデータソースでelasticsearchを監視する方法
- 22. Spring-BootアプリケーションでPrometheusメトリックを収集するためにprometheus.ymlファイルをどのように設定しますか?
- 23. spring-bootメトリックをログとして保持する方法は?
- 24. Grafana - InfluxDBとCollectDからメトリックを統合する方法
- 25. Prometheus Ruby Clientの実行方法
- 26. python pandasデータフレームの合成メトリックの計算方法
- 27. Prometheus:1696行目のテキスト形式の解析エラー:コメント内のメトリック名が無効
- 28. Prometheus +単純な時系列+ Python
- 29. Prometheus Alertmanager - RESTを使って無音をリストする方法は?
- 30. grafanaを使用してprometheusエンドポイントメトリックを視覚化する方法
上記のコードでは、型なしメトリックを生成します。型付きメトリックを生成するには、 "#TYPE counter \ n"(カウンタメトリック用)のペイロードを前置する必要があります。 –
FuzzyAmi