Jaime Gago Condensing Information Systems From the Vapor Of Data


Scaled Out AWS Graphite Federated Cluster

I've hit the limit of "my" AWS Graphite single server install (i2.xl) and I needed to come upScreen Shot 2015-05-07 at 10.04.48 PM with a scaled out design. I'm really looking forward to Jason Dixon Graphite's book, but can't wait for it so I went down the interwebs rabbit hole  (1234567). This is what I've come up with for my needs, maybe this helps somebody else out there, also hoping for feedback from the community.


VIM / Bash Prompt Setup For Day to Day Systems Engineering (Git as VCS)

tl;dr: grab my GIST for VIM and bash prompt setup.

In these days of highly automated systems, I work with several languages/DSLs and environments, Ruby, vimlogoPython,Puppet,Ansible, YAML, JSON, Ubuntu,CentOS. In order to optimize my workflow,  I've customized my  VIM and prompt setup quite a bit (all with open source code) and so I thought to share it. I usually work from an Os X laptop (as my host for Linux VMs managed via Vagrant)thus I'm including a couple of tricks for iTerm2, finally some bash prompt goodness.


Monitor Sensu Server with Pingdom

If you found yourself in a "who watches the watchmen" situation and need to monitor your Sensu server, here is a solution with Pingdomsensu_logo

Create a Pingdom http check that points to the /health end point ( you'll need to enter your sensu dashboard auth in user name/password in optional settings)  AND select in optional settings/request headers "Accept" and enter this in the empty field


 took me a couple of hours and some tcpdumping to find this out so hopefully it saves some time to other folks out there!


Create MCollective plugin native OS packages with…MCollective!

Today I wanted to install the MCollective Process Agent plugin and so I searched to no luck for a native OS package for ubuntu (ended up filling a 500px-Panneau_marionette.svgticket with puppetlabs). I was on my way to do some effing package making  but some guy on IRC ("rc" you know who you are ^^ ) saved me a lot of time with a single mco command. It turns out MCollective can create native os packages for its plugins, and since I haven't found any doc on the topic I thought I document it here.


Integrating PagerDuty with Sensu


I'm currently implementing a monitoring pipeline based on Sensu for the monitoring data routing and Graphite for the actual storage and calculations, it wouldn't be complete without a notification systems to it so I thought I would document using PagerDuty at the end of the pipe.

There isn't much to it but the information is spread and not always straight forward (at least it wasn't to me) so hopefully this help other adepts of monitoring love!


Dynamic Guest(RHEL6 and cousins)/Host(Os X) Time Zone Sync in Vagrant (VirtualBox Provider)

If like me you're in charge of the vagrant base boxes supporting a team with folks in different time zones you might find this hack useful. I use it to bring the time zone of a Screen Shot 2013-03-30 at 6.07.36 PMRHEL 6 or cousins (tested on CentOS 6.4) guest VM to the same as an Os X host (tested on 10.7.5) in Vagrant, VirtualBox provider environment. I'm leveraging an Os X CLI utility  with a shell provisioner but it shouldn't be too much of a deal to refactor for Ansible/Puppet/Chef provisioner. I'm pretty sure there are better ways of doing this, so if you have a more elegant solution please describe it in the comments!


Plain Text Based Configuration Files Management with Ansible

Screen Shot 2013-03-30 at 6.07.36 PMAnsible, the configuration management and command orchestration tool I use currently, has several modules and ways one can use to push plain text based configuration.  I got a lot of help from the Ansible community, the guys on IRC are quite a model when it comes to the S of CAMS and I thought I would share back the knowledge I've gained.


Ship Apache HTTPd Logs to Graylog2 Via Rsyslog


This is a quick recipe and a list of resources on how to ship apache logs to a graylog2 server using rsyslog which is the default system logger on CentOS 6. Tested on CentOS 6.4, Graylog2  0.9.6, Apache HTTPd 2.2.15.

By the way if like me, before I wrote this post, you are wondering about the origin of using the word that commonly describes a fresh cut piece of a tree for "our" IT logs then click on the image (talking root cause here), and don't forget to donate to wikipedia!


VI and VIM:Automatic Headers For Shell Scripts

If you landed on this page chances are you already know what an automated header is, if not this post about how to create/edit shell scripts with VI/VIM and have an header automatically created and updated with timestamp on each edit.

I'm writing quite a bit of shell scripts using VIM lately and as a lazy system folk (main skill required by the trade ) I looked into a way to automate my headers. I found this post  on thegeekstuff.com (plenty of good resources, just don't like the spamy ads) but the example is for writing in C and /me != got C?. So I thought I would share here the simple modifications I did to original tutorial to have automated headers for my shell scripts:


Teach Yourself Python

I originally became interested in Python via Google folks public communications, after that I kept reading about it in many "Systems Oriented" blogs. Long story short I decided to learn Python and in agreement with my autodidactic nature I started the free resource hunting while putting my google-fu to work, here's what I found.