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 ticket 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.
Today 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...
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!
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 RHEL 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!
Ansible, 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.
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 about 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.
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!
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.
I've started playing around with Ansible for Command Orchestration and Config Management and so far so good. Since I was not happy with having all the module flags in one line in my playbooks I looked for a way to break them into multiple lines.
Since Ansible playbooks are written in YAML one google search later I was on my way, here is how it works at this point, or at least according to my testing using Ansible 1.1 on a CentOS 6.3 box.
--- - name: "creating a config file from a rendered template" template: > src=/some/path/foobar.j2 dest=/some/pathfoobar.conf owner=root group=wheel mode=0777
is equivalent to
--- - name: "creating a config file from a rendered template" template: src=/some/path/foobar.j2 dest=/some/pathfoobar.conf owner=root group=wheel mode=0777
I thought this was pretty cool !