Ad Widget

Collapse

Не удалось обновить узел сети: отношение "lld_macro_path" не существует

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • SEsin
    Junior Member
    • Sep 2021
    • 6

    #1

    Не удалось обновить узел сети: отношение "lld_macro_path" не существует

    Добрый день. Помогите пожалуйста разобраться с ошибкой. При добавлени практически любого шаблона к узлу (даже штатного) получаю ошибку: pg_query(): Query failed: ОШИБКА: отношение "lld_macro_path" не существует

    Установлена версия Zabbix 5.4.12 на сервере Ubuntu.
    Сначала все было хорошо, но после какого-то из обновлений (не могу точно сказать какого), стала появляться данная ошибка. По тексту ошибки понимаю, что не хватает какой-то сущности, но как её добавить и как привести базу данных к требуемой структуре местаданных - не понимаю. Буду рад любому совету.​

    • pg_query(): Query failed: ОШИБКА: отношение "lld_macro_path" не существует
    • LINE 1: ...lld_macro_pathid,t.lld_macro,t.path,t.itemid FROM lld_macro_...
    • ^ [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CDiscoveryRule->syncTemplates() → CDiscoveryRule->get() → CDiscoveryRule->addRelatedObjects() → CApiService->select() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT t.lld_macro_pathid,t.lld_macro,t.path,t.itemid FROM lld_macro_path t WHERE t.itemid IN (37060,37061)] [ОШИБКА: отношение "lld_macro_path" не существует
    • LINE 1: ...lld_macro_pathid,t.lld_macro,t.path,t.itemid FROM lld_macro_...
    • ^]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CDiscoveryRule->syncTemplates() → CDiscoveryRule->get() → CDiscoveryRule->addRelatedObjects() → CApiService->select() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT t.lld_overrideid,t.name,t.step,t.stop,t.itemid,t.f ormula,t.evaltype FROM lld_override t WHERE t.itemid IN (37060,37061)] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CDiscoveryRule->syncTemplates() → CItemGeneral->inherit() → CItemGeneral->_inherit() → CItemGeneral->prepareInheritedItems() → CHost->get() → CApiService->customFetch() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT DISTINCT h.hostid,h.host,h.status FROM hosts h,hosts_templates ht WHERE h.flags IN (0,4) AND h.hostid=10454 AND ht.templateid=10449 AND h.hostid=ht.hostid AND h.status IN (0,1,3)] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CItemPrototype->syncTemplates() → CItemPrototype->get() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT i.itemid,i.type,i.snmp_oid,i.hostid,i.name,i.descr iption,i.key_,i.master_itemid,i.delay,i.history,i. trends,i.status,i.discover,i.value_type,i.trapper_ hosts,i.units,i.formula,i.logtimefmt,i.valuemapid, i.params,i.ipmi_sensor,i.authtype,i.username,i.pas sword,i.publickey,i.privatekey,i.flags,i.inventory _link,i.lifetime,i.jmx_endpoint,i.url,i.timeout,i. query_fields,i.posts,i.status_codes,i.follow_redir ects,i.post_type,i.http_proxy,i.headers,i.retrieve _mode,i.request_method,i.output_format,i.allow_tra ps,i.ssl_cert_file,i.ssl_key_file,i.ssl_key_passwo rd,i.verify_peer,i.verify_host FROM items i WHERE i.flags=2 AND i.hostid=10449] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CHostPrototype->syncTemplates() → CDiscoveryRule->get() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT i.itemid FROM items i WHERE i.flags=1 AND i.hostid=10449] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CHostPrototype->syncTemplates() → CHostPrototype->get() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT DISTINCT h.hostid,h.host,h.name,h.status,h.templateid,h.dis cover,h.custom_interfaces,h.uuid,COALESCE(hinv.inv entory_mode,-1) AS inventory_mode FROM host_discovery hd,items i,hosts ph,hosts h LEFT JOIN host_inventory hinv ON h.hostid=hinv.hostid WHERE h.flags=2 AND h.hostid=hd.hostid AND hd.parent_itemid=i.itemid AND i.hostid=ph.hostid AND ph.flags=0 AND 1=0] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CHostPrototype->syncTemplates() → CHostBase->getHostMacros() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT hostmacroid,hostid,macro,type,value,description FROM hostmacro WHERE 1=0] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CTriggerGeneral->syncTemplates() → CTrigger->get() → CApiService->customFetch() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT DISTINCT t.triggerid,t.description,t.expression,t.recovery_ mode,t.recovery_expression,t.url,t.status,t.priori ty,t.comments,t.type,t.correlation_mode,t.correlat ion_tag,t.manual_close,t.opdata,t.event_name FROM triggers t,functions f,items i WHERE i.hostid=10449 AND f.triggerid=t.triggerid AND f.itemid=i.itemid AND t.flags IN (0,4)] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CTriggerGeneral->syncTemplates() → CTriggerGeneral->inherit() → CTriggerGeneral->prepareInheritedTriggers() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT DISTINCT t.triggerid,h.hostid FROM triggers t,functions f,items i,hosts h WHERE t.triggerid=f.triggerid AND f.itemid=i.itemid AND i.hostid=h.hostid AND 1=0 AND h.status=3] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CTriggerGeneral->syncTemplates() → CTriggerPrototype->get() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT DISTINCT t.triggerid,t.description,t.expression,t.recovery_ mode,t.recovery_expression,t.url,t.status,t.priori ty,t.comments,t.type,t.correlation_mode,t.correlat ion_tag,t.manual_close,t.opdata,t.event_name,t.dis cover FROM triggers t,functions f,items i WHERE t.flags=2 AND i.hostid=10449 AND f.triggerid=t.triggerid AND f.itemid=i.itemid] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CTriggerGeneral->syncTemplates() → CTriggerGeneral->inherit() → CTriggerGeneral->prepareInheritedTriggers() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT DISTINCT t.triggerid,h.hostid FROM triggers t,functions f,items i,hosts h WHERE t.triggerid=f.triggerid AND f.itemid=i.itemid AND i.hostid=h.hostid AND 1=0 AND h.status=3] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CGraphGeneral->syncTemplates() → CGraphPrototype->get() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT DISTINCT g.graphid,g.name,g.width,g.height,g.yaxismin,g.yax ismax,g.templateid,g.show_work_period,g.show_trigg ers,g.graphtype,g.show_legend,g.show_3d,g.percent_ left,g.percent_right,g.ymin_type,g.ymax_type,g.ymi n_itemid,g.ymax_itemid,g.discover FROM graphs g,graphs_items gi,items i WHERE g.flags=2 AND i.hostid=10449 AND i.flags=2 AND gi.graphid=g.graphid AND i.itemid=gi.itemid] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CGraphGeneral->syncTemplates() → CGraph->get() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT DISTINCT g.graphid,g.name,g.width,g.height,g.yaxismin,g.yax ismax,g.templateid,g.show_work_period,g.show_trigg ers,g.graphtype,g.show_legend,g.show_3d,g.percent_ left,g.percent_right,g.ymin_type,g.ymax_type,g.ymi n_itemid,g.ymax_itemid FROM graphs g,graphs_items gi,items i WHERE i.hostid=10449 AND gi.graphid=g.graphid AND i.itemid=gi.itemid AND g.flags IN (0,4)] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CTrigger->syncTemplateDependencies() → CTrigger->get() → CApiService->customFetch() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT DISTINCT t.triggerid FROM triggers t,functions f,items i WHERE i.hostid=10449 AND f.triggerid=t.triggerid AND f.itemid=i.itemid AND t.flags IN (0,4)] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → CHost->massAdd() → CHostGeneral->massAdd() → CHostGeneral->link() → CTriggerPrototype->syncTemplateDependencies() → CTriggerPrototype->get() → DBselect() → pg_query() in include/db.inc.php:248]
    • Error in query [SELECT DISTINCT t.triggerid FROM triggers t,functions f,items i WHERE t.flags=2 AND i.hostid=10449 AND f.triggerid=t.triggerid AND f.itemid=i.itemid] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • pg_query(): Query failed: ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются [hosts.php:502 → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CHost->update() → CHost->massUpdate() → DBexecute() → pg_query() in include/db.inc.php:349]
    • Error in query [DELETE FROM host_inventory WHERE hostid=10454] [ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются]
    • Не удалось удалить инвентарные данные.
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    Пардон за поздний ответ - судя по логу не хватает таблицы lld_macro_path .
    Путь к исправлению - скачать исходники для вашей версии и там в каталоге \database\postgresql\ есть файл schema.sql с описанием структуры БД (собственно он используется для первоначального создания базы). Ну а далее как вам больше нравиться - по шагам идти смотря в логи и ошибки и создавая недостающие объекты или еще как....

    Comment

    • SEsin
      Junior Member
      • Sep 2021
      • 6

      #3
      Originally posted by Hamardaban
      Пардон за поздний ответ - судя по логу не хватает таблицы lld_macro_path .
      Путь к исправлению - скачать исходники для вашей версии и там в каталоге \database\postgresql\ есть файл schema.sql с описанием структуры БД (собственно он используется для первоначального создания базы). Ну а далее как вам больше нравиться - по шагам идти смотря в логи и ошибки и создавая недостающие объекты или еще как....
      Большое спасибо за ответ! У меня была мысль - вообще базу заново создать, но я не очень понимаю, можно ли перенести в новую базу всю конфигурацию одним махом? В интернетах нашел только выгрузку отдельных узлов. Подскажите пожалуйста, можно ли сделать какую-то единую выгрузку конфигурации Zabbix, создать пустую чистую базу и туда вгрузить эту конфигурацию? Со всеми узлами, шаблонами, картами и т.д.?

      Comment

      • Hamardaban
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • May 2019
        • 2713

        #4
        Насколько знаю - нельзя выгрузить всё.
        Какие-то движения в этом направлении были (см документацию) но т.к. не надо - то и не интересовался.
        попробуйте по шагам - там ничего сложного - просто sql

        Comment

        • SEsin
          Junior Member
          • Sep 2021
          • 6

          #5
          Originally posted by Hamardaban
          Насколько знаю - нельзя выгрузить всё.
          Какие-то движения в этом направлении были (см документацию) но т.к. не надо - то и не интересовался.
          попробуйте по шагам - там ничего сложного - просто sql
          Понял, спасибо большое за ответ.

          Comment

          Working...