Правила обнаружения Zabbix - как заполнить ключевой элемент - PullRequest
1 голос
/ 08 марта 2019

Я новичок в Zabbix и у меня возникла проблема.Я запускаю скрипт в Power Shell и получаю этот пример данных:

{
        "data":[
                {
                        "{#BZSENDPORTNAME}":"Com_Onshore_SDE",
                        "{#BZSENDPORTSTATUS}":"3"},
                    {
                        "{#BZSENDPORTNAME}":"Com_Onshore_Backup",
                        "{#BZSENDPORTSTATUS}":"3"},
                    {
                        "{#BZSENDPORTNAME}":"Remit_ForecastMeter",
                        "{#BZSENDPORTSTATUS}":"3"}]}

Вот только пример, существует более 40 пар имени порта и статуса порта.Я уже создал правило обнаружения на Zabbix сервере, и я надеюсь, что он может автоматически создавать элементы с именами {#BZSENDPORTNAME} и их значениями {#BZSENDPORTSTATUS}.Например: item Com_Onshore_SDE;значение = 3. Я создал открытие здесь .Затем я получаю результат, подобный следующему:

введите описание изображения здесь

Название элементов соответствует ожидаемому, но ключ содержит значение статуса порта. Iхотелось бы, чтобы статус порта был значением элемента, а не ключа.А также показывает ошибку «Элемент не разрешает параметр».Файл конфигурации агента Zabbix: UserParameter=custom.discovery,powershell.exe -NoProfile -ExecutionPolicy Bypass -file "C:\Zabbix\Scripts\Get-BZSendMultiPortsInfo-test.ps1"

Пожалуйста, помогите мне с этим.Большое спасибо

1 Ответ

1 голос
/ 08 марта 2019

Вы должны использовать [*] в своем пользовательском параметре и добавить $ 1 и $ 2 в конец строки:

UserParameter=custom.discovery[*],powershell.exe -NoProfile -ExecutionPolicy Bypass -file "C:\Zabbix\Scripts\Get-BZSendMultiPortsInfo-test.ps1" $1 $2
...