Ad Widget

Collapse

Высокая нагрузка на базу Housekeeper

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • BrainFair
    Junior Member
    • Sep 2017
    • 10

    #1

    Высокая нагрузка на базу Housekeeper

    Добрый день.
    С ростом количества девайсов и итемов для метрик база подросла и хаускипер перестал справляться и теперь он почти постоянно работает нагружая базу выедая все соки и дисков (в районе 5000-6000 iops).
    База на postgresql 9.6 размер 180 гигов.
    1409 хостов
    84421 итемов
    43082 триггеров
    Zabbix 3.4.1

    По настройкам хаускипера сейчас стоит:
    HousekeepingFrequency=2
    MaxHousekeeperDelete=10000

    Нужен совет в какую сторону покапать и что можно изменить, что бы нагрузка на дисковую подсистему не была такой большой.
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by BrainFair
    Добрый день.
    С ростом количества девайсов и итемов для метрик база подросла и хаускипер перестал справляться и теперь он почти постоянно работает нагружая базу выедая все соки и дисков (в районе 5000-6000 iops).
    База на postgresql 9.6 размер 180 гигов.
    1409 хостов
    84421 итемов
    43082 триггеров
    Zabbix 3.4.1

    По настройкам хаускипера сейчас стоит:
    HousekeepingFrequency=2
    MaxHousekeeperDelete=10000

    Нужен совет в какую сторону покапать и что можно изменить, что бы нагрузка на дисковую подсистему не была такой большой.
    Внедрить партиционирование на уровне postgress и выключить housekeeper, все остальное - полумеры.

    Comment

    • BrainFair
      Junior Member
      • Sep 2017
      • 10

      #3
      Originally posted by yukra
      Внедрить партиционирование на уровне postgress и выключить housekeeper, все остальное - полумеры.
      Насколько я понял это не официальный способ, да и документации для 3.4 не нашел.
      Неужели заббикс просто не предназначен для работы с большими данными или все же просто нужно правильно приготовить его?

      Comment

      • astrix89
        Senior Member
        • Jun 2017
        • 149

        #4
        Originally posted by BrainFair
        Насколько я понял это не официальный способ, да и документации для 3.4 не нашел.
        Неужели заббикс просто не предназначен для работы с большими данными или все же просто нужно правильно приготовить его?
        Join the friendly and open Zabbix community on our forums and social media platforms.

        Join the friendly and open Zabbix community on our forums and social media platforms.


        Переработал первый способ, в системе 15k хостов, 11-12k NVPS, без SSD, без лагов, дисковая подсистема нагружена примерно на 0.3%, и то, только когда графики смотрю.
        В день данных пишется примерно 10 гигабайт.

        Comment

        • Kos
          Senior Member
          Zabbix Certified SpecialistZabbix Certified Professional
          • Aug 2015
          • 3404

          #5
          Ну автор темы же сразу написал, что у него postgresql; зачем же рассказывать ему о том, как хорошо партиционируется MySQL...

          Comment

          • BrainFair
            Junior Member
            • Sep 2017
            • 10

            #6
            Возможно можно поменять настройки хаускипера или постгре как-то в лучшую сторону, сейчас еще проверил на пг автовакуум включен, насколько я понимаю лучше выключить и запланировать в кроне вручную вакуум?

            Comment

            • BrainFair
              Junior Member
              • Sep 2017
              • 10

              #7
              Сейчас еще посмотрел самые большие таблицы это events и history_uint
              Причем у них большая часть размера это индексы по 38Гб из 50, возможно надо в эту сторону что-то покапать?

              Comment

              • oscar
                Senior Member
                • Dec 2010
                • 141

                #8
                Увы, но рано или поздно вы все равно придете к партицированию. ИМХО это становиться уже "полуофициально", т.к. выключение кипера вынесли из конфига в вэб. Почему это не сделано из коробки - сие великая загадка.

                Comment

                • yukra
                  Senior Member
                  • Apr 2013
                  • 1359

                  #9
                  Originally posted by BrainFair
                  Насколько я понял это не официальный способ, да и документации для 3.4 не нашел.
                  Официальное, только не для заббикса, а для вашей БД. Вот ссылка https://www.postgresql.org/docs/10/s...titioning.html
                  А заббикс в свою очередь имеет настройку для включения и выключения housekeeper'а.

                  Originally posted by BrainFair
                  Неужели заббикс просто не предназначен для работы с большими данными или все же просто нужно правильно приготовить его?
                  Вы пытаетесь спровоцировать других пользователей, что бы они кинулись доказывать что все нормально работает под большими нагрузками и попутно нашли что вам нужно донастроить. При этом вы показываете что совершенно ничего не знаете и даже не пытались узнать об оптимизации производительности. Приводите колво хостов, айтемов и триггеров, которые ровным счетом бесполезны сами по себе, но ни слова о NVPS, который хоть как-то показывает нагрузку (пусть и достаточно абстрактно).

                  В общем да, заббикс не предназначен для высоких нагрузок, если ваша БД не справляется с нагрузкой, создаваемой заббиксом иди если ваше оборудование не справляется с создаваемой нагрузкой. Поэтому залог успеха: правильный подбор производительности оборудования, правильная конфигурация БД, выбор правильных схем и методов мониторинга того или иного оборудования и правильная настройка всех сопутствующих систем.

                  Comment

                  • BrainFair
                    Junior Member
                    • Sep 2017
                    • 10

                    #10
                    Originally posted by yukra
                    Официальное, только не для заббикса, а для вашей БД. Вот ссылка https://www.postgresql.org/docs/10/s...titioning.html
                    А заббикс в свою очередь имеет настройку для включения и выключения housekeeper'а.

                    Вы пытаетесь спровоцировать других пользователей, что бы они кинулись доказывать что все нормально работает под большими нагрузками и попутно нашли что вам нужно донастроить. При этом вы показываете что совершенно ничего не знаете и даже не пытались узнать об оптимизации производительности. Приводите колво хостов, айтемов и триггеров, которые ровным счетом бесполезны сами по себе, но ни слова о nvps, который хоть как-то показывает нагрузку (пусть и достаточно абстрактно).

                    В общем да, заббикс не предназначен для высоких нагрузок, если ваша БД не справляется с нагрузкой, создаваемой заббиксом иди если ваше оборудование не справляется с создаваемой нагрузкой. Поэтому залог успеха: правильный подбор производительности оборудования, правильная конфигурация БД, выбор правильных схем и методов мониторинга того или иного оборудования и правильная настройка всех сопутствующих систем.
                    Извиняюсь если чем то пытался вас спровоцировать, абсолютно не было этого в планах, nvps не приводил, так как нагрузка создается хаускипером, а не сбором актуальных метрик. По факту средний nvps 600 максимальный около 1000.

                    Поверьте я искал информацию, но заббикс это опенсорс и громадное количество противоречащей друг другу информации всплывает в попытках найти ответ на мой вопрос в поисковиках.

                    Comment

                    • lamerrrr
                      Member
                      • May 2010
                      • 60

                      #11
                      Originally posted by yukra
                      Внедрить партиционирование на уровне postgress и выключить housekeeper, все остальное - полумеры.
                      А можно Вас попросить о полумерах подробнее?
                      Партиционирование не устраивает, так как есть метрики которые должны накапливаться за весь срок эксплуатации. Хаускипер запускается раз в час и все успевает за пять минут. Беда одна, в этот момент дичайшая нагрузка на массив, очередь в заббиксе подскакивает до нескольких тысяч, рвутся графики, начинают срабатывать триггеры на отсутствие данных и т.д. Через пяток минут все устаканивается и до следующего хаускипера тишь-гладь-благодать....
                      Очень бы устроило если бы хаускипер можно было чуть придушить, чтоб он хоть постоянно молотил, но равномерно и не создавал взрывообразную нагрузку на базу и диски.
                      Заббикс распоследний. Размер базы около 400гб. Мускуль.

                      Comment

                      • yukra
                        Senior Member
                        • Apr 2013
                        • 1359

                        #12
                        Originally posted by lamerrrr
                        А можно Вас попросить о полумерах подробнее?
                        Партиционирование не устраивает, так как есть метрики которые должны накапливаться за весь срок эксплуатации. Хаускипер запускается раз в час и все успевает за пять минут. Беда одна, в этот момент дичайшая нагрузка на массив, очередь в заббиксе подскакивает до нескольких тысяч, рвутся графики, начинают срабатывать триггеры на отсутствие данных и т.д. Через пяток минут все устаканивается и до следующего хаускипера тишь-гладь-благодать....
                        Очень бы устроило если бы хаускипер можно было чуть придушить, чтоб он хоть постоянно молотил, но равномерно и не создавал взрывообразную нагрузку на базу и диски.
                        Заббикс распоследний. Размер базы около 400гб. Мускуль.
                        1) В конфиге сервера 2 параметра есть: HousekeepingFrequency и MaxHousekeeperDelete, можно ими попробовать поиграться.
                        2) Можно попробовать выключить хаускипер и запускать его вручную параметром " --runtime-control housekeeper_execute" например ночью. Или наоборот каждые 5 минут запускать, что бы он понемногу удалял.

                        Если все не совсем запущенно, и если при этом активно посмативать на логи (командой "grep housekeeper /var/log/zabbix/zabbix_server.log"), то может быть получиться обойтись малой кровью.

                        Если же это не поможет, то нужно уже конкретно вас случай разбирать, вариантом разным много.

                        Comment

                        Working...