Обновил пакет zabbix-server-mysql до 2.4.7-alt1. При этом в логе сервера вижу такое: =8<================================================ 17471:20151118:173158.707 Starting Zabbix Server. Zabbix 2.4.7 (revision 54796). 17471:20151118:173158.708 ****** Enabled features ****** 17471:20151118:173158.708 SNMP monitoring: YES 17471:20151118:173158.708 IPMI monitoring: YES 17471:20151118:173158.709 WEB monitoring: YES 17471:20151118:173158.709 VMware monitoring: YES 17471:20151118:173158.709 Jabber notifications: YES 17471:20151118:173158.709 Ez Texting notifications: YES 17471:20151118:173158.709 ODBC: NO 17471:20151118:173158.710 SSH2 support: NO 17471:20151118:173158.710 IPv6 support: YES 17471:20151118:173158.710 ****************************** 17471:20151118:173158.710 using configuration file: /etc/zabbix/zabbix_server.conf /usr/sbin/zabbix_mysql: relocation error: /usr/sbin/zabbix_mysql: symbol mysql_init, version libmysqlclient_18 not defined in file libmysqlclient.so.18 with link time reference =8<================================================ Пришлось вручную обновлять (уже установленную) библиотеку для работы с mysql. Итого, лог обновления: =8<================================================ Transaction starting at Wed Nov 18 17:31:55 2015 Upgrading zabbix-server-mysql 1:2.4.6-alt1 to 1:2.4.7-alt1 Transaction succeeded at Wed Nov 18 17:31:58 2015 Transaction starting at Wed Nov 18 17:33:50 2015 Upgrading libmysqlclient18 5.5.34-alt1 to 10.0.21-alt4 Transaction succeeded at Wed Nov 18 17:33:52 2015 =8<================================================
(после ругани в логе процесс zabbix_mysql умирает)
Я так понимаю, в вашей системе на Сизифе стояла древняя тухлая mariadb? На это намекают упоминания версий "5.5.34-alt1 to 10.0.21-alt4". Естественно при таком раскладе возможны коллизии, так как заббикс собирается в актуальном системном окружении. По-идее, что пакет libmysqlclient18, что SQL-сервер должны были обновиться еще в августе этого года обычным apt-get dist-upgrade. По проблеме умирания после старта, в /etc/zabbix/zabbix_server.conf выставьте параметр DebugLevel на максимум, и посмотрите что там ему не хватает.
Если программа собирается в актуальном окружении, то пакет с ней должен требовать то, с чем он в этом окружении собирался (желательно в минимально необходимом объёме) :-) Действительно, был, до вчерашнего дня, пакет libmysqlclient18, собираемый из сорцов оригинального MySQL, версии 5.5.34-alt1. Ничего более нового zabbix-server-mysql-1:2.4.6-alt1 при обновлении не потребовал. Т.е. при обновлении до 2.4.6, так же как и вчера при обновлении до 2.4.7, делалось точечное обновление нужных пакетов, а не dist-upgrade (это делается не руками и глазами смотреть какие именно изменения предлагает dist-upgrade, просто некому; вслепую делать dist-upgrade роботом неразумно). Видимо, если бы в обоих случаях был dist-upgrade, проблема бы не возникла. Тем не менее, это не повод отказываться от системы зависимостей, которая в данном случае не отработала хорошо. Думаю, в случае обновления до 2.4.7 apt должен был по зависимостям вытянуть версию libmysqlclient, с которой zabbix-server-mysql реально может работать. Почему этого не произошло? Я вижу три варианта: 1) Недоработка системы поиска зависимостей. Тогда её нужно чинить, чтобы более полно находила зависимости. 2) Автоматика и не могла найти нужную зависимость (хм, как это проверить?). Тогда надо видимо вручную указать в спеке требуемую для работы минимальную версию. Это же и вариант быстрого обхода проблемы. Увы, перезапускать на этой машине сервер с отладкой (тем более на максимум) неприемлимо, а другого похожего для игр у меня нет. Мне казалось, что приведённой уже информации должно хватить: =8<=========================================================================== /usr/sbin/zabbix_mysql: relocation error: /usr/sbin/zabbix_mysql: symbol mysql_init, version libmysqlclient_18 not defined in file libmysqlclient.so.18 with link time reference =8<=========================================================================== Очевидно, это и есть причина умирания, т.к. увидев что сервер после обновления не поднялся и эту строчку я почти сразу обновил libmysqlclient18, что помогло проблему решить. Конфигурации в /etc/zabbix/ не менялись.
Получается проблема не с пакетом zabbix, а в вашей системе. В случае точечных обновлений всю логику отслеживания и разрешения зависимостей придется выполнять вставшему на этот путь.