Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

if device:
if device.getSnmpStatusString() != "Up":
#Preserve the actual SNMP agent down message
if getattr(evt, "summary", "") != "SNMP agent down":
evt._action = "drop"
import re
# Lets try and reduce noise here. Since services have multiple
# JMX data sources, we really don't need multiple events for each data source
# A single event should do the trick. We are going to normalize the summary
# so that dedupe rules kick in
re_string = "^DataSource\s(?P<app_name>.*?)\s.*?;\serror connecting to server"
if getattr(evt, "summary", "") != "":
m = re.search(re_string, evt.summary)
if m and m.group('app_name'):
new_summary = "".join([m.group('app_name'), " - ",
@dpetzel
dpetzel / gist:2053902
Created March 17, 2012 00:40
Detect If Running Chef Solo
unless Chef::Config[:solo]
....
end
@dpetzel
dpetzel / gist:2475974
Created April 24, 2012 03:16
Core 4 Alpha on Ubuntu
zenoss@ubuntu:~$ zendmd
Welcome to the Zenoss dmd command shell!
'dmd' is bound to the DataRoot. 'zhelp()' to get a list of commands.
Use TAB-TAB to see a list of zendmd related commands.
Tab completion also works for objects -- hit tab after an object name and '.'
(eg dmd. + tab-key).
>>> print version()
Zenoss: Zenoss 4.1.70 r26443
OS: Linux (x86_64) 2.6.32 (Linux ubuntu 2.6.32-38-generic #83-Ubuntu SMP Wed Jan 4 11:12:07 UTC 2012 x86_64)
Zope: Zope 2.13.8
def _increment_zenpack_and_export(self):
"""
Increment the version and export the zenpack egg
"""
for pack in dmd.ZenPackManager.packs():
if pack.id == self.zenpack:
log.debug("Previous ZenPack Version was {0}".format(pack.version))
pack.version = float(pack.version) + ZENPACK_INCREMENT_STEP
self._commit_change()
log.debug("New ZenPack Version is {0}".format(pack.version))
def _commit_change(self, safe=False):
"""
A wrapper around transaction.commit so we can catch, log, retry
@type safe: Boolean
@param safe: Indicates if a safe commit is required.
Sometimes its OK if the commit fails. When set to false,
will raise an exception, instead of just logging it
@rtype: Boolean
@return: Boolean indicating result of commit attempt
"""
@dpetzel
dpetzel / gist:3647626
Created September 5, 2012 23:33
minitest-chef-handler dependency failures
[2012-09-05T16:28:18-07:00] INFO: Processing chef_gem[minitest-chef-handler] action install (minitest-handler::default line 8)
[2012-09-05T16:28:18-07:00] DEBUG: chef_gem[minitest-chef-handler] detected omnibus installation in /opt/chef/embedded/bin
[2012-09-05T16:28:18-07:00] DEBUG: chef_gem[minitest-chef-handler] using gem from running ruby environment
[2012-09-05T16:28:18-07:00] DEBUG: chef_gem[minitest-chef-handler] no installed version found for minitest-chef-handler (>= 0)
[2012-09-05T16:28:38-07:00] DEBUG: found gem minitest-chef-handler version 0.6.1 for platform ruby from http://rubygems.org/
[2012-09-05T16:28:38-07:00] ERROR: chef_gem[minitest-chef-handler] (minitest-handler::default line 8) has had an error
[2012-09-05T16:28:38-07:00] ERROR: Running exception handlers
[2012-09-05T16:28:38-07:00] ERROR: Exception handlers complete
[2012-09-05T16:28:38-07:00] DEBUG: Re-raising exception: Gem::DependencyError - chef_gem[minitest-chef-handler] (minitest-handler::default line 8) had an error: Gem::Depe
@dpetzel
dpetzel / git_cheat_sheet.rst
Created September 8, 2012 01:08
My personal cheat sheet of git commands

My Personal Git Cheat Sheet

Purpose

Since I keep googling these over and over.....

Definitions

@dpetzel
dpetzel / generic_zenoss_Vagrantfile.rb
Created October 18, 2012 13:14
generic_zenoss_Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant::Config.run do |config|
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com.
config.vm.define :core3 do |core3_config|
core3_config.vm.box = "core3"
@dpetzel
dpetzel / zenoss_data_points
Created October 19, 2012 18:40
Report on Zenoss Data Points
#Report Datapoints Per Collector
from pprint import pprint
results = {"total_devices": 0, "total_datapoints": 0}
for monitor_name in dmd.Monitors.getPerformanceMonitorNames():
if monitor_name not in results:
results[monitor_name] = {}
monitor = dmd.Monitors.getPerformanceMonitor(monitor_name)
results[monitor_name]['device_count'] = len(monitor.getDevices())
results["total_devices"] += results[monitor_name]['device_count']
dp_count = 0