В предыдущей статье было описание, как собирать метрики redis с помощью powershell, так же, как настроить это все дело на стороне zabbix, тут же отобразим только сам скрипт на python и небольшую часть конфигурационного файла zabbix с описанием переменной! Так же отмечу, что сам Redis работает в контейнере Docker. В связи с этим, что бы zabbix агент мог обратиться к контейнеру, нужно добавить пользователя, из под которого работает сервис, в группу docker!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#!/usr/bin/env python3 import sys import json data = sys.stdin.readlines() dict = {} index = 0 while index < len(data): element = data[index] if ":" in element: temp = element.strip() #print(temp.split(":")) test = temp.split(":") dict[test[0]]=test[1] json_object = json.dumps(dict, indent = 4) index += 1 print(json_object) |
1 2 3 4 5 6 7 8 9 10 11 12 |
#Config_Zabbix EnableRemoteCommands=1 Server=zabixs01.xx.net,127.0.0.1 ListenPort=10050 ServerActive=zabixs01.xx.net HostMetadata=linux.t2 UserParameter=RedisInfo, docker exec -i redis redis-cli info| /etc/zabbix/scripts/redisinfo.py LogFile=/var/log/zabbix/zabbix_agentd.log Timeout=30 Hostname=server-t2-01 |