Realising that I am learning a lot about Unix and infra, but could learn this without ever learning anything about DevOps. I can see where DevOps could make my life easier but the books I am following remove automation, duplication in order to explain config and the like.
Anyway my Riemann Mission Control is still in a state even when I free up disk space. In today’s lesson I was setting up the collectd write-riemann plugin and had errors as follows on my problem-child host:
/etc/collectd.d$ sudo service collectd start * Starting statistics collection and monitoring daemon collectd ERROR: lt_dlopen ("/usr/lib/collectd/write_riemann. so") failed: file not found. The most common cause for this problem is missing dependencies. Use ldd(1) to check the dependencies of the plugin / shared object.
This lead to my first contact with the ldd command which revealed:
libprotobuf-c.so.0 => not found
Finally with a bit of research the below fixed my issue:
sudo apt-get install protobuf-c-compiler protobuf-compiler libprotobuf-c0 libprotobuf-c0-dev
Having configured this plugin on four ubuntu hosts, I wonder why this dependency was missing on only one. Two theories. One – whatever is busting my disk space may be related to the absence of a working dependency. Two – I may have missed a step on one of the four hosts.
Either way, if had configuration management tools or containerised, automated builds I suspect this error may not have occurred at all or at the very least have been fixable before building four hosts using the same image/container/scripts.
One thought I had was that it would be great to rebuild riemannmc. Of course this would take a while to retrace my steps unless I had a Docker image to help me out (for example).
The other issue I had today is that collectd on my Red Hat hosts is not logging. One for tomorrow.