54 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# Prepare Configuration File
 | 
						|
audit_plugin_options = {}
 | 
						|
 | 
						|
audit_plugin_options['comment1'] = '#'
 | 
						|
audit_plugin_options['comment2'] = '# * MariaDB Audit Plugin'
 | 
						|
audit_plugin_options['comment3'] = '#'
 | 
						|
 | 
						|
audit_plugin_options['server_audit_events'] = \
 | 
						|
  node['mariadb']['audit_plugin']['server_audit_events']
 | 
						|
audit_plugin_options['server_audit_output_type'] = \
 | 
						|
  node['mariadb']['audit_plugin']['server_audit_output_type']
 | 
						|
audit_plugin_options['server_audit_syslog_facility'] = \
 | 
						|
  node['mariadb']['audit_plugin']['server_audit_syslog_facility']
 | 
						|
audit_plugin_options['server_audit_syslog_priority'] = \
 | 
						|
  node['mariadb']['audit_plugin']['server_audit_syslog_priority']
 | 
						|
 | 
						|
audit_plugin_options['enable'] = '#server_audit_logging = ON'
 | 
						|
 | 
						|
# Install the MariaDB Audit Plugin
 | 
						|
execute 'install_mariadb_audit_plugin' do
 | 
						|
  command '/usr/bin/mysql -e "INSTALL PLUGIN server_audit '\
 | 
						|
    'SONAME \'server_audit\';"'
 | 
						|
  notifies :run, 'execute[configure_mariadb_audit_plugin]', :immediately
 | 
						|
  not_if do
 | 
						|
    cmd = Mixlib::ShellOut.new('/usr/bin/mysql -u root -B -N -e "SELECT 1 '\
 | 
						|
                    'FROM information_schema.plugins '\
 | 
						|
                    'WHERE PLUGIN_NAME = \'SERVER_AUDIT\''\
 | 
						|
                    'AND PLUGIN_STATUS = \'ACTIVE\';"')
 | 
						|
    cmd.run_command
 | 
						|
    cmd.stdout.to_i == 1
 | 
						|
  end
 | 
						|
end
 | 
						|
 | 
						|
# Configure (Dynamic)
 | 
						|
execute 'configure_mariadb_audit_plugin' do
 | 
						|
  command 'echo "SET GLOBAL server_audit_events=\'' + \
 | 
						|
    node['mariadb']['audit_plugin']['server_audit_events'] + '\';' \
 | 
						|
    'SET GLOBAL server_audit_output_type=\'' + \
 | 
						|
    node['mariadb']['audit_plugin']['server_audit_output_type'] + '\';' \
 | 
						|
    'SET GLOBAL server_audit_syslog_facility=\'' + \
 | 
						|
    node['mariadb']['audit_plugin']['server_audit_syslog_facility'] + '\';' \
 | 
						|
    'SET GLOBAL server_audit_syslog_priority=\'' + \
 | 
						|
    node['mariadb']['audit_plugin']['server_audit_syslog_priority'] + '\';"' \
 | 
						|
    '| /usr/bin/mysql'
 | 
						|
  action :nothing
 | 
						|
end
 | 
						|
 | 
						|
# Create Configuration File
 | 
						|
mariadb_configuration 'audit_plugin' do
 | 
						|
  section 'mysqld'
 | 
						|
  option audit_plugin_options
 | 
						|
  action :add
 | 
						|
end
 |