Ad Widget

Collapse

Ошибка query failed due to primary key constraint

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • teddy
    Senior Member
    • Dec 2017
    • 234

    #1

    Ошибка query failed due to primary key constraint

    Коллеги!
    Сегодня получил ошибку
    3287991:20230326:091139.899 [Z3008] query failed due to primary key constraint: [0] PGRES_FATAL_ERROR:ERROR: duplicate key value violates unique constraint "history_pkey" DETAIL: Key (itemid, clock, ns)=(43733, 1679811053, 328225775) already exists.​
    3287991:20230326:091140.825 skipped 34 duplicates
    3287991:20230326:091444.022 cannot connect to service manager service: Cannot connect to service "service": [111] Connection refused.
    3288001:20230326:143229.560 [Z3005] query failed: [0] PGRES_FATAL_ERROR:FATAL: terminating connection due to administrator command
    server closed the connection unexpectedly
    This probably means the server terminated abnormally
    before or while processing the request.
    [begin;]

    В рекомендациях нашел совет переидексировать базу. https://support.zabbix.com/browse/ZBX-17824
    Выполнил. но во-первых дубли это явно не уберет. и во-вторых zabbix сервер после реиндексации все равно не стартует.

    Конфигурация: Linux, zabbix 6.4, postgreSQL, nginx

    Пока только есть идея руками почистить базу от дублей. но это на крайний случай да и вообще судя по второй строке в приведенном логе - сами по себе дубли могут быть не причем, система умеет скипать такие случаи. никаких действий сегодня на базе или в настройках zabbix-server точно не проводилось.
  • teddy
    Senior Member
    • Dec 2017
    • 234

    #2
    Как и думал раньше - дубли записей здесь не причем.
    Решение вроде бы нашлось и в совершенном другом месте - память кончилась... но проявилось не мгновенно.

    пару строчек выше этого краша в логе найдено сообщение
    3288035:20230326:091139.437 [file:dbcache.c,line:4387] __zbx_shmem_malloc(): out of memory (requested 48 bytes)
    3288035:20230326:091139.437 [file:dbcache.c,line:4387] __zbx_shmem_malloc(): please increase HistoryIndexCacheSize configuration parameter

    и собственно увеличение параметра HistoryIndexCacheSize в настройках сервера дало возможность запустить сервер. После реиндексации.
    вообще хотелось бы услышать рекомендации по раззмерам данных параметров в зависимости от количества хостов\объема базы\среднего времени хранения истории\возможно еще чего-то.
    чтобы не выставлять методом проб и ошибок.

    PS. текущее значение поставил
    HistoryCacheSize=64M
    HistoryIndexCacheSize=16M​

    Comment

    Working...