Коллеги! Подскажите как выкрутится из проблемы:
Item prototype "web.page.get[localhost,status,{#NODEPORT}]" already exists on "host1", inherited from another template.
Есть пачка сервисов которые отдают разные prometheus метрики на разных портах в пределах одного хоста и требуют отдельного препроцессинга.
По логике я разбиваю их на отдельные шаблоны в которых есть по одному дискавери.
Но если типичный сервис из разных шаблонов использует одинаковый ключ (один и тот же макрос), то zabbix не может поцепить 2й шаблон с такой метрикой
web.page.get[localhost,metrics,{#NODEPORT}]
Переименовывать макрос неохота, теряеться логика, а впихивать все сервисы в один шаблон+дискавери и вовсе.
#!/bin/bash
lld_string= cat <<EOT
[
{
"{#SERVICE}": "Service 1",
"{#NODENAME}": "host1:32799",
"{#NODEIP}": "127.0.0.1",
"{#NODEPORT}": "32799",
"{#STATUS}": "main"
},
{
"{#SERVICE}": "Service 2",
"{#NODENAME}": "host1:22799",
"{#NODEIP}": "127.0.0.1",
"{#NODEPORT}": "22799",
"{#STATUS}": "reserve"
}
]
EOT
echo "$lld_string"