mysql_conf ресурс
Используйте ресурс аудита 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/