Извлечение значений из файла Zabbix - PullRequest
0 голосов
/ 06 февраля 2020

Мне нужно разделить информацию о диске по имени с появлением его данных.

Bus 1 Enclosure 0  Disk 21
Capacity:                1127031
User Capacity:           879.188281

Bus 1 Enclosure 0  Disk 22
Capacity:                1127031
User Capacity:           879.188281

Bus 1 Enclosure 0  Disk 23
Capacity:                1127031
User Capacity:           1100.130859

следуйте сценарию:

def check_disk(items, name, value):
    jsonlist = []
    disks = []
    keys = ['{#NAME}']
    with open(TMP_DIR + 'disks', 'r') as parseit:
for line in parseit:
            if 'Capacity' in line:
                line = line.rstrip()
                disks.append(line.split()[1])
            if len(disks) == len(items) + 1:
                if value == 'discovery':
                    jsonlist.append(json.dumps(dict(zip(keys, disks))))
                else:
                    if name in disks:
                        print disks[items.index(value)]
                disks = []
    if len(jsonlist):
        discovery(jsonlist)

Это вывод:

[{"{#NAME}": "Capacity:"}, {"{#NAME}": "1127031"}, {"{#NAME}": "Capacity:"}, {"{#NAME}": "1127031"}, {"{#NAME}": "Capacity:"}, 
{"{#NAME}": "Capacity:"}, {"{#NAME}": "1127031"}, {"{#NAME}": "Capacity:"}, {"{#NAME}": "1127031"}]

В любом случае это должно выглядеть так:

...