Ad Widget

Collapse

Партицирование после перехода на zabbix 3.2

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Polkovnikiv
    Member
    • Sep 2013
    • 71

    #1

    Партицирование после перехода на zabbix 3.2

    Всем привет.

    Первый раз начал партицировать базу zabbix, поэтому не удивлен что не все идет гладко.
    Начал делать все по данной инструкции:


    Но на шаге :
    INSERT INTO manage_partitions (tablename, period, keep_history, last_updated, comments) VALUES ('acknowledges', 'month', 6, now(), '');

    получил ошибку:
    ERROR 1062 (23000): Duplicate entry 'acknowledges' for key 'PRIMARY'

    Все попытки исправить ошибку приводили к следующему:
    ERROR 1091 (42000): Can't DROP 'PRIMARY'; check that column/key exists

    Подскажите, как решить проблему?
  • Polkovnikiv
    Member
    • Sep 2013
    • 71

    #2
    Ну с этим разобрался кажется.
    Выполнил всю процедуру, но...
    Отключение DisableHousekeeping=1 в настройках сервера вызывает после перезагрузки отказ от запуска. Сервер не стартует. Приходится закоментировать эту строчку, в надежде, что если процесс выключен под web и ENGINE =Blackhole проблем не будет.

    Вот только как посмотреть начался ли процесс партицирования?

    Comment

    • Alex1987
      Member
      • Nov 2015
      • 55

      #3
      Посмотреть можно так:
      select TABLE_NAME, PARTITION_NAME, PARTITION_ORDINAL_POSITION, TABLE_ROWS, DATA_LENGTH, CREATE_TIME from information_schema.PARTITIONS where TABLE_SCHEMA = 'zabbix' and PARTITION_NAME is not NULL;

      Comment

      • Polkovnikiv
        Member
        • Sep 2013
        • 71

        #4
        mysql> select TABLE_NAME, PARTITION_NAME, PARTITION_ORDINAL_POSITION, TABLE_ROWS, DATA_LENGTH, CREATE_TIME from information_schema.PARTITIONS where TABLE_SCHEMA = 'zabbix' and PARTITION_NAME is not NULL;
        Empty set (0.32 sec)

        Партицирования не было? Или оно будет проведено только спустя месяц (по настройкам было выставлено 1 месяц), соответственно и результат будет виден через месяц?

        Comment

        • Alex1987
          Member
          • Nov 2015
          • 55

          #5
          Да, Партицирование не работает. Если бы работало, были бы как минимум партиции за текущий месяц и за следующий (если, конечно, делали по вышеуказанной инструкции). У меня обновление до 3.2.0 из-за партицирования не удалось. Пришлось восстанавливать из дампа без истории. Сейчас выглядит так:
          Attached Files

          Comment

          • Alex1987
            Member
            • Nov 2015
            • 55

            #6
            А вообще я пришел к мнению, что проще использовать PostgreSQL. Там партицирование не меняет ключи в таблицах, да и по шустрее, вроде, работает.

            Comment

            • Polkovnikiv
              Member
              • Sep 2013
              • 71

              #7
              Ок. Как искать косяк если оставаться на mysql?

              Comment

              • Alex1987
                Member
                • Nov 2015
                • 55

                #8
                Всё было сделано по технологии? Ошибок не возникло?
                event_scheduler включен? service mysql рестартанул? В логах заббикс-сервера нет ошибок? В логах mysql нет ошибок?
                Last edited by Alex1987; 26-09-2016, 13:28.

                Comment

                • Alex1987
                  Member
                  • Nov 2015
                  • 55

                  #9
                  Кстати, в 8-м шаге в инструкции нужно было руками создать первые партиции. У Вас их почему-то нет. Что-то Вы не доделали. Имя БД - zabbix?

                  Comment

                  • Polkovnikiv
                    Member
                    • Sep 2013
                    • 71

                    #10
                    Ошибочки есть. На сервере:
                    28806:20160927:120059.433 [Z3005] query failed: [1062] Duplicate entry '0-1474966859' for key 'PRIMARY' [insert into history_text (itemid,clock,ns,value) v
                    alues (31379,1474966859,287736678,'DES-1210-28/ME 6.07.B035'),(32579,1474966859,294045334,'DES-1210-28/ME 6.05.B040');
                    ]
                    28806:20160927:120100.474 [Z3005] query failed: [1062] Duplicate entry '0-1474966860' for key 'PRIMARY' [insert into history_text (itemid,clock,ns,value) v
                    alues (31381,1474966860,301281880,'DES-1210-28/ME 6.05.B040'),(32581,1474966860,308547990,'DES-1210-28/ME 6.05.B040');
                    ]
                    28811:20160927:120101.423 [Z3005] query failed: [1062] Duplicate entry '0-1474966861' for key 'PRIMARY' [insert into history_text (itemid,clock,ns,value) v
                    alues (31383,1474966861,316541470,'DES-1210-28/ME 6.07.B035'),(32583,1474966861,322920840,'DES-1210-28/ME 6.05.B040');
                    ]
                    28811:20160927:120102.455 [Z3005] query failed: [1062] Duplicate entry '0-1474966862' for key 'PRIMARY' [insert into history_text (itemid,clock,ns,value) v
                    alues (31385,1474966862,329698306,'DES-1210-28/ME 6.07.B035'),(32585,1474966862,335996704,'DES-1210-28/ME 6.05.B040');
                    ]

                    На mysql:
                    160926 4:00:01 [ERROR] Event Scheduler: [root@localhost][zabbix.e_part_manage] Partition management on a not partitioned table is not possible
                    160926 4:00:01 [Note] Event Scheduler: [root@localhost].[zabbix.e_part_manage] event execution failed.

                    Comment

                    • Polkovnikiv
                      Member
                      • Sep 2013
                      • 71

                      #11
                      Да, имя базы zabbix.
                      8 пункт пропустил, т.к. текущая история не интересовала.

                      Comment

                      • Alex1987
                        Member
                        • Nov 2015
                        • 55

                        #12
                        С ключами в таблице косяк. Может пропустили какой-нибудь шаг. Как поправить - не знаю. Я бы снёс бы базу и по новой произвел бы все шаги.

                        Comment

                        Working...