syslogstash 2.2.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,47 +0,0 @@
1
- require 'frankenstein/server'
2
- require 'logger'
3
-
4
- class Syslogstash::PrometheusExporter
5
- attr_reader :thread
6
-
7
- def initialize(cfg)
8
- @stats_server = Frankenstein::Server.new(port: 9159, logger: cfg.logger, metrics_prefix: "syslogstash_server")
9
-
10
- @msg_in = prom.counter(:syslogstash_messages_received_total, "The number of syslog messages received from the log socket")
11
- @msg_out = prom.counter(:syslogstash_messages_sent_total, "The number of logstash messages sent to each logstash server")
12
- @lag = prom.gauge(:syslogstash_last_relayed_message_timestamp, "When the last message that was successfully relayed to logstash was originally received")
13
- @queue = prom.gauge(:syslogstash_queue_size, "How many messages are currently in the queue to be sent")
14
- @dropped = prom.counter(:syslogstash_messages_dropped, "How many messages have been dropped from the backlog queue")
15
-
16
- @q_mutex = Mutex.new
17
-
18
- @lag.set({}, 0)
19
- @queue.set({}, 0)
20
- end
21
-
22
- def received(socket)
23
- @msg_in.increment(socket_path: socket)
24
- @q_mutex.synchronize { @queue.set({}, @queue.get({}) + 1) }
25
- end
26
-
27
- def sent(server, stamp)
28
- @msg_out.increment(logstash_server: server)
29
- @q_mutex.synchronize { @queue.set({}, @queue.get({}) - 1) }
30
- @lag.set({}, stamp.to_f)
31
- end
32
-
33
- def dropped
34
- @queue.set({}, @queue.get({}) - 1)
35
- @dropped.increment({})
36
- end
37
-
38
- def run
39
- @stats_server.run
40
- end
41
-
42
- private
43
-
44
- def prom
45
- @stats_server.registry
46
- end
47
- end