Ad Widget

Collapse

Настройки MariaDB для Zabbix 3.2

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Evgenym
    Junior Member
    • Oct 2016
    • 29

    #1

    Настройки MariaDB для Zabbix 3.2

    Коллеги, добрый день!

    Подскажите, пожалуйста, как правильно оптимизировать БД для Zabbix? Есть ли рекомендации по тому, как рассчитать или какие значения параметров лучше использовать?

    Планируется мониторить около 300-400 хостов в сети.

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

    В сети пишут, что настройки БД меняются в файле /etc/my.cnf. Судя по описаниям статей, этот файл должен иметь блочную структуру вида

    [Раздел1]
    Параметр1
    Параметр2
    ...

    Меня смущает то, что мой файл my.cnf имеет следующий вид, т.е. опций и значений по умолчанию я не вижу:

    Code:
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    # Settings user and group are ignored when systemd is used.
    # If you need to run mysqld under a different user or group,
    # customize your systemd unit file for mariadb according to the
    # instructions in http://fedoraproject.org/wiki/Systemd
    
    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file=/var/run/mariadb/mariadb.pid
    
    #
    # include all files from the config directory
    #
    !includedir /etc/my.cnf.d
    Если я правильно понял, то текущие значения я могу увидеть, выполнив команду show variables\g
    Правильно ли я понимаю, что в этот файл я могу вписывать параметры и значения? Например

    Code:
    innodb_buffer_pool_size = 32M
    innodb_log_file_size = 32M
    innodb_flush_method=O_DIRECT
    innodb_flush_log_at_trx_commit=2
    tmp_table_size=64M
    max_heap_table_size=64M
    table_cache=256
  • karik-himik
    Senior Member
    • Oct 2015
    • 116

    #2
    А файл /etc/mysql/my.cnf у Вас тоже пустой ?

    Можно глянуть на офф. сайте возможные расположения файла и примеры параметров. Например вот здесь:


    Если уж совсем не найдете, то как вариант, взять конфиг mysql.
    Например вот здесь: http://www.fromdual.com/sites/default/files/my.cnf

    Вариантов масса.

    А на счет оптимизации БД - не бывает одного примера на все случаи жизни, по-этому все советы в интернете разные.
    Вам всё равно придется подгонять параметры под конкретно ваш случай.
    А может и не придётся. Вполне может быть, что и дефолтный конфиг БД вытянет вашу конфигурацию zabbix.
    У меня хостов пока гораздо меньше, по-этому на счет оптимизации посоветовать ничего не могу.

    Comment

    • Gabalino
      Senior Member
      • Mar 2013
      • 103

      #3
      Настройки MariaDB лучше вносить в /etc/my.cnf.d/server.cnf

      Скрипт mysqltuner подбирает настройки на основе статистики, но не стоит им полностью доверять, а то придётся отдать все ресурсы.

      Вот пример настроек для моей конфигурации

      Number of hosts (enabled/disabled/templates) 1888 1724 / 76 / 88
      Number of items (enabled/disabled/not supported) 183117 151744 / 554 / 30819
      Number of triggers (enabled/disabled [problem/ok]) 25518 23877 / 1641 [51 / 23826]
      Number of users (online) 41 11
      Required server performance, new values per second 369.32

      Code:
      innodb_file_per_table=1
      innodb_log_file_size=512M
      max_connections = 700 #Количество подключений равняется кол-ву поллеров zabbix сервера
      
      innodb_buffer_pool_size=16G
      innodb_buffer_pool_instances=8
      thread_cache_size=8
      thread_pool_size=16
      tmp_table_size=128M
      query_cache_type=0
      query_cache_limit=8M
      query_cache_size=512M
      binlog_cache_size=16M
      Last edited by Gabalino; 31-10-2016, 14:12. Reason: add perf

      Comment

      • Evgenym
        Junior Member
        • Oct 2016
        • 29

        #4
        Файл /etc/my.cnf.d/server.cnf у меня имеет следующий вид:

        Code:
        # These groups are read by MariaDB server.
        # Use it for options that only the server (but not clients) should see
        #
        # See the examples of server my.cnf files in /usr/share/mysql/
        #
        
        # this is read by the standalone daemon and embedded servers
        [server]
        
        # this is only for the mysqld standalone daemon
        [mysqld]
        
        # this is only for embedded server
        [embedded]
        
        # This group is only read by MariaDB-5.5 servers.
        # If you use the same .cnf file for MariaDB of different versions,
        # use this group for options that older servers don't understand
        [mysqld-5.5]
        
        # These two groups are only read by MariaDB servers, not by MySQL.
        # If you use the same .cnf file for MySQL and MariaDB,
        # you can put MariaDB-only options here
        [mariadb]
        
        [mariadb-5.5]
        Я считал, что он должен содержать переменные и их значения, как zabbix_server.conf, например. Поэтому и не понимаю, должен ли я внести эти переменные и новые значения сам, или же они где-то хранятся? Вот только где, не понимаю. В частности, я хотел бы увеличить размер кэша, который по умолчанию составляет 8 Мб, а по результатам мониторинга FogLight'ом, он используется на сервере на 90 процентов.

        Comment

        • Gabalino
          Senior Member
          • Mar 2013
          • 103

          #5
          Значение переменных можно посмотреть выполнив запрос

          SHOW VARIABLES \G

          В конфигурационном файле не указаны значения по умолчанию, если нужно внести изменения добавьте их в секцию [mysqld]. Скрипт mysqltuner покажет какие параметры нужно изменить.

          Comment

          • Evgenym
            Junior Member
            • Oct 2016
            • 29

            #6
            Спасибо за ответ! Да, так и смотрел переменные из MariaDB, и удивлялся, откуда они берутся. То есть я правильно понял, что все те параметры с их новыми значениями, которые я хочу изменить, вносятся руками в конфиг файл?

            Comment

            • Gabalino
              Senior Member
              • Mar 2013
              • 103

              #7
              Да, Вы правильно поняли.

              Comment

              Working...