class Bipbip::Plugin::Puppet
Public Instance Methods
metrics_schema()
click to toggle source
# File lib/bipbip/plugin/puppet.rb, line 6 def metrics_schema [ { name: 'report_ok', type: 'gauge', unit: 'Boolean' }, { name: 'last_run_total_time', type: 'gauge', unit: 'Seconds' }, { name: 'last_run_age', type: 'gauge', unit: 'Seconds' }, { name: 'events_failure_count', type: 'gauge', unit: 'Events' }, { name: 'events_success_count', type: 'gauge', unit: 'Events' }, { name: 'events_total_count', type: 'gauge', unit: 'Events' }, { name: 'resources_failed_count', type: 'gauge', unit: 'Resources' }, { name: 'resources_skipped_count', type: 'gauge', unit: 'Resources' }, { name: 'resources_total_count', type: 'gauge', unit: 'Resources' }, { name: 'changes_total_count', type: 'gauge', unit: 'Changes' } ] end
monitor()
click to toggle source
# File lib/bipbip/plugin/puppet.rb, line 21 def monitor puppet_report = last_run_summary report_age = Time.new.to_i - puppet_report['time']['last_run'].to_i has_events = puppet_report.key?('events') has_resources = puppet_report.key?('resources') has_changes = puppet_report.key?('changes') metrics = { 'report_ok' => (has_events && has_changes && has_resources ? 1 : 0), 'last_run_total_time' => puppet_report['time']['total'].to_i, 'last_run_age' => report_age } if has_events metrics['events_failure_count'] = puppet_report['events']['failure'].to_i metrics['events_success_count'] = puppet_report['events']['success'].to_i metrics['events_total_count'] = puppet_report['events']['total'].to_i end if has_resources metrics['resources_failed_count'] = puppet_report['resources']['failed'].to_i metrics['resources_skipped_count'] = puppet_report['resources']['skipped'].to_i metrics['resources_total_count'] = puppet_report['resources']['total'].to_i end if has_changes metrics['changes_total_count'] = puppet_report['changes']['total'].to_i end metrics end
Private Instance Methods
last_run_summary()
click to toggle source
# File lib/bipbip/plugin/puppet.rb, line 56 def last_run_summary lastrunfile = config['lastrunfile'] || '/var/lib/puppet/state/last_run_summary.yaml' YAML.load_file(Pathname.new(lastrunfile)) end