Решительно всех приветсвую!
Столкнулся с проблемой API метода host.update. Для примера, имеем два хоста:
Выполняю API метод host.update:
Получаю следующую ошибку:
Я понимаю, что скорее всего Zabbix выполняет обновление хостов последовательно и ловит конфликт в процессе. Но вот как этого избежать (с условием, что итоговый набор данных не вызывает конфликта)?
Пример простой, по факту скрипт обновляет 15-30 тысяч хостов и решать такие вопросы в ручном режиме не вариант. Можно предварительно переименовывать все хосты с каким-нибудь префиксом, но от этого сильно нагружаются внутренние процессы Zabbix.
Столкнулся с проблемой API метода host.update. Для примера, имеем два хоста:
- {'hostid':1, 'host': 'test1'}
- {'hostid':2, 'host': 'test2'}
Выполняю API метод host.update:
Code:
{
'jsonrpc': '2.0',
'method': 'host.update',
'params': [
{
'hostid': 1,
'host': 'test2'
},
{
'hostid': 2,
'host': 'test1'
}
],
'id': 1
}
Code:
{
'jsonrpc': '2.0',
'error': {
'code': -32602,
'message': 'Invalid params.',
'data': 'Host with the same name "test1" already exists.'
},
'id': 1
}
Пример простой, по факту скрипт обновляет 15-30 тысяч хостов и решать такие вопросы в ручном режиме не вариант. Можно предварительно переименовывать все хосты с каким-нибудь префиксом, но от этого сильно нагружаются внутренние процессы Zabbix.