diff options
author | Jamie Nguyen <jamie.nguyen@bytemark.co.uk> | 2017-09-20 07:54:35 +0100 |
---|---|---|
committer | Jamie Nguyen <jamie.nguyen@bytemark.co.uk> | 2017-09-20 07:54:35 +0100 |
commit | 5bfbf71c0b08647ca93460a2eda01f3221716003 (patch) | |
tree | 964267e4abdc80685a5f7bdceeae5687d0b3bdd7 /lib/custodian/alerts | |
parent | 005013d98d742989d3c000b04054e15bb0482a69 (diff) | |
parent | 99394d4a174239ece0aeba5e0a1a5755fd2ec45b (diff) |
Merge branch '19-user-agent' into 'master'
Resolve "Can custodian send a user agent string please"
Closes #19
See merge request !13
Diffstat (limited to 'lib/custodian/alerts')
-rw-r--r-- | lib/custodian/alerts/graphite.rb | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/lib/custodian/alerts/graphite.rb b/lib/custodian/alerts/graphite.rb index 0244047..cca5ece 100644 --- a/lib/custodian/alerts/graphite.rb +++ b/lib/custodian/alerts/graphite.rb @@ -1,4 +1,5 @@ require 'socket' +require 'timeout' # # The graphite-alerter. @@ -61,12 +62,25 @@ module Custodian payload = "custodian.#{test}.#{host}.test_duration_ms #{ms} #{Time.now.to_i}" # - # Send via UDP. + # Send metrics via TCP. # - socket = UDPSocket.new - socket.send(payload, 0, @target, 2003) - socket.close - + begin + Timeout.timeout(10) do + begin + socket = TCPSocket.new(@target,2003) + puts payload + socket.write(payload) + socket.flush + socket.close + rescue Errno::ENETUNREACH + puts("Metrics host unreachable: #{e}") + rescue StandardError => e + puts("Error submitting metrics: #{e}") + end + end + rescue Timeout::Error + puts('Timeout submitting metrics') + end end register_alert_type 'graphite' |