私は監視データをエクスポートするプログラムを書いています。Pythonはいくつかのリストをエクスポートし、forループをすべて入れます
私はAPIリクエストを送信し、辞書の形でjsonとして応答を取得するPythonコードを持っています。
応答は次のようになります。
[
{
"diskwrite": 667719532544,
"name": "test-hostname",
"maxmem": 536870912,
"diskread": 876677015576,
"mem": 496111616,
"id": "qemu/102",
"node": "node1",
"template": 0,
"cpu": 0.00947819269772254,
"vmid": 102,
"type": "qemu",
"maxcpu": 2,
"netout": 15081562546,
"maxdisk": 10737418240,
**"status": "running",**
"netin": 15852619497,
"disk": 0,
"uptime": 3273086
},
{
"maxcpu": 8,
"type": "qemu",
"vmid": 106,
"cpu": 0.500598230113925,
"template": 0,
"node": "node1",
"id": "qemu/106",
"mem": 10341007360,
"maxmem": 10737418240,
"diskread": 8586078094720,
"name": "some.other-hostname",
"diskwrite": 6052378838016,
"uptime": 1900411,
"disk": 0,
"netin": 4899018841106,
**"status": "stopping",**
"maxdisk": 107374182400,
"netout": 4788420573355
},
...
であるように私は、すべてのホスト名とその項目をループしたいと思います(「diskwrite」、「MEM」、「CPU」など)が、私は思いますステータスが「実行中」(「ステータス」:「実行中」)の場合にのみ、これらのアイテムを辞書に追加すると便利です。
私もこのコード行を行いますし、ホスト=の名前で、この行を作成するすべての「名前」の項目のループ必要ram_metric.set({'type': "total"}, ram[0])
cpu_metric.set({'type': 'average', 'interval': '5 minutes'}, cpu[0])
:
ram_metric = Gauge("memory_usage_bytes", "Memory usage in bytes.",
{'host': host})
cpu_metric = Gauge("cpu_usage_percent", "CPU usage percent.",
{'host': host})
してください、私はどのように知りませんがそれを行う。
ファイルはJSON形式ですか? – MishaVacic
私は事を理解していない唯一の人ですか?私はあなたの質問が非常に悪い方法で尋ねられたのを見つけることを申し訳ありません.. –
私は、ご質問、申し訳ありません再公式化! – Petar