Jaime Gago Condensing Information Systems From the Vapor Of Data

8Jul/140

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.

7Apr/140

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!

8Mar/140

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.

4Feb/141

Angry -Technical Documentation- Nerd

Sa-potpourriToday while exploring another revolutionary-ultra-scalable-and-easy-to-setup tool  I decided the amazing-and-incredible amount of gobbledygook I found on that page justified a post, albeit a short one.

As a "systems guy" I spend a lot of my professional time deploying and/or reusing code/tools somebody else wrote, my point being reading technical documentation is a second nature. It then seems logic to think I'm a target of such docs and so here is for the feedback loop...

13Jan/140

Integrating PagerDuty with Sensu

sensu_logo

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!

19Oct/130

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!

15Oct/130

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.

21May/130

Running IT like a Soccer Team

While thinking about Devops culture metaphors (I like them a lot and have used and abused them through out my career) I enjoyed David Lutz post "Running IT like a rock band" but there was something sensiabout that metaphor that bothered me. I also remember a tweet stating something along these lines "Show me your rockstar developer and I'll show you your bottleneck" and the analogy of a soccer team as opposed to the Rock band started to materialize. When John Willis presented at the Silicon Valley Devops last month his 100% culture focused "State Of The Union" presentation added another layer. In particular his emphasis on systems thinking (the fact that I've always had "systems" in my job title is most likely not a coincidence).

It then was clear to me why I was having this second thoughts about "Running IT like a rock band", that is, I like to think of the IT Industry as a science based industry, and in that regard I think a soccer team has much more in common with IT than a Rock Band, here is why.

Filed under: DevOps Continue reading
28Apr/130

Ship Apache HTTPd Logs to Graylog2 Via Rsyslog

Loch_à_plateau

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!

5Apr/133

Handling directory copy and syncing aka “recursive copy” in Ansible 1.1

This post is no longer relevant as the copy module can do recursive copy since 1.5, also an rsync was module was added
While working on the Matterhorn Ansible playbook I've had to find a solution for copying the content of a directory from the host running the playbook to a group of hosts.Screen Shot 2013-03-30 at 6.07.36 PM

Turns out there are at least 3 ways of doing this and I thought summarizing them in one post would help other folks, worst case scenario it'll serve as a reminder for myself, so here were go.

Filed under: DevOps Continue reading