Archive
Posts from 2016
Using systemd to restart processes that crash
The gmetad process on my Ganglia server has been a bit finicky lately. Periodically it segfaults which prevents new metrics from making their way into the RRD databases it manages: Luckily The gmetad service runs under systemd which provides a Restart directive to revive failed processes. You can take advantage of this nifty feature by adding "Restart=always" to yourunit files: Now each time gmetad pukes systemd will automatically restart it. Hopefully I will get some time in the next few weeks to go through the core file to see why it keeps puking…
$ read more →Riemann and the case of the unhappy system call
This past weekend I spent a good deal of time playing with riemann. Riemann is a powerful stream processor and I'm hoping to use it to correlated and analyze metrics from disparate data sources. After downloading and installing it I received the following error: Not exactly what I was exepecting on our first date but I guess riemann plays hard to get. :) To make a little more sense out of this error I fired up strace to retrieve the ERRNO value and to see which system call was failing: Now that hits the spot…
$ read more →Python generators you had me at first yield
This post is added as a reference for myself. I've been reading a lot about writing clean, readable and performant Python code. One feature that I now adore are generators. In the words of Python guru David Beazley a generator is: "a function that produces a sequence of results instead of a single value" The presentation above is an incredible overview of this amazing feature and I've been taking advantage of it whenever I can…
$ read more →Ganglia never met a quote it didn't like. Wait it did ...
This week I encountered a weird issue while developing a new Ganglia plug-in. After moving my ganglia processes to a docker container I noticed that the grid overview images weren't displaying. This was a new ganglia installation so I figured I typo'ed something in the gmetad.conf configuration file. I reviewed the file in my git repo and everything looked perfectly fine…
$ read more →Python console editing with VIM
I'm a long time console guy and haven't found a graphical Python development tool that suits my needs as well as vim. It takes a couple of amazing vim plug-ins but the experience is great IMHO. I'm currently using the vim-jedi, pylint and vim-syntastic plug-ins which can be installed with yum on CentOS/Fedora machines: To enable syntax highlighting and auto indentation you can add the following to your $HOME/.vimrc: Once these are in place your code will be highlighted with a nice set of colors, hitting return will generate the correct spacing and pylint will be run automatically to note problems with your code. If you are using other plug-ins let me know via a comment.
$ read more →