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

Как правильно конвертировать bash вывод в JSON с ключом {#PROCNAME}?

Я пробую получить JSON с топ-5 процессов по памяти.

Этот JSON я хочу отправить в Zabbix и нарисовать топ 5 процессов по памяти.

Я получаю топ 5 процессов по памяти командой:

ps axho comm --sort -rss | head -5
node
mongod
kubelet
dockerd
systemd-journal


Как преобразовать вывод bash в JSON с ключом {#PROCNAME} чтобы получить такую структуру:
{
  "data": [
    {
      "{#PROCNAME}": "node"
    },
    {
      "{#PROCNAME}": "mongod"
    },
    {
      "{#PROCNAME}": "kubelet"
    },
    {
      "{#PROCNAME}": "dockerd"
    },
    {
      "{#PROCNAME}": "systemd-journal"
    }
  ]
}


Используя jq или python. Есть ли у кого-нибудь идеи как примерно это сделать?
  • Вопрос задан
  • 582 просмотра
Подписаться 2 Простой 1 комментарий
Решение пользователя Антон Пацев К ответам на вопрос (2)
chemtech
@chemtech Автор вопроса
Линуксойд, DevOps
ps axho comm --sort -rss | head -5 | jq -Rn '{data: [inputs|{"{#PROCNAME}":.}]}' 
{
  "data": [
    {
      "{#PROCNAME}": "node"
    },
    {
      "{#PROCNAME}": "mongod"
    },
    {
      "{#PROCNAME}": "kubelet"
    },
    {
      "{#PROCNAME}": "dockerd"
    },
    {
      "{#PROCNAME}": "systemd-journal"
    }
  ]
}
Ответ написан
Комментировать