Spec-Zone.ru › Chef 16

mysql_conf ресурс

[править на GitHub]

Используйте ресурс аудита Chef InSpec, чтобы проверить содержимое файла конфигурации MySQL, обычно расположенного по адресу /etc/mysql/my.cnf или /etc/my.cnf.

Доступность

Установка

Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.

Версия

Этот ресурс впервые стал доступен в версии v1.0.0 InSpec.

Синтаксис

Блок ресурса mysql_conf объявляет одну (или несколько) настройку в файле my.cnf, а затем сравнивает эту настройку в файле конфигурации со значением, указанным в тесте:

describe mysql_conf('path') do
  its('setting') { should eq 'value' }
end

# Test a parameter set within the [mysqld] section
describe mysql_conf do
  its('mysqld.port') { should cmp 3306 }
end

# Test a parameter set within the [mariadb] section using array notation
describe mysql_conf do
  its(['mariadb', 'max-connections']) { should_not be_nil }
end

где

  • 'setting' определяет настройку в файле my.cnf, например max_connections.
    • при проверке настройки внутри разделов, таких как [mysqld], имя раздела должно быть включено
  • ('path') — это путь к файлу my.cnf , отличный от стандартного
  • should eq 'value' — ожидаемое значение

Примеры

Следующие примеры показывают, как использовать этот ресурс аудита Chef InSpec.

Тестирование максимального количества разрешенных подключений

describe mysql_conf do
  its('max_connections') { should eq '505' }
  its('max_user_connections') { should eq '500' }
end

Тестирование регистрации медленных запросов

describe mysql_conf do
  its('slow_query_log_file') { should eq 'hostname_slow.log' }
  its('slow_query_log') { should eq '0' }
  its('log_queries_not_using_indexes') { should eq '1' }
  its('long_query_time') { should eq '0.5' }
  its('min_examined_row_limit') { should eq '100' }
end

Тестирование порта и сокета, на котором MySQL прослушивает

describe mysql_conf do
  its('port') { should eq '3306' }
  its('socket') { should eq '/var/run/mysqld/mysql.sock' }
end

Тестирование переменных соединения и потоков

describe mysql_conf do
  its('port') { should eq '3306' }
  its('socket') { should eq '/var/run/mysqld/mysql.sock' }
  its('max_allowed_packet') { should eq '12M' }
  its('default_storage_engine') { should eq 'InnoDB' }
  its('character_set_server') { should eq 'utf8' }
  its('collation_server') { should eq 'utf8_general_ci' }
  its('max_connections') { should eq '505' }
  its('max_user_connections') { should eq '500' }
  its('thread_cache_size') { should eq '505' }
end

Тестирование параметра safe-user-create

describe mysql_conf.params('mysqld') do
  its('safe-user-create') { should eq('1') }
end

Обработчики

Полный список доступных обработчиков можно найти на нашей странице обработчиков.

setting

Обработчик setting проверяет конкретные, именованные настройки в файле my.cnf:

its('setting') { should eq 'value' }

Используйте обработчик setting для каждой проверяемой настройки.

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/mysql_conf/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API