X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/8ec107389c929759806f3e13762bde4378f0494c..5b88df0b0d083eb1fe81c1905999f42b8deaee43:/cookbooks/mysql/recipes/default.rb diff --git a/cookbooks/mysql/recipes/default.rb b/cookbooks/mysql/recipes/default.rb index 00334af00..baeff798e 100644 --- a/cookbooks/mysql/recipes/default.rb +++ b/cookbooks/mysql/recipes/default.rb @@ -17,23 +17,28 @@ # limitations under the License. # -include_recipe "munin" include_recipe "prometheus" -package "mysql-server" -package "mysql-client" +mysql_variant = if platform?("ubuntu") + "mysql" + else + "mariadb" + end -service "mysql" do +package "#{mysql_variant}-server" +package "#{mysql_variant}-client" + +service "#{mysql_variant}" do action [:enable, :start] supports :status => true, :restart => true end -template "/etc/mysql/mysql.conf.d/zzz-chef.cnf" do +template "/etc/mysql/#{mysql_variant}.conf.d/zzz-chef.cnf" do source "my.cnf.erb" owner "root" group "root" mode "644" - notifies :restart, "service[mysql]" + notifies :restart, "service[#{mysql_variant}]" end service "apparmor" do @@ -46,31 +51,7 @@ template "/etc/apparmor.d/local/usr.sbin.mysqld" do group "root" mode "644" notifies :restart, "service[apparmor]" -end - -package "libdbd-mysql-perl" -package "libcache-cache-perl" - -%w[ - commands connections files handler_read handler_tmp handler_transaction - handler_write innodb_bpool innodb_bpool_act innodb_history_list_length - innodb_insert_buf innodb_io innodb_io_pend innodb_log innodb_queries - innodb_read_views innodb_rows innodb_semaphores innodb_srv_master_thread - innodb_tnx max_mem mrr myisam_indexes network_traffic performance - qcache qcache_mem select_types slow sorts table_definitions table_locks - tmp_tables -].each do |stat| - munin_plugin "mysql_#{stat}" do - target "mysql_" - end -end - -%w[ - bin_relay_log files_tables replication -].each do |stat| - munin_plugin "mysql_#{stat}" do - action :delete - end + only_if { ::Dir.exist?("/sys/kernel/security/apparmor") } end mysql_password = persistent_token("mysql", "prometheus", "password") @@ -83,5 +64,6 @@ end prometheus_exporter "mysqld" do port 9104 - environment "DATA_SOURCE_NAME" => "prometheus:#{mysql_password}@(localhost:3306)/" + options "--mysqld.username=prometheus" + environment "MYSQLD_EXPORTER_PASSWORD" => mysql_password end