diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 57 |
1 files changed, 54 insertions, 3 deletions
@@ -18,6 +18,13 @@ installed, specifically it must have nagios::plugin::deploy functionality. You will need to have activated storedconfigs on the puppetmaster. +You need to ensure that the PATH environment variable contains the appropriate +directories else the root password will not be set correctly to the requested +value. Since the variable is empty by default when running puppet, you need to +have something similar to this somewhere in your manifests: + + Exec { path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' } + Special Notes ============= @@ -48,6 +55,36 @@ grant tables. The my.cnf file will installed from one of many possible places, see manifests/server/base.pp for possible locations for managing this. +Configuration snippets +---------------------- + +To make managing mysql configuration easier, you can use the define +mysql::conf. Note, though that there currently is only the Debian default +configuration file that includes files in /etc/mysql/conf.d/. + +For example: + +mysql::conf { 'test': + ensure => present, + section => 'mysqld', + config => { + table_cache => '15000', + skip_slave => '', + something => '""', + } +} + +The above example shows two possibilities for empty values. + + * If a value only has an empty value in the hash passed to the config + parameter, that will define a boolean option in mysql by simply mentioning + the option name with no equal sign. So in the above, you'd have a line that + contains only "skip_slave". + + * If you need to declare a variable with an empty value (e.g. with the equal + sign), you can use two quotes as the option's value. In the above example, + you'd have a line that looks like "something=". + Backups ------- @@ -63,6 +100,16 @@ Optimizing tables If you wish mysql to periodically optimize tables, set the "$mysql_optimize_cron = true" variable before you include mysql::server. +By default, time of execution for the optimization script will be randomly +chosen (and will stay consistant for a server) any day between midnight and +7:00 AM. If you wish to force at least one value, you can use the following +parameters to the mysql::server class (all values are used directly as a +cronjob value so they should be set within cron value space): + +* optimize_day => sets the day of the week (integer value) during which the script will run. +* optimize_hour => sets the hour at which the optimization script will run. +* optimize_minute => sets the minute in the hour at which the script will run. + Munin ----- @@ -78,8 +125,8 @@ Debian's /etc/mysql/debian.cnf. Nagios ------ -If you wish nagios to check mysql, you should set the variable "use_nagios" to -"true" in hiera along with the "nagios_check_mysql" variable to "true". A +If you wish nagios to check mysql, you can set the variable "manage_nagios" to +"true" in hiera along with the "nagios_check_mysql" variable to "true". A password for the nagios mysql user will be created for you with reduced privileges used only for nagios checks. This will be what you passed as nagios_password_hash to mysql::server and should be a mysql md5 hash. These should be set before you @@ -94,7 +141,11 @@ mysql::server::nagios::check_health { [ 'connection-time', 'uptime', 'threads-co See the files/nagios/check_mysql_health script for the various mysql health checks that you can perform. Additionally, see the define "check_health" in -manifests/server/nagios.pp for various options that you can pass to check_health. +manifests/server/nagios.pp for various options that you can pass to check_health. + +Note that if you need to use some specific logic to decide whether or not to +create a nagios service check, you should set $manage_nagios to false, and +include mysql::server::nagios from within your own manifests. Firewall -------- |