sensu-redis 0.1.11 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/lib/sensu/redis/sentinel.rb +7 -8
- data/sensu-redis.gemspec +1 -1
- metadata +2 -4
- data/spec/configs/sentinel.conf +0 -145
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef76ac716c9930ed28063ef1c302e1a0d3550b5c
|
4
|
+
data.tar.gz: b909da3d8af9bd85b400be04ebaaf8554f2bdab0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68a4029bff88c896cd8dfb3c1e0f6e9cff4803f6a10056377a196e936622cda378d858000495d7e078c8a2c259cc2578063671ff9b2aab4d833b63e13355ccb4
|
7
|
+
data.tar.gz: 9d28ca4b26d1e3118b26d310455c0ff49f18f8f9e77255cd16475b995f27001844d0f6dfff8b7482a79cc3a8105c9275ff943a27b1d516c2596c7d4dc9e9da03
|
data/.gitignore
CHANGED
data/lib/sensu/redis/sentinel.rb
CHANGED
@@ -22,11 +22,12 @@ module Sensu
|
|
22
22
|
# set the deferrable status to `:successful`, triggering any
|
23
23
|
# queued Sentinel callback calls (e.g. `resolve()`).
|
24
24
|
#
|
25
|
-
# @param
|
26
|
-
# @param port [Integer]
|
25
|
+
# @param options [Hash] containing the host and port.
|
27
26
|
# @return [Object] Sentinel connection.
|
28
|
-
def connect_to_sentinel(
|
29
|
-
|
27
|
+
def connect_to_sentinel(options={})
|
28
|
+
options[:host] ||= "127.0.0.1"
|
29
|
+
options[:port] ||= 26379
|
30
|
+
connection = EM.connect(options[:host], options[:port], Client, options)
|
30
31
|
connection.callback do
|
31
32
|
succeed
|
32
33
|
end
|
@@ -39,10 +40,8 @@ module Sensu
|
|
39
40
|
# @param sentinels [Array]
|
40
41
|
# @return [Array] of Sentinel connection objects.
|
41
42
|
def connect_to_sentinels(sentinels)
|
42
|
-
sentinels.map do |
|
43
|
-
|
44
|
-
port = sentinel[:port] || 26379
|
45
|
-
connect_to_sentinel(host, port)
|
43
|
+
sentinels.map do |options|
|
44
|
+
connect_to_sentinel(options)
|
46
45
|
end
|
47
46
|
end
|
48
47
|
|
data/sensu-redis.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-redis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Porter
|
@@ -102,7 +102,6 @@ files:
|
|
102
102
|
- lib/sensu/redis/client/errors.rb
|
103
103
|
- lib/sensu/redis/sentinel.rb
|
104
104
|
- sensu-redis.gemspec
|
105
|
-
- spec/configs/sentinel.conf
|
106
105
|
homepage: https://github.com/sensu/sensu-redis
|
107
106
|
licenses:
|
108
107
|
- MIT
|
@@ -127,5 +126,4 @@ rubygems_version: 2.4.5.1
|
|
127
126
|
signing_key:
|
128
127
|
specification_version: 4
|
129
128
|
summary: The Sensu Redis client library
|
130
|
-
test_files:
|
131
|
-
- spec/configs/sentinel.conf
|
129
|
+
test_files: []
|
data/spec/configs/sentinel.conf
DELETED
@@ -1,145 +0,0 @@
|
|
1
|
-
# port <sentinel-port>
|
2
|
-
# The port that this sentinel instance will run on
|
3
|
-
port 63800
|
4
|
-
|
5
|
-
# sentinel monitor <master-name> <ip> <redis-port> <quorum>
|
6
|
-
#
|
7
|
-
# Tells Sentinel to monitor this master, and to consider it in O_DOWN
|
8
|
-
# (Objectively Down) state only if at least <quorum> sentinels agree.
|
9
|
-
#
|
10
|
-
# Note that whatever is the ODOWN quorum, a Sentinel will require to
|
11
|
-
# be elected by the majority of the known Sentinels in order to
|
12
|
-
# start a failover, so no failover can be performed in minority.
|
13
|
-
#
|
14
|
-
# Note: master name should not include special characters or spaces.
|
15
|
-
# The valid charset is A-z 0-9 and the three characters ".-_".
|
16
|
-
sentinel monitor mymaster 127.0.0.1 6379 2
|
17
|
-
|
18
|
-
sentinel auth-pass mymaster secret
|
19
|
-
#
|
20
|
-
# Set the password to use to authenticate with the master and slaves.
|
21
|
-
# Useful if there is a password set in the Redis instances to monitor.
|
22
|
-
#
|
23
|
-
# Note that the master password is also used for slaves, so it is not
|
24
|
-
# possible to set a different password in masters and slaves instances
|
25
|
-
# if you want to be able to monitor these instances with Sentinel.
|
26
|
-
#
|
27
|
-
# However you can have Redis instances without the authentication enabled
|
28
|
-
# mixed with Redis instances requiring the authentication (as long as the
|
29
|
-
# password set is the same for all the instances requiring the password) as
|
30
|
-
# the AUTH command will have no effect in Redis instances with authentication
|
31
|
-
# switched off.
|
32
|
-
#
|
33
|
-
# Example:
|
34
|
-
#
|
35
|
-
# sentinel auth-pass mymaster MySUPER--secret-0123passw0rd
|
36
|
-
|
37
|
-
# sentinel down-after-milliseconds <master-name> <milliseconds>
|
38
|
-
#
|
39
|
-
# Number of milliseconds the master (or any attached slave or sentinel) should
|
40
|
-
# be unreachable (as in, not acceptable reply to PING, continuously, for the
|
41
|
-
# specified period) in order to consider it in S_DOWN state (Subjectively
|
42
|
-
# Down).
|
43
|
-
#
|
44
|
-
# Default is 30 seconds.
|
45
|
-
sentinel config-epoch mymaster 0
|
46
|
-
|
47
|
-
# sentinel parallel-syncs <master-name> <numslaves>
|
48
|
-
#
|
49
|
-
# How many slaves we can reconfigure to point to the new slave simultaneously
|
50
|
-
# during the failover. Use a low number if you use the slaves to serve query
|
51
|
-
# to avoid that all the slaves will be unreachable at about the same
|
52
|
-
# time while performing the synchronization with the master.
|
53
|
-
sentinel known-slave mymaster 127.0.0.1 6380
|
54
|
-
|
55
|
-
# sentinel failover-timeout <master-name> <milliseconds>
|
56
|
-
#
|
57
|
-
# Specifies the failover timeout in milliseconds. It is used in many ways:
|
58
|
-
#
|
59
|
-
# - The time needed to re-start a failover after a previous failover was
|
60
|
-
# already tried against the same master by a given Sentinel, is two
|
61
|
-
# times the failover timeout.
|
62
|
-
#
|
63
|
-
# - The time needed for a slave replicating to a wrong master according
|
64
|
-
# to a Sentinel current configuration, to be forced to replicate
|
65
|
-
# with the right master, is exactly the failover timeout (counting since
|
66
|
-
# the moment a Sentinel detected the misconfiguration).
|
67
|
-
#
|
68
|
-
# - The time needed to cancel a failover that is already in progress but
|
69
|
-
# did not produced any configuration change (SLAVEOF NO ONE yet not
|
70
|
-
# acknowledged by the promoted slave).
|
71
|
-
#
|
72
|
-
# - The maximum time a failover in progress waits for all the slaves to be
|
73
|
-
# reconfigured as slaves of the new master. However even after this time
|
74
|
-
# the slaves will be reconfigured by the Sentinels anyway, but not with
|
75
|
-
# the exact parallel-syncs progression as specified.
|
76
|
-
#
|
77
|
-
# Default is 3 minutes.
|
78
|
-
sentinel known-sentinel mymaster 127.0.0.1 63810 c0e485ef82e667ba43b7bffedd7b7c2f080248a8
|
79
|
-
|
80
|
-
# SCRIPTS EXECUTION
|
81
|
-
#
|
82
|
-
# sentinel notification-script and sentinel reconfig-script are used in order
|
83
|
-
# to configure scripts that are called to notify the system administrator
|
84
|
-
# or to reconfigure clients after a failover. The scripts are executed
|
85
|
-
# with the following rules for error handling:
|
86
|
-
#
|
87
|
-
# If script exists with "1" the execution is retried later (up to a maximum
|
88
|
-
# number of times currently set to 10).
|
89
|
-
#
|
90
|
-
# If script exists with "2" (or an higher value) the script execution is
|
91
|
-
# not retried.
|
92
|
-
#
|
93
|
-
# If script terminates because it receives a signal the behavior is the same
|
94
|
-
# as exit code 1.
|
95
|
-
#
|
96
|
-
# A script has a maximum running time of 60 seconds. After this limit is
|
97
|
-
# reached the script is terminated with a SIGKILL and the execution retried.
|
98
|
-
|
99
|
-
# NOTIFICATION SCRIPT
|
100
|
-
#
|
101
|
-
# sentinel notification-script <master-name> <script-path>
|
102
|
-
#
|
103
|
-
# Call the specified notification script for any sentinel event that is
|
104
|
-
# generated in the WARNING level (for instance -sdown, -odown, and so forth).
|
105
|
-
# This script should notify the system administrator via email, SMS, or any
|
106
|
-
# other messaging system, that there is something wrong with the monitored
|
107
|
-
# Redis systems.
|
108
|
-
#
|
109
|
-
# The script is called with just two arguments: the first is the event type
|
110
|
-
# and the second the event description.
|
111
|
-
#
|
112
|
-
# The script must exist and be executable in order for sentinel to start if
|
113
|
-
# this option is provided.
|
114
|
-
#
|
115
|
-
# Example:
|
116
|
-
#
|
117
|
-
# sentinel notification-script mymaster /var/redis/notify.sh
|
118
|
-
|
119
|
-
# CLIENTS RECONFIGURATION SCRIPT
|
120
|
-
#
|
121
|
-
# sentinel client-reconfig-script <master-name> <script-path>
|
122
|
-
#
|
123
|
-
# When the master changed because of a failover a script can be called in
|
124
|
-
# order to perform application-specific tasks to notify the clients that the
|
125
|
-
# configuration has changed and the master is at a different address.
|
126
|
-
#
|
127
|
-
# The following arguments are passed to the script:
|
128
|
-
#
|
129
|
-
# <master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port>
|
130
|
-
#
|
131
|
-
# <state> is currently always "failover"
|
132
|
-
# <role> is either "leader" or "observer"
|
133
|
-
#
|
134
|
-
# The arguments from-ip, from-port, to-ip, to-port are used to communicate
|
135
|
-
# the old address of the master and the new address of the elected slave
|
136
|
-
# (now a master).
|
137
|
-
#
|
138
|
-
# This script should be resistant to multiple invocations.
|
139
|
-
#
|
140
|
-
# Example:
|
141
|
-
#
|
142
|
-
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
|
143
|
-
# Generated by CONFIG REWRITE
|
144
|
-
dir "/home/portertech/projects/sensu/sensu-redis/spec/configs"
|
145
|
-
sentinel known-sentinel mymaster 127.0.0.1 63790 092d28f730ac45be8f18569fefa12b0ebd7b230b
|