使用python为LLD Zabbix discovery top mem进程创建JSON

2024-09-21 02:44:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用python和sequence key为LLD Zabbix discovery top mem进程创建JSON

#!/usr/bin/python

import subprocess
import json

s = subprocess.Popen(["ps axho comm --sort -rss | head -5"], shell=True, stdout=subprocess.PIPE).stdout
service_states = s.read().splitlines()

count = 0
data = {"data":{}}
for i in service_states:
  count += 1
  key = "{#TOPMEMNAME" + str(count) + "}"
  data["data"][key] = i

json_data = json.dumps(data)
print(json_data)

Get JSON not accepted Zabbix(以下代码):

^{pr2}$

下面是Zabbix接受JSON的代码。在

{
    "data": [{
            "{#TOPMEMNAME1}": "mongod"
        },
        {
            "{#TOPMEMNAME2}": "node"
        },
        {
            "{#TOPMEMNAME3}": "kubelet"
        },
        {
            "{#TOPMEMNAME4}": "ffmpeg"
        },
        {
            "{#TOPMEMNAME5}": "dockerd"
        }
    ]
}

如何更改接受JSON-zabbix的python代码?在


Tags: key代码importjsondatacountservicestdout

热门问题