X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/6b5daa2df2a0711a25746cb025927dc3deb7717e..2ea41242f669c1afe03af7c8befb140a7a80fc4e:/sentinel.conf diff --git a/sentinel.conf b/sentinel.conf index 0e7a9542..94169ee8 100644 --- a/sentinel.conf +++ b/sentinel.conf @@ -1,13 +1,39 @@ -# Example sentienl.conf +# Example sentinel.conf -# sentinel monitor quorum. Tells Sentinel to monitor this -# slave, and to consider it in O_DOWN (Objectively Down) state only if at -# least two sentinels agree. +# port +# The port that this sentinel instance will run on +port 26379 + +# sentinel monitor +# +# Tells Sentinel to monitor this slave, and to consider it in O_DOWN +# (Objectively Down) state only if at least sentinels agree. # # Note: master name should not include special characters or spaces. # The valid charset is A-z 0-9 and the three characters ".-_". sentinel monitor mymaster 127.0.0.1 6379 2 +# sentinel auth-pass +# +# Set the password to use to authenticate with the master and slaves. +# Useful if there is a password set in the Redis instances to monitor. +# +# Note that the master password is also used for slaves, so it is not +# possible to set a different password in masters and slaves instances +# if you want to be able to monitor these instances with Sentinel. +# +# However you can have Redis instances without the authentication enabled +# mixed with Redis instances requiring the authentication (as long as the +# password set is the same for all the instances requiring the password) as +# the AUTH command will have no effect in Redis instances with authentication +# switched off. +# +# Example: +# +# sentinel auth-pass mymaster MySUPER--secret-0123passw0rd + +# sentinel down-after-milliseconds +# # Number of milliseconds the master (or any attached slave or sentinel) should # be unreachable (as in, not acceptable reply to PING, continuously, for the # specified period) in order to consider it in S_DOWN state (Subjectively @@ -16,15 +42,21 @@ sentinel monitor mymaster 127.0.0.1 6379 2 # Default is 30 seconds. sentinel down-after-milliseconds mymaster 30000 +# sentinel can-failover +# # Specify if this Sentinel can start the failover for this master. sentinel can-failover mymaster yes +# sentinel parallel-syncs +# # How many slaves we can reconfigure to point to the new slave simultaneously # during the failover. Use a low number if you use the slaves to serve query # to avoid that all the slaves will be unreachable at about the same # time while performing the synchronization with the master. sentinel parallel-syncs mymaster 1 +# sentinel failover-timeout +# # Specifies the failover timeout in milliseconds. When this time has elapsed # without any progress in the failover process, it is considered concluded by # the sentinel even if not all the attached slaves were correctly configured @@ -39,3 +71,80 @@ sentinel parallel-syncs mymaster 1 # Default is 15 minutes. sentinel failover-timeout mymaster 900000 +# SCRIPTS EXECTION +# +# sentinel notification-script and sentinel reconfig-script are used in order +# to configure scripts that are called to notify the system administrator +# or to reconfigure clients after a failover. The scripts are executed +# with the following rules for error handling: +# +# If script exists with "1" the execution is retried later (up to a maximum +# number of times currently set to 10). +# +# If script exists with "2" (or an higher value) the script execution is +# not retried. +# +# If script terminates because it receives a signal the behavior is the same +# as exit code 1. +# +# A script has a maximum running time of 60 seconds. After this limit is +# reached the script is terminated with a SIGKILL and the execution retried. + +# NOTIFICATION SCRIPT +# +# sentinel notification-script +# +# Call the specified notification script for any sentienl event that is +# generated in the WARNING level (for instance -sdown, -odown, and so forth). +# This script should notify the system administrator via email, SMS, or any +# other messaging system, that there is something wrong with the monitored +# Redis systems. +# +# The script is called with just two arguments: the first is the event type +# and the second the event description. +# +# The script must exist and be executable in order for sentinel to start if +# this option is provided. +# +# Example: +# +# sentinel notification-script mymaster /var/redis/notify.sh + +# CLIENTS RECONFIGURATION SCRIPT +# +# sentinel client-reconfig-script +# +# When the failover starts, ends, or is aborted, a script can be called in +# order to perform application-specific tasks to notify the clients that the +# configuration has changed and the master is at a different address. +# +# The script is called in the following cases: +# +# Failover started (a slave is already promoted) +# Failover finished (all the additional slaves already reconfigured) +# Failover aborted (in that case the script was previously called when the +# failover started, and now gets called again with swapped +# addresses). +# +# The following arguments are passed to the script: +# +# +# +# is "start", "end" or "abort" +# is either "leader" or "observer" +# +# The arguments from-ip, from-port, to-ip, to-port are used to communicate +# the old address of the master and the new address of the elected slave +# (now a master) in the case state is "start" or "end". +# +# For abort instead the "from" is the address of the promoted slave and +# "to" is the address of the original master address, since the failover +# was aborted. +# +# This script should be resistant to multiple invocations. +# +# Example: +# +# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh + +