Задать вопрос
chemtech
@chemtech
Линуксойд, DevOps

Как создать JSON с помощью python с ключом последовательности для обнаружения Zabbix LLD TOP 5 процессов по памяти?

Я пытаюсь создать JSON с помощью python с ключом последовательности для обнаружения Zabbix LLD TOP 5 процессов по памяти

#!/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)


Получается JSON не принятый Zabbix

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


А вот код, который zabbix принимает.
{
    "data": [{
            "{#TOPMEMNAME1}": "mongod"
        },
        {
            "{#TOPMEMNAME2}": "node"
        },
        {
            "{#TOPMEMNAME3}": "kubelet"
        },
        {
            "{#TOPMEMNAME4}": "ffmpeg"
        },
        {
            "{#TOPMEMNAME5}": "dockerd"
        }
    ]
}


Как изменить код python чтобы zabbix принял JSON?
  • Вопрос задан
  • 945 просмотров
Подписаться 2 Комментировать
Подписчики вопроса 2 К ответам на вопрос (0)