Skip to content

Instantly share code, notes, and snippets.


Block or report user

Report or block dpetzel

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:1885659
if device:
if device.getSnmpStatusString() != "Up":
#Preserve the actual SNMP agent down message
if getattr(evt, "summary", "") != "SNMP agent down":
evt._action = "drop"
View gist:1885932
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 =, evt.summary)
if m and'app_name'):
new_summary = "".join(['app_name'), " - ",
dpetzel / gist:2053902
Created Mar 17, 2012
Detect If Running Chef Solo
View gist:2053902
unless Chef::Config[:solo]
dpetzel / gist:2475974
Created Apr 24, 2012
Core 4 Alpha on Ubuntu
View gist:2475974
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
View gist:2974078
def _increment_zenpack_and_export(self):
Increment the version and export the zenpack egg
for pack in dmd.ZenPackManager.packs():
if == self.zenpack:
log.debug("Previous ZenPack Version was {0}".format(pack.version))
pack.version = float(pack.version) + ZENPACK_INCREMENT_STEP
log.debug("New ZenPack Version is {0}".format(pack.version))
View gist:2974494
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 / gist:3647626
Created Sep 5, 2012
minitest-chef-handler dependency failures
View gist:3647626
[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
[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 / git_cheat_sheet.rst
Created Sep 8, 2012
My personal cheat sheet of git commands
View git_cheat_sheet.rst

My Personal Git Cheat Sheet


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


View generic_zenoss_Vagrantfile.rb
# -*- mode: ruby -*-
# vi: set ft=ruby : 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
config.vm.define :core3 do |core3_config| = "core3"
dpetzel / zenoss_data_points
Created Oct 19, 2012
Report on Zenoss Data Points
View 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
You can’t perform that action at this time.