diff options
-rw-r--r-- | files/scripts/optimize_tables.rb | 3 | ||||
-rw-r--r-- | manifests/server.pp | 2 | ||||
-rw-r--r-- | manifests/server/munin/debian.pp | 56 |
3 files changed, 26 insertions, 35 deletions
diff --git a/files/scripts/optimize_tables.rb b/files/scripts/optimize_tables.rb index 46e223e..3eb7425 100644 --- a/files/scripts/optimize_tables.rb +++ b/files/scripts/optimize_tables.rb @@ -2,7 +2,8 @@ # set home as we runit as weekly cron, where HOME is / ENV['HOME'] = '/root' -tables = %x{mysql -Bse "SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('information_schema','mysql') AND Data_free > 0 AND ENGINE IN ('MyISAM','InnoDB','ARCHIVE')"} +tables = %x(mysql -Bse "SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('information_schema','mysql') AND Data_free > 0 AND ENGINE IN ('MyISAM','InnoDB','ARCHIVE')") +tables = tables.split(/\n/) tables.each { |table| tableitems = table.chomp.split(/\t/) system "mysql #{tableitems[0]} -Bse \"OPTIMIZE TABLE \\`#{tableitems[0]}\\`.\\`#{tableitems[1]}\\`\" | grep -q OK" diff --git a/manifests/server.pp b/manifests/server.pp index bfcdf69..5a34b1c 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -23,7 +23,7 @@ class mysql::server ( } if $manage_munin and $::mysql_exists == 'true' { - if $munin_password == 'absent' { + if $munin_password == 'absent' and $::operatingsystem != debian { fail('need to set the munin password') } case $::operatingsystem { diff --git a/manifests/server/munin/debian.pp b/manifests/server/munin/debian.pp index 9ff7863..c7ae961 100644 --- a/manifests/server/munin/debian.pp +++ b/manifests/server/munin/debian.pp @@ -1,35 +1,25 @@ # debian way of calling plugins -class mysql::server::munin::debian inherits mysql::server::munin::default { - Munin::Plugin['mysql_bytes']{ - config => "user root\nenv.mysqlopts --defaults-file=/etc/mysql/debian.cnf", - require => Package['mysql'], - } - Munin::Plugin['mysql_queries']{ - config => "user root\nenv.mysqlopts --defaults-file=/etc/mysql/debian.cnf", - require => Package['mysql'], - } - Munin::Plugin['mysql_slowqueries']{ - config => "user root\nenv.mysqlopts --defaults-file=/etc/mysql/debian.cnf", - require => Package['mysql'], - } - Munin::Plugin['mysql_threads']{ - config => "user root\nenv.mysqlopts --defaults-file=/etc/mysql/debian.cnf", - require => Package['mysql'], - } - Munin::Plugin::Deploy['mysql_connections']{ - config => "user root\nenv.mysqlopts --defaults-file=/etc/mysql/debian.cnf", - require => Package['mysql'], - } - Munin::Plugin::Deploy['mysql_qcache']{ - config => "user root\nenv.mysqlopts --defaults-file=/etc/mysql/debian.cnf", - require => Package['mysql'], - } - Munin::Plugin::Deploy['mysql_cache_mem']{ - config => "user root\nenv.mysqlopts --defaults-file=/etc/mysql/debian.cnf", - require => Package['mysql'], - } - Munin::Plugin::Deploy['mysql_size_all']{ - config => "user root\nenv.mysqlopts --defaults-file=/etc/mysql/debian.cnf", - require => Package['mysql'], - } +class mysql::server::munin::debian { + + munin::plugin { + [mysql_queries, mysql_slowqueries, mysql_bytes, mysql_threads]: + config => "user root\nenv.mysqlopts --defaults-file=/etc/mysql/debian.cnf", + } + + munin::plugin::deploy{ + 'mysql_connections': + source => 'mysql/munin/mysql_connections'; + 'mysql_qcache': + source => 'mysql/munin/mysql_qcache'; + 'mysql_qcache_mem': + source => 'mysql/munin/mysql_qcache_mem'; + 'mysql_size_all': + source => 'mysql/munin/mysql_size_all'; + } + + Munin::Plugin::Deploy[ [ 'mysql_connections', 'mysql_qcache', 'mysql_qcache_mem', 'mysql_size_all' ] ] { + config => "user root\nenv.mysqlopts --defaults-file=/etc/mysql/debian.cnf", + require => Package['mysql'], + } + } |