summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README57
1 files changed, 54 insertions, 3 deletions
diff --git a/README b/README
index 3b55e22..23094a3 100644
--- a/README
+++ b/README
@@ -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
--------