Ad Widget

Collapse

Установка Zabbix 2.2 с нуля с Postgresql 9.3 на CentOS 6.4 x86_64

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • keks
    Junior Member
    • Nov 2013
    • 3

    #1

    Установка Zabbix 2.2 с нуля с Postgresql 9.3 на CentOS 6.4 x86_64

    Ребята, всем доброго дня!

    Такая проблема: Поставил Zabbix 2.2 + Postgresql 9.3 на CentOS 6.4 x86_64, база чистая, нулёвая, тем не менее zabbix-server не запускается, говорит это: 874:20131127:133719.193 Cannot upgrade database: the database must correspond to version 2.0 or later. Exiting ...

    А полный лог выглядит так: http://pastebin.com/NuiEF1uP

    Ну и соответственно веб-установщик выдает такую ошибку при тестировании подключения к базе: The frontend does not match Zabbix database.

    Может быть кто сталкивался? Ему Postgresql 9.3 что-ли слишком новая или это дефолтовые файлы в /usr/share/doc/zabbix-server-pgsql-2.2.0/create/ подпорчены заранее? Или вообще сам заббикс 2.2 еще настолько сырой что такие баги?

    Благодарю за любую информацию!
  • dynax60
    Junior Member
    • Aug 2010
    • 15

    #2
    Присоединяюсь к вопросу. Делаю апгрейд Zabbix 2.0.8 > 2.2.0, та же самая ошибка. Она возникает, когда морда при инсталяции не видит таблицы dbversion в MySQL. В документации (upgrades/dbpatches/2.2/README) также написано, что патчить не нужно, т.к. заббикс-сервер с 2.2.0 производит автоматический апгрейд.

    Еще был неприятно удивлён, что перешли на mysqli (is_callable на mysqli_connect и др. фун-ии не проходил), пришлось модуль ставить. Причем ничего написано не было про это в требованиях. Может, я чего упустил? Ну эту беду я уже победил.

    Так что делать с "The frontend does not match Zabbix database."? Я понимаю, что ошибку могу обойти путем добавления:

    Code:
    CREATE TABLE `dbversion` (
            `mandatory`              integer         DEFAULT '0'               NOT NULL,
            `optional`               integer         DEFAULT '0'               NOT NULL
    ) ENGINE=InnoDB;
    INSERT INTO dbversion VALUES ('2020000','2020000');
    (взятого из database/mysql/schema.sql), но правильно ли это??? С нуля ставить не хочется, у меня куча данных в БД

    Comment

    • Jimson
      Senior Member
      • Jan 2008
      • 1327

      #3
      Originally posted by dynax60
      (взятого из database/mysql/schema.sql), но правильно ли это??? С нуля ставить не хочется, у меня куча данных в БД
      Конечно не правильно. Это не причина, это следствие того что у вас схема не проапгрейдилась. Апгрейдом должен заниматься zabbix_server, почему не прошел апгрейд надо смотреть в его логах.

      P.S. Мне до сих пор кажется что переход на автоматизированный апгрейд для базы под управлением open source субд не очень хорошая идея: куча разных версий субд, куча непонятных линуксов, каждый со своим репозитарием где пакеты собраны с непонятными патчами, не знаю как тут можно ожидать гладкого автоматического апгрейда. С другой стороны большая часть проблем с автоматически апгрейдом это ситуации когда в базе пользователя есть constrains, на которые разработчики не рассчитывали, возможно вы их сами добавили, а возможно они устарели и должны были удалиться при предыдущих апгрейдах, но по какой то причине не удалились.

      PP.S. как выкрутится из ситуации я могу подсказать: наша проблема в том что у нас нет описания того что изменилось в схеме БД, следовательно нужно
      1) установить какой-нибудь дизайнер для вашей субд
      2) развернуть в отдельной схеме пустую базу 2.2.0 используя scheme.sql из исходников zabbix
      3) сделать сравнение средствами дизайнера между чистой схемой версии 2.2.0 и вашей текущей схемой
      4) сделать клон вашей рабочей схемы, провести на нем апгрейд вручную (alter table, etc) и по ходу дела сделать sql скриптик апгрейда
      5) собственно провести ручной апгрейд вашей рабочей схемы
      Либо, сделать все что написанно выше но сравнивая свою рабочую схему с оригинальной схемой версии 2.0, т.е со schema.sql из исходников v.2.0.9, исправить различия и затем запустить zabbix_server 2.2 для автоматического апгрейда схемы.

      Comment

      • dynax60
        Junior Member
        • Aug 2010
        • 15

        #4
        Jimson, большое спасибо! Сервер-то я забыл запустить! По старинке полез сразу в морду, и скрпты на апгрейд БД смотреть )) В общем, запустив сервер, он автоматически проапгредил мне схему в MySQL.

        Про это и тут написано:


        Спасибо еще раз!!!

        Comment

        • keks
          Junior Member
          • Nov 2013
          • 3

          #5
          Originally posted by dynax60
          Jimson, большое спасибо! Сервер-то я забыл запустить! По старинке полез сразу в морду, и скрпты на апгрейд БД смотреть )) В общем, запустив сервер, он автоматически проапгредил мне схему в MySQL.

          Про это и тут написано:


          Спасибо еще раз!!!
          Версия сервера postgresql какая? Или вы на Mysql сидите? Топик читали? Создайте новую тему и перенесите туда свои сообщения, так как они не решают проблему чистой установки заббикса 2.2 с postgresql 9.3.

          Тема не закрыта, ибо выше оффтоп.

          Comment

          • killout
            Junior Member
            • Dec 2013
            • 10

            #6
            please check owner of tables in db

            When i wrong create tables under postgres user i reached same problem. Solution is to drop database and recreate it undex zabbix user.

            cat schema.sql | psql -U zabbix zabbix_db
            cat images.sql | psql -U zabbix zabbix_db
            cat data.sql | psql -U zabbix zabbix_db

            Connect with pgadmn and watch who is the owner of tables in zabbix_db.

            my version is:
            [root@localhost_alex zabbix]# rpm -qa | grep -E 'postgresql|zabbix'
            zabbix-agent-2.2.1-1.el6.x86_64
            postgresql93-9.3.2-1PGDG.rhel6.x86_64
            postgresql93-devel-9.3.2-1PGDG.rhel6.x86_64
            zabbix-release-2.2-1.el6.noarch
            postgresql93-contrib-9.3.2-1PGDG.rhel6.x86_64
            zabbix-server-2.2.1-1.el6.x86_64
            zabbix-server-pgsql-2.2.1-1.el6.x86_64
            postgresql-libs-8.4.18-1.el6_4.x86_64
            zabbix-2.2.1-1.el6.x86_64
            postgresql93-server-9.3.2-1PGDG.rhel6.x86_64
            postgresql93-libs-9.3.2-1PGDG.rhel6.x86_64

            Comment

            • killout
              Junior Member
              • Dec 2013
              • 10

              #7
              Я столкнулся с такой-же пробемой когда владелец таблиц был не юзер zabbix а юзер postgres.

              Проверьте владельца таблиц, возможность стених из юзером zabbix в postgres.
              Last edited by killout; 30-12-2013, 11:28.

              Comment

              Working...