Skip to content

Instantly share code, notes, and snippets.

@rendicott
rendicott / octoDeployRest.ps1
Created Dec 30, 2015
Uses Powershell to interact with the Octopus REST API to create a deployment to a specific machine / release / environment combination.
View octoDeployRest.ps1
param(
[string]$machineName,
[string]$desiredVersion,
[string]$environmentString,
[string]$project
)
Import-Module Octopus-Cmdlets
#$machineName = 'DOGEN09'
@rendicott
rendicott / whisper-resizer.sh
Created Jan 5, 2016
Shell script to refactor Graphite whisper files with updated retention data
View whisper-resizer.sh
cd /var/lib/graphite/whisper/teamcity
for f in $(find $1 -iname "*.wsp")
do
if [ -a $f ]
then
# the retention policy should match what's in your /etc/carbon/storage-schemas.conf
/root/source/graphite-project/bin/whisper-resize.py $f 1m:7d 5m:28d 15m:1y
fi
done
chown -R _graphite:_graphite /var/lib/graphite/whisper
@rendicott
rendicott / pid-mem-getter.sh
Created Jan 3, 2017
bash one-liner to search for ps aux pid by name and get memory usage
View pid-mem-getter.sh
pid=$(ps aux | grep [s]nmpd | awk -F' ' '{print $2}') && pmap -x $pid | grep total
@rendicott
rendicott / check-ps.sh
Last active Jan 4, 2017
quick dirty bash script to see if there's a running process of the given name with Nagios style return codes
View check-ps.sh
#!/bin/bash
# Thanks to androidyue on stackoverflow http://stackoverflow.com/questions/2903354/bash-script-to-check-running-process
ps_out=`ps -ef | grep $1 | grep -v 'grep' | grep -v $0`
result=$(echo $ps_out | grep "$1")
if [[ "$result" != "" ]];then
echo "$1 Running"
exit 0
else
echo "$1 Not Running"
exit 2
@rendicott
rendicott / check_df_usage.py
Created Jan 6, 2017
nagios plugin to check filesystem usage based on df output
View check_df_usage.py
#!/usr/bin/env python
"""
This script checks the output of the local
'df -P' command and reports the disk usage
for the given mount with perfdata.
Usage:
python check_df_usage.py
OK /dev/mapper/centos-root filesystem mounted on / usage percentage is 17 ; | 'used_percentage'=17;90;95;; 'size'=14530560KB;;;; 'used'=2360596KB;;;; 'available'=12169964KB;;;;
@rendicott
rendicott / red2graph.py
Created Jan 11, 2017
Ships metrics from Redis to graphite
View red2graph.py
import graphitesend
import redis
import os
import time
import sys
pattern = '%Y-%m-%d %H:%M:%S'
g = graphitesend.init(prefix='devops.dotshipper',graphite_server='dograph2.docl.nic')
@rendicott
rendicott / check_port.py
Last active Mar 30, 2017
quick script to use to check whether or not a port is open using python standard library, good for when telnet is unavailable and it's too much trouble to install it
View check_port.py
#!/usr/bin/env python
'''
quick script to use to check whether or not a port is open using python standard library,
good for when telnet is unavailable and it's too much trouble to install it
Usage: ./check_port.py 127.0.0.1 5601
Thanks to mrjandro on SO
http://stackoverflow.com/questions/19196105/python-how-to-check-if-a-network-port-is-open-on-linux
sample output:
{"exit_code": 1, "results": "Port not open", "port": 5672, "host_ip": "['11.22.111.200']", "address": "internal-lb-1912362693.us-east-1.elb.amazonaws.com"}
@rendicott
rendicott / build.sh
Created Jun 23, 2017
go build cross platform
View build.sh
#!/bin/bash
#Binary built in alpine docker causes OOM exceptions in runtime on c3.xl centos7 (self.golang)
#submitted 9 hours ago
#If I build on the c3.xl it's fine. Everything I'm reading about cross compilation involves building from nix to Windows/ Darwin but not much about platform. I'm woefully ignorant here.
#Anyone have tips for reading resources?
#2 commentsshare
#all 2 comments
#sorted by: best
#[–]kron4eg 3 points 4 hours ago
@rendicott
rendicott / vertSplitter.go
Last active Jan 3, 2018
Parse a text file and split sections based on vertical anchors
View vertSplitter.go
// vertSplitter parses an AWS credentials file and splits the sections
// up based on profiles. It then parses each section to build a
// JSON profile struct for each profile including comments.
package main
import (
"bufio"
"encoding/json"
"fmt"
View Dockerfile
FROM ruby
RUN gem install vimgolf
RUN apt-get update
RUN apt-get install vim -y
ENTRYPOINT /bin/bash