summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--files/scripts/optimize_tables.rb3
-rw-r--r--manifests/server.pp2
-rw-r--r--manifests/server/munin/debian.pp56
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'],
+ }
+
}