mysql_conf ресурс
Используйте 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'— это ожидаемое значение
Свойства
Этот ресурс поддерживает любые настройки, указанные в файле my.cnf, в качестве свойств. Например, max_connections.
its('max_connections') { should eq '505' }
Примеры
Следующие примеры демонстрируют, как использовать этот ресурс аудита 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
Матчеры
Полный список доступных матчеров вы найдете на нашей странице матчеров.
© 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/