Как получить только статистику по конкретному процессору, памяти и интерфейсу

Хотя Вопрос не помечен тегом awk, но почему бы не использовать его просто так, как есть:

awk -F\" '{print $2}' infile.txt 
1
04.08.2019, 17:43
2 ответа

Вы можете использовать psutil в python и создать свой собственный json.

psutil (python system and process utilities) is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network, sensors) in Python. It is useful mainly for system monitoring, profiling, limiting process resources and the management of running processes. It implements many functionalities offered by UNIX command line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap.

Пример:

import json
import psutil
def used_mem(json_key):
        mem_total = psutil.virtual_memory().total
        mem_percent = psutil.virtual_memory().percent
        mem_used = psutil.virtual_memory().used
        mem_free = psutil.virtual_memory().free
        swap_percent =  psutil.swap_memory().percent
        swap_total =  psutil.swap_memory().total
        swap_used =  psutil.swap_memory().used
        json_key['free_mem'] = mem_free
        json_key['total_mem'] = mem_total
        json_key['mem_used'] = mem_used
        json_key['percent_mem'] = mem_percent
        json_key['swap_percent'] =  swap_percent
        json_key['swap_total'] =  swap_total
        json_key['swap_used'] =  swap_used

json_key={}
used_mem(json_key)
print json.dumps(json_key)

выход:

{"swap_used": 14061568, "percent_mem": 48.3, "free_mem": 1792401408, "total_mem": 12447776768, "mem_used": 5128196096, "swap_total": 11999899648, "swap_percent": 0.1}

полезная ссылка :https://github.com/giampaolo/psutil

3
27.01.2020, 23:15

Сделайте это с помощью синтаксического анализатора JSON jq, как показано ниже, если вы не можете настроить исходную команду(sarилиsadf)для получения ожидаемого JSON

jq '.sysstat.hosts[] |= { nodename, statistics : [ { timestamp :.statistics[].timestamp | { date, time }, 
    "cpu-load":.statistics[]."cpu-load"[] | [{ idle }], 
    "memory":.statistics[].memory | { memfree, avail, "memused-percent" }, 
    "network" : { "net-dev" :.statistics[].network."net-dev"[] | { iface, rxpck, txpck, "ifutil-percent"} } } ], restarts}'

Вы можете увидеть, как этот фильтр работает в jq -на игровой площадке jq -1.6

1
27.01.2020, 23:15

Теги

Похожие вопросы