Skip to content

Instantly share code, notes, and snippets.

View conorbranagan's full-sized avatar

Conor Branagan conorbranagan

View GitHub Profile
@conorbranagan
conorbranagan / dogstatsd.rb
Last active August 29, 2015 14:01
Logstatsh dogstatsd output
# Installation:
# - `gem install dogstatsd-ruby`
# - Drop `dogstatsd.rb` into the logstatsh outputs folder
#
# encoding: utf-8
require "logstash/outputs/base"
require "logstash/namespace"
# statsd is a network daemon for aggregating statistics, such as counters and timers,
@conorbranagan
conorbranagan / process.py
Last active August 29, 2015 13:57
Process check working on older kernels
from checks import AgentCheck
from util import Platform
import time
class ProcessCheck(AgentCheck):
PROCESS_GAUGE = (
'system.processes.threads',
'system.processes.cpu.pct',
'system.processes.mem.rss',
@conorbranagan
conorbranagan / gist:8849112
Created February 6, 2014 17:48
Show disk metrics
Open PowerShell or cmd.exe
C:\ ... > cd C:\Program Files (x86)\Datadog\Datadog Agent\files
C:\ ... > ./shell.exe
Datadog Agent v4.1.0 - Python Shell
>>> import wmi; w = wmi.WMI()
>>> disk = w.Win32_LogicalDisk()
>>> print [{'Name': d.Name, 'Type': d.DriveType, 'Size': d.Size, 'Free': d.FreeSpace} for d in disk]
@conorbranagan
conorbranagan / gist:8607621
Created January 24, 2014 22:02
Running an AgentCheck at a different interval
import time
from checks import AgentCheck
CHECK_INTERVAL = 60 # in seconds
class MyCheck(AgentCheck):
def __init__(self, name, init_config, agentConfig, instances=None):
AgentCheck.__init__(self, name, init_config, agentConfig, instances)
self.last_check_ts = None
@conorbranagan
conorbranagan / gist:8548230
Created January 21, 2014 20:57
Patched PyYAML setup.py to use setuptools
NAME = 'PyYAML'
VERSION = '3.09'
DESCRIPTION = "YAML parser and emitter for Python"
LONG_DESCRIPTION = """\
YAML is a data serialization format designed for human readability
and interaction with scripting languages. PyYAML is a YAML parser
and emitter for Python.
PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
@conorbranagan
conorbranagan / elastic.py
Last active January 3, 2016 12:39
Elasticsearch - supporting basic authentication
import base64
import socket
import subprocess
import sys
import time
import urlparse
import urllib2
from util import json, headers
from checks import AgentCheck
@conorbranagan
conorbranagan / mongo.py
Last active January 3, 2016 04:19
Mongo Check - fix for multiple instances
import re
import types
import time
from checks import AgentCheck
from util import get_hostname
# When running with pymongo < 2.0
# Not the full spec for mongo URIs -- just extract username and password
# http://www.mongodb.org/display/DOCS/connections6
@conorbranagan
conorbranagan / gist:7710603
Last active November 21, 2021 21:36
Vagrant Pre-package script
#!/bin/bash
#
# Script to run before trying to re-package this box.
# Usage: sudo ~/prepackage.sh
echo 'Stopping all supervisor tasks'
sudo supervisorctl stop all
echo 'Removing custom dotfiles'
for dotfile in 'gitconfig pypirc'; do
@conorbranagan
conorbranagan / gist:7139091
Created October 24, 2013 15:17
boot_service.py diff
7a8,9
> import multiprocessing
> multiprocessing.freeze_support()
@conorbranagan
conorbranagan / boot_service.py
Created October 24, 2013 14:28
Support multiprocessing in py2exe services
# boot_service.py
import sys
import os
import servicemanager
import win32service
import win32serviceutil
import winerror
# Add multiprocessing support to py2exe services
import multiprocessing