syslogstash 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8407c841448a421b3948446b9980a4eb1dc6c7b2
4
- data.tar.gz: 00d0f2f8ac268b1592a7777ff899be48809eadc6
3
+ metadata.gz: 4fae50a372aca78fab4d20cb3a21ff4248988abf
4
+ data.tar.gz: 391ae0a267341f5571e9c90427e83b2862628c2f
5
5
  SHA512:
6
- metadata.gz: c9749f538a6db87fc4d933686faef303c988970211c610290641a5bb5fc985038ab5125aceda97c5824b3873fa9c8b6d972719294614bd332b071d91134c093d
7
- data.tar.gz: 3063d255e5f42ec8bdede78ff3a2718ff4ca9054442b4209d8dbaf501826fe3a676d148b0a2f89963b0864c3f8dfe13bf8475d6682793a74986f3d9463355c38
6
+ metadata.gz: 6b0ab3566b3ce68964cfcb34be6efbdc3799394c76e72d672c53bb9a66e723e888df989c8f39155662d8151f6dbfd3b1915a08d212c92d8ca33cc4e0ad20bacc
7
+ data.tar.gz: 8798ef4d1a150cbf105028e5b6d7dcd9d72ed8309f0e998da6f3d0e8989b0e47016b9a9ba02f018d031d627687f28ccdf8a9450f622efcdf1763cef07dead38c
@@ -104,10 +104,9 @@ class Syslogstash::LogstashWriter
104
104
  end
105
105
  else
106
106
  begin
107
- # Rotate the next server onto the back of the list
108
- next_server = @servers.shift
107
+ # Pick another server to connect to at random
108
+ next_server = @servers.sort { rand }.first
109
109
  debug { "Trying to connect to #{next_server.to_s}" }
110
- @servers.push(next_server)
111
110
  @current_server = TCPSocket.new(next_server.hostname, next_server.port)
112
111
  rescue SystemCallError => ex
113
112
  # Connection failed for any number of reasons; try again
@@ -11,12 +11,13 @@ class Syslogstash::PrometheusExporter
11
11
  @msg_out = prom.counter(:syslogstash_messages_sent, "The number of logstash messages sent to each logstash server")
12
12
  @lag = prom.gauge(:syslogstash_lag_ms, "How far behind we are in relaying messages")
13
13
  @queue = prom.gauge(:syslogstash_queue_size, "How many messages are queued to be sent")
14
+ @q_mutex = Mutex.new
14
15
  @dropped = prom.counter(:syslogstash_messages_dropped, "How many syslog messages have been dropped from the backlog queue")
15
16
  end
16
17
 
17
18
  def received(socket, stamp)
18
19
  @msg_in.increment(socket_path: socket)
19
- @queue.set({}, (@queue.get({}) || 0) + 1)
20
+ @q_mutex.synchronize { @queue.set({}, (@queue.get({}) || 0) + 1) }
20
21
 
21
22
  if @most_recent_received.nil? || @most_recent_received < stamp
22
23
  @most_recent_received = stamp
@@ -27,7 +28,7 @@ class Syslogstash::PrometheusExporter
27
28
 
28
29
  def sent(server, stamp)
29
30
  @msg_out.increment(logstash_server: server)
30
- @queue.set({}, @queue.get({}) - 1)
31
+ @q_mutex.synchronize { @queue.set({}, @queue.get({}) - 1) }
31
32
 
32
33
  if @most_recent_sent.nil? || @most_recent_sent < stamp
33
34
  @most_recent_sent = stamp
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: syslogstash
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Palmer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-04 00:00:00.000000000 Z
11
+ date: 2018-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prometheus-client
@@ -226,3 +226,4 @@ signing_key:
226
226
  specification_version: 4
227
227
  summary: Send messages from syslog UNIX sockets to logstash
228
228
  test_files: []
229
+ has_rdoc: