Ad Widget

Collapse

Алерты при бэкапе mysql

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Scorpion15
    Member
    • May 2015
    • 32

    #1

    Алерты при бэкапе mysql

    Добрый день!
    Во время бэкапа Mysql zabbix сервера, стали присылаться алерты о том что некоторые из серверов недоступны более 5 минут, как с этим бороться?
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by Scorpion15
    Добрый день!
    Во время бэкапа Mysql zabbix сервера, стали присылаться алерты о том что некоторые из серверов недоступны более 5 минут, как с этим бороться?
    как бэкапите? Таблицы innodb? что "mysqladmin pr" во время бэкапа показывает?

    Comment

    • Scorpion15
      Member
      • May 2015
      • 32

      #3
      mysqldump, а потом tar gz жму. Да innodb. mysqladmin pr:
      Начинаеться все с:
      +--------+--------+-----------+--------+---------+------+------------------------------+------------------------------------------------------------------------------------------------------+
      | Id | User | Host | db | Command | Time | State | Info |
      +--------+--------+-----------+--------+---------+------+------------------------------+------------------------------------------------------------------------------------------------------+
      | 11 | zabbix | localhost | zabbix | Sleep | 779 | | |
      | 12 | zabbix | localhost | zabbix | Sleep | 278 | | |
      | 13 | zabbix | localhost | zabbix | Sleep | 829 | | |
      | 14 | zabbix | localhost | zabbix | Sleep | 306 | | |
      | 15 | zabbix | localhost | zabbix | Sleep | 279 | | |
      | 17 | zabbix | localhost | zabbix | Sleep | 2923 | | |
      | 18 | zabbix | localhost | zabbix | Sleep | 308 | | |
      | 19 | zabbix | localhost | zabbix | Sleep | 542 | | |
      | 20 | zabbix | localhost | zabbix | Sleep | 2886 | | |
      | 21 | zabbix | localhost | zabbix | Sleep | 709 | | |
      | 22 | zabbix | localhost | zabbix | Sleep | 778 | | |
      | 23 | zabbix | localhost | zabbix | Sleep | 2922 | | |
      | 24 | zabbix | localhost | zabbix | Sleep | 440 | | |
      | 25 | zabbix | localhost | zabbix | Sleep | 1430 | | |
      | 26 | zabbix | localhost | zabbix | Sleep | 292 | | |
      | 27 | zabbix | localhost | zabbix | Sleep | 735 | | |
      | 28 | zabbix | localhost | zabbix | Sleep | 2305 | | |
      | 29 | zabbix | localhost | zabbix | Sleep | 1301 | | |
      | 30 | zabbix | localhost | zabbix | Sleep | 441 | | |
      | 31 | zabbix | localhost | zabbix | Sleep | 2304 | | |
      | 32 | zabbix | localhost | zabbix | Sleep | 768 | | |
      | 33 | zabbix | localhost | zabbix | Sleep | 960 | | |
      | 34 | zabbix | localhost | zabbix | Sleep | 135 | | |
      | 35 | zabbix | localhost | zabbix | Query | 6 | Waiting for table level lock | update autoreg_host set listen_ip=,listen_dns='',listen_port=10050,host_me tadata='' wher |
      | 36 | zabbix | localhost | zabbix | Sleep | 118 | | |
      | 37 | zabbix | localhost | zabbix | Query | 9 | Waiting for table level lock | update hosts set disable_until=1441180230,error='Get value from agent failed: cannot connect to [[10 |
      | 38 | zabbix | localhost | zabbix | Sleep | 36 | | |
      | 39 | zabbix | localhost | zabbix | Sleep | 831 | | |
      | 40 | zabbix | localhost | zabbix | Sleep | 85 | | |
      | 41 | zabbix | localhost | zabbix | Sleep | 54 | | |
      | 42 | zabbix | localhost | zabbix | Sleep | 198 | | |
      | 43 | zabbix | localhost | zabbix | Sleep | 1023 | | |
      | 44 | zabbix | localhost | zabbix | Sleep | 72 | | |
      | 45 | zabbix | localhost | zabbix | Sleep | 639 | | |
      | 46 | zabbix | localhost | zabbix | Sleep | 897 | | |
      | 47 | zabbix | localhost | zabbix | Sleep | 13 | | |
      | 48 | zabbix | localhost | zabbix | Sleep | 9 | | |
      | 49 | zabbix | localhost | zabbix | Sleep | 2 | | |
      | 50 | zabbix | localhost | zabbix | Query | 7 | Waiting for table level lock | insert into history (itemid,clock,ns,value) values (24810,1441180170,173994301,0.000000),(23310,1441 |
      | 51 | zabbix | localhost | zabbix | Sleep | 33 | | |
      | 52 | zabbix | localhost | zabbix | Sleep | 34 | | |
      | 53 | zabbix | localhost | zabbix | Sleep | 34 | | |
      | 54 | zabbix | localhost | zabbix | Sleep | 37 | | |
      | 55 | zabbix | localhost | zabbix | Query | 11 | Waiting for table level lock | insert into history (itemid,clock,ns,value) values (28382,1441180165,139572970,0.003413),(28381,1441 |
      | 56 | zabbix | localhost | zabbix | Query | 5 | Waiting for table level lock | insert into history (itemid,clock,ns,value) values (27392,1441180172,256186413,97.521389),(24692,144 |
      | 57 | zabbix | localhost | zabbix | Sleep | 33 | | |
      | 58 | zabbix | localhost | zabbix | Sleep | 33 | | |
      | 59 | zabbix | localhost | zabbix | Query | 10 | Waiting for table level lock | insert into history (itemid,clock,ns,value) values (27629,1441180169,148055652,87.643425),(28409,144 |
      | 60 | zabbix | localhost | zabbix | Sleep | 34 | | |
      | 61 | zabbix | localhost | zabbix | Sleep | 34 | | |
      | 62 | zabbix | localhost | zabbix | Sleep | 1 | | |
      | 65 | zabbix | localhost | zabbix | Sleep | 34 | | |
      | 66 | zabbix | localhost | zabbix | Sleep | 34 | | |
      | 90 | zabbix | localhost | zabbix | Sleep | 3 | | |
      | 179688 | root | localhost | zabbix | Query | 11 | Sending data | SELECT /*!40001 SQL_NO_CACHE */ * FROM `alerts` |
      | 179689 | root | localhost | zabbix | Query | 10 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180169 WHERE userid='1' AND sessionid='d8839afca4f122f70842bb9039 |
      | 179690 | root | localhost | zabbix | Query | 8 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180171 WHERE userid='3' AND sessionid='a955671cf2f15da4b79cd67fad |
      | 179691 | root | localhost | | Query | 0 | | show processlist |
      +--------+--------+-----------+--------+---------+------+------------------------------+------------------------------------------------------------------------------------------------------+

      А под конец:
      +--------+--------+-----------+--------+---------+------+------------------------------+------------------------------------------------------------------------------------------------------+
      | Id | User | Host | db | Command | Time | State | Info |
      +--------+--------+-----------+--------+---------+------+------------------------------+------------------------------------------------------------------------------------------------------+
      | 11 | zabbix | localhost | zabbix | Sleep | 1024 | | |
      | 12 | zabbix | localhost | zabbix | Query | 24 | Waiting for table level lock | update item_discovery set lastcheck=1441180400 where itemid in (24887,24888,24889,24890) |
      | 13 | zabbix | localhost | zabbix | Query | 170 | Waiting for table level lock | update item_discovery set lastcheck=1441180254 where itemid in (24825,24826) |
      | 14 | zabbix | localhost | zabbix | Sleep | 551 | | |
      | 15 | zabbix | localhost | zabbix | Query | 73 | Waiting for table level lock | update item_discovery set lastcheck=1441180351 where itemid in (24873,24874) |
      | 17 | zabbix | localhost | zabbix | Query | 115 | Waiting for table level lock | update item_discovery set lastcheck=1441180309 where itemid=24853 |
      | 18 | zabbix | localhost | zabbix | Sleep | 553 | | |
      | 19 | zabbix | localhost | zabbix | Sleep | 787 | | |
      | 20 | zabbix | localhost | zabbix | Sleep | 3131 | | |
      | 21 | zabbix | localhost | zabbix | Query | 143 | Waiting for table level lock | update item_discovery set lastcheck=1441180281 where itemid in (24841,24842,24843) |
      | 22 | zabbix | localhost | zabbix | Query | 41 | Waiting for table level lock | update item_discovery set lastcheck=1441180383 where itemid in (28424,28425) |
      | 23 | zabbix | localhost | zabbix | Query | 74 | Waiting for table level lock | update item_discovery set lastcheck=1441180350 where itemid in (24865,24866,24868,28711) |
      | 24 | zabbix | localhost | zabbix | Query | 114 | Waiting for table level lock | update item_discovery set lastcheck=1441180310 where itemid in (24855,24856) |
      | 25 | zabbix | localhost | zabbix | Sleep | 1675 | | |
      | 26 | zabbix | localhost | zabbix | Query | 144 | Waiting for table level lock | update item_discovery set lastcheck=1441180280 where itemid in (24837,24838) |
      | 27 | zabbix | localhost | zabbix | Sleep | 980 | | |
      | 28 | zabbix | localhost | zabbix | Sleep | 2550 | | |
      | 29 | zabbix | localhost | zabbix | Query | 40 | Waiting for table level lock | update item_discovery set lastcheck=1441180384 where itemid=28428 |
      | 30 | zabbix | localhost | zabbix | Query | 25 | Waiting for table level lock | update item_discovery set lastcheck=1441180399 where itemid in (24883,24884) |
      | 31 | zabbix | localhost | zabbix | Query | 169 | Waiting for table level lock | update item_discovery set lastcheck=1441180255 where itemid in (24829,24830) |
      | 32 | zabbix | localhost | zabbix | Query | 191 | Waiting for table level lock | update hosts set disable_until=1441180293,error='Get value from agent failed: cannot connect to [[ |
      | 33 | zabbix | localhost | zabbix | Sleep | 1205 | | |
      | 34 | zabbix | localhost | zabbix | Sleep | 380 | | |
      | 35 | zabbix | localhost | zabbix | Query | 251 | Waiting for table level lock | update autoreg_host set listen_ip=,listen_dns='',listen_port=10050,host_me tadata='' wher |
      | 36 | zabbix | localhost | zabbix | Query | 188 | Waiting for table level lock | update autoreg_host set listen_ip=,listen_dns='',listen_port=10050,host_me tadata='' wher |
      | 37 | zabbix | localhost | zabbix | Query | 254 | Waiting for table level lock | update hosts set disable_until=1441180230,error='Get value from agent failed: cannot connect to [[ |
      | 38 | zabbix | localhost | zabbix | Query | 125 | Waiting for table level lock | update autoreg_host set listen_ip=,listen_dns='',listen_port=10050,host_me tadata='' wher |
      | 39 | zabbix | localhost | zabbix | Query | 128 | Waiting for table level lock | update hosts set disable_until=1441180356,error='Get value from agent failed: cannot connect to [[ |
      | 40 | zabbix | localhost | zabbix | Sleep | 4 | | |
      | 41 | zabbix | localhost | zabbix | Query | 62 | Waiting for table level lock | update autoreg_host set listen_ip=,listen_dns='',listen_port=10050,host_me tadata='' wher |
      | 42 | zabbix | localhost | zabbix | Query | 65 | Waiting for table level lock | update hosts set disable_until=1441180419,error='Get value from agent failed: cannot connect to [[ |
      | 43 | zabbix | localhost | zabbix | Sleep | 1268 | | |
      | 44 | zabbix | localhost | zabbix | Query | 2 | Waiting for table level lock | update hosts set disable_until=1441180482,error='Get value from agent failed: cannot connect to [[ |
      | 45 | zabbix | localhost | zabbix | Sleep | 884 | | |
      | 46 | zabbix | localhost | zabbix | Sleep | 1142 | | |
      | 47 | zabbix | localhost | zabbix | Query | 238 | Waiting for table level lock | update alerts set status=1,error='' where alertid=738985 |
      | 48 | zabbix | localhost | zabbix | Sleep | 14 | | |
      | 49 | zabbix | localhost | zabbix | Sleep | 1 | | |
      | 50 | zabbix | localhost | zabbix | Query | 252 | Waiting for table level lock | insert into history (itemid,clock,ns,value) values (24810,1441180170,173994301,0.000000),(23310,1441 |
      | 51 | zabbix | localhost | zabbix | Sleep | 38 | | |
      | 52 | zabbix | localhost | zabbix | Sleep | 39 | | |
      | 53 | zabbix | localhost | zabbix | Sleep | 39 | | |
      | 54 | zabbix | localhost | zabbix | Sleep | 42 | | |
      | 55 | zabbix | localhost | zabbix | Query | 256 | Waiting for table level lock | insert into history (itemid,clock,ns,value) values (28382,1441180165,139572970,0.003413),(28381,1441 |
      | 56 | zabbix | localhost | zabbix | Query | 250 | Waiting for table level lock | insert into history (itemid,clock,ns,value) values (27392,1441180172,256186413,97.521389),(24692,144 |
      | 57 | zabbix | localhost | zabbix | Sleep | 38 | | |
      | 58 | zabbix | localhost | zabbix | Sleep | 38 | | |
      | 59 | zabbix | localhost | zabbix | Query | 255 | Waiting for table level lock | insert into history (itemid,clock,ns,value) values (27629,1441180169,148055652,87.643425),(28409,144 |
      | 60 | zabbix | localhost | zabbix | Sleep | 39 | | |
      | 61 | zabbix | localhost | zabbix | Sleep | 39 | | |
      | 62 | zabbix | localhost | zabbix | Query | 239 | Waiting for table level lock | update escalations set nextcheck=1441180245 where escalationid=768244 |
      | 65 | zabbix | localhost | zabbix | Sleep | 39 | | |
      | 66 | zabbix | localhost | zabbix | Sleep | 39 | | |
      | 90 | zabbix | localhost | zabbix | Sleep | 7 | | |
      | 179688 | root | localhost | zabbix | Query | 67 | Sending data | SELECT /*!40001 SQL_NO_CACHE */ * FROM `trends_uint` |
      | 179689 | root | localhost | zabbix | Query | 255 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180169 WHERE userid='1' AND sessionid='d8839afca4f122f70842bb9039 |
      | 179690 | root | localhost | zabbix | Query | 253 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180171 WHERE userid='3' AND sessionid='a955671cf2f15da4b79cd67fad |
      | 179692 | root | localhost | zabbix | Query | 245 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180179 WHERE userid='1' AND sessionid='d8839afca4f122f70842bb9039 |
      | 179693 | root | localhost | zabbix | Query | 243 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180181 WHERE userid='3' AND sessionid='a955671cf2f15da4b79cd67fad |
      | 179694 | root | localhost | zabbix | Query | 235 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180189 WHERE userid='1' AND sessionid='d8839afca4f122f70842bb9039 |
      | 179695 | root | localhost | zabbix | Query | 233 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180191 WHERE userid='3' AND sessionid='a955671cf2f15da4b79cd67fad |
      | 179704 | root | localhost | zabbix | Query | 225 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180199 WHERE userid='1' AND sessionid='d8839afca4f122f70842bb9039 |
      | 179706 | root | localhost | zabbix | Query | 224 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180200 WHERE userid='1' AND sessionid='d8839afca4f122f70842bb9039 |
      | 179707 | root | localhost | zabbix | Query | 224 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180200 WHERE userid='1' AND sessionid='d8839afca4f122f70842bb9039 |
      | 179709 | root | localhost | zabbix | Query | 223 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180201 WHERE userid='3' AND sessionid='a955671cf2f15da4b79cd67fad |
      | 179715 | root | localhost | zabbix | Query | 213 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180211 WHERE userid='3' AND sessionid='a955671cf2f15da4b79cd67fad |
      | 179716 | root | localhost | zabbix | Query | 203 | Waiting for table level lock | UPDATE sessions SET lastaccess=1441180221 WHERE userid='3' AND sessionid='a955671cf2f15da4b79cd67fad |
      | 179763 | root | localhost | | Query | 0 | | show processlist |
      +--------+--------+-----------+--------+---------+------+------------------------------+------------------------------------------------------------------------------------------------------+



      И заметил, что когда tar жмет иммено базу mysql у меня в zabbix web интерфейсе как раз начинают появляться, что сервера недоступны 5 минут

      Comment

      • Viewer
        Senior Member
        • Oct 2012
        • 131

        #4
        попробуй делать дамп с --single-transaction

        Comment

        • yukra
          Senior Member
          • Apr 2013
          • 1359

          #5
          Originally posted by Viewer
          попробуй делать дамп с --single-transaction
          +1 за это, должно помочь, но слегка увеличит потребление памяти и время выполнения дампа.

          Зы: есть такой вариант - бэкапить все таблицы кроме history* и trends*. Тогда время бэкапа сокращается "почти до нуля", размер резервной копии - аналогично, но в случае восстановления из бэкапа потеряется вся история. И да, если делаете так, то не забывайте делать бэкап структуры этих таблиц.

          Comment

          • Scorpion15
            Member
            • May 2015
            • 32

            #6
            Спасибо, завтра попродую --single-transaction , отпишусь потом...

            Comment

            • Zentarim
              Senior Member
              • Mar 2012
              • 526

              #7
              Originally posted by yukra
              +1 за это, должно помочь, но слегка увеличит потребление памяти и время выполнения дампа.

              Зы: есть такой вариант - бэкапить все таблицы кроме history* и trends*. Тогда время бэкапа сокращается "почти до нуля", размер резервной копии - аналогично, но в случае восстановления из бэкапа потеряется вся история. И да, если делаете так, то не забывайте делать бэкап структуры этих таблиц.
              +1. Тоже так делаю. Данные нальются новые, а вот схема важна.

              Comment

              • Scorpion15
                Member
                • May 2015
                • 32

                #8
                Спасибо всем за помощь, --single-transaction помог!

                Comment

                • Jeko
                  Junior Member
                  • Dec 2014
                  • 9

                  #9
                  Предложу свой варинт бэкапа - файловый. Я делаю его при помощи percona xtrabackup - 25 гб база бэкапируется за 10 минут (без архивации), и на это время просто тушится zabbix сервер.

                  Comment

                  • yukra
                    Senior Member
                    • Apr 2013
                    • 1359

                    #10
                    Originally posted by jeko
                    Предложу свой варинт бэкапа - файловый. Я делаю его при помощи percona xtrabackup - 25 гб база бэкапируется за 10 минут (без архивации), и на это время просто тушится zabbix сервер.
                    Что б тушить БД - нужно либо иметь слэйв (и тушить его), либо быть человеком с несколько странным подходом к администрированию.

                    Comment

                    • Jeko
                      Junior Member
                      • Dec 2014
                      • 9

                      #11
                      Originally posted by yukra
                      Что б тушить БД - нужно либо иметь слэйв (и тушить его), либо быть человеком с несколько странным подходом к администрированию.
                      БД тушить не нужно, тушится сам заббикс-сервер. Не думаю, что отсутсвие графиков 10 минут в 4 ночи, отразится на мониторинге. А если за это время что-то отвалится, так тригер сработает сразу после запуска.. Зато выгода в экономии времени как бэкапа так и восстановлении.

                      Comment

                      • thund3r
                        Junior Member
                        • Mar 2017
                        • 14

                        #12
                        Originally posted by Jeko
                        БД тушить не нужно, тушится сам заббикс-сервер. Не думаю, что отсутсвие графиков 10 минут в 4 ночи, отразится на мониторинге. А если за это время что-то отвалится, так тригер сработает сразу после запуска.. Зато выгода в экономии времени как бэкапа так и восстановлении.
                        А можно поподробнее... Хотелось бы протестировать этот способ! У меня уже стоит percona... Может где-то описано, как это можно реализовать?

                        Comment

                        • Jeko
                          Junior Member
                          • Dec 2014
                          • 9

                          #13
                          Originally posted by thund3r
                          А можно поподробнее... Хотелось бы протестировать этот способ! У меня уже стоит percona... Может где-то описано, как это можно реализовать?
                          Сам сервер не обязательно должен быть percona, может и mariadb быть и сам mysql. Нужна только утилита Percona XtraBackup (бесплатная).

                          У меня бэкап делается делается сейчас в 2 приёма (без остановки заббикс-сервера):
                          1) innobackupex --defaults-file=путь_к_my.cnf --user=пользователь --password=пароль --socket=/tmp/mysql.sock --no-timestamp путь_к_директории_с_бэкапом

                          после выполнения накатываются изменения базы за время создания бэкапа:
                          2) innobackupex --defaults-file=путь_к_my.cnf --user=пользователь --password=пароль --apply-log --use-memory=500M путь_к_директории_с_бэкапом

                          Команда для восстановления:
                          innobackupex --defaults-file=путь_к_my.cnf --copy-back путь_к_директории_с_бэкапом

                          Единственный нюанс, my.cnf надо будет забэкапить дополнительно, после создания бэкапа БД

                          Comment

                          • thund3r
                            Junior Member
                            • Mar 2017
                            • 14

                            #14
                            Спасибо!
                            База у меня MySQL + InnoDB, а percona - набор утилит, которыми я мониторю базы в Забиксе.

                            А как Вы сделали, чтобы Zabbix-server на время бекапа выключался?

                            А если за это время что-то отвалится, так тригер сработает сразу после запуска..
                            На что этот тригер у Вас настроен?

                            Comment

                            • Jeko
                              Junior Member
                              • Dec 2014
                              • 9

                              #15
                              Originally posted by thund3r
                              Спасибо!
                              База у меня MySQL + InnoDB, а percona - набор утилит, которыми я мониторю базы в Забиксе.

                              А как Вы сделали, чтобы Zabbix-server на время бекапа выключался?


                              На что этот триггер у Вас настроен?
                              Имеется ввиду просто zabbix-server stop, но я уже не останавливаю сервис.

                              Триггер - в смысле триггеры из шаблонов на дисконнекты интерфейсов, например

                              Comment

                              Working...