Я пытаюсь сделать правило обнаружения, чтобы добавить монитор размера файла. Но когда я добавить свой шаблон хосту, Zabbix говорит мне:Zabbix Discovery Rule по специальному скрипту: нужны любые советы
Значение должно быть в формате JSON объект
- Zabbix агент (демон) v2.2.10 (версия 54806) (10 августа 2015)
- Zabbix сервер v2.2.9 (версия 52686) (12 марта 2015)
Я написал питон-скрипт:
import os
import sys
import json
logdir = sys.argv[1]
data = []
for (logdir, _, files) in os.walk(logdir):
for f in files:
if f.endswith(".log"):
path = os.path.join(logdir, f)
data.append({'#LOGFILEPATH':path})
jsondata = json.dumps(data)
print jsondata
Он отлично работает и получает следующее:
[{"#LOGFILEPATH": "/opt/logs/projects/cms/cms.log"}, {"#LOGFILEPATH": "/opt/logs/projects/books/nginx.log"}]
Я проверил его jsonlint.com - действительный JSON.
UserParameter в conf.d:
UserParameter = discovery.logfile.path, python /opt/scripts/zabbix/find.logfile.path.and.size.py /opt/logs/
Есть вложения показать мою конфигурацию обнаружения:
Пользователь Zabbix имеет разрешение на директорию с скриптом и журналы.
У меня такая же проблема, вы решить эту проблему? – JJJ
Да, моя проблема была в том, что я пропустил скобки {} Не стесняйтесь описать свою проблему здесь, если мой совет вам не поможет –
спасибо за ваш ответ – JJJ