Sha256: 166e65cc72ef885b7dc02bd7e543f020379a802e89eef79800092cb546d84e0e
Contents?: true
Size: 1 KB
Versions: 2
Compression:
Stored size: 1 KB
Contents
# frozen_string_literal: true require 'riemann/tools' # Reports NTP stats to Riemann. module Riemann module Tools class Ntp include Riemann::Tools def initialize super @hostname = `hostname`.chomp @ostype = `uname -s`.chomp.downcase abort 'WARNING: macOS not explicitly supported. Exiting.' if @ostype == 'darwin' end def tick stats = `ntpq -p -n` stats.each_line do |stat| m = stat.split next if m.grep(/^===/).any? || m.grep(/^remote/).any? @ntp_host = m[0].gsub('*', '').gsub('-', '').gsub('+', '') send('delay', m[7]) send('offset', m[8]) send('jitter', m[9]) end end def send(type, metric) report( host: @hostname, service: "ntp peer #{@ntp_host} #{type}", metric: metric.to_f, state: 'ok', description: "ntp peer #{@ntp_host} #{type}", tags: ['ntp'], ) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
riemann-tools-1.12.0 | lib/riemann/tools/ntp.rb |
riemann-tools-1.11.0 | lib/riemann/tools/ntp.rb |