nagios: “CRITICAL – Unable to find host ‘” + host + “‘ in replica set.”

You may find yourself in the situation where when configuring nagios to monitor a MongoDB, it will complain that:

"CRITICAL - Unable to find host XXXXXXXX in replica set."

And you know for a fact that the replica set is fine. What has gone wrong then?

You have told nagios to monitor the IP address of the host in question, where in the replica set the host is found by its DNS name. Currently nagios-plugin-mongodb does not take this into account.

Nick Drake

Δεν γράφω για την μουσική που ακούω εδώ και καιρό (δεν είμαι και κανένας ειδήμονας άλλωστε). Τα 30 τελευταία CD του Jazz & Tzaz δεν τα έχω ακούσει καν. Όμως χτες άκουσα αυτό το επεισόδιο στο 99 percent invisible για τον Nick Drake και ένα έχω να πω:

Ευτυχώς που υπάρχει η δισκογραφία του (η περισσότερη τέλος πάντων) στο Spotify.

A sure way to get into a spam blacklist

Well here is one: Trying to deceive me. No I do not believe the error message returned from your remove.php:

There was an error processing your request; please manually send an email to with Unsubscribe as its subject

And you know why is that I do not believe you? Because I never subscribed via this email address.  In your newsletter you say you want to disrupt the industry (which industry you leave it vague). So far you’re only annoying.

Remote: Office Not Required

I finished “Remote: Office Not Required“. It took me a bit longer than I expected, but I have more than three books open at the moment. I really liked the book. While one can find a rehash of ideas that exist also in “Getting Real” and “Rework“, I find it stronger. Especially now that I employ a quasi remote way of work. The most powerful message in the book is this:

For the remote worker, all that matters is work delivered.

So I guess, if you have ever felt as your work not being recognized, you have to try remote working. The book is about how to employ people working remote for you (and not blowing it up and therefore blame it on remote work) and for people that want to work remotely in order not to get lost because of distance. I spotted a few things that I do wrong; habbits that I have to change. Because this is what remote work is about: Installing proper habbits and corporate culture that can make it work. Working remotely and acting locally is a recipe for failure, so you need to read this book prior to starting any remote work program, or starting working remotely as a contractor or an employee.

ReWork: Change the way you work

I just finished reading ReWork by the 37signals gang. Normally I do not like books that teach me nothing. To that end I can say that I learned nothing new from the book, because I seem to agree with the authors almost every step of the way. Sure, there are details where I might disagree, but not with the big picture that the book draws.

I always have mixed feelings about such books. I agree with the authors far too soon when beginning to read them and this spoils the fun. I do not wasn’t to agree. I want to change how I think of stuff.  I am afraid of groupthink a lot I guess.

The truth is that if you’re planning to do a major change in your work life (and you’re a knowledge worker) you’ll want to read this. Mandatory reading if you’re planning to be the boss. It puts a lot of random thoughts you already had in the correct order. And that is the book’s advantage. It will only take you a couple of nights to find out.

{{ ansible_managed }}

ansible_managed is a string that can be inserted into files written by Ansible’s config templating system. You put the macro string # {{ ansible_managed }} in your jinja2 template and it gets expanded to something meaningful like:

# Ansible managed: /path/to/file/template/hosts.j2 modified on 2014-09-24 10:52:51 by username on hostname

You get a good idea of where the file came from. Unfortunately, templates work only with ansible playbooks and not with the direct ansible command. But even when you use the copy module outside a playbook it is a good practice to put a comment that includes {{ ansible_managed }} at the beginning of the file. It serves as a handy reminder on how this file got installed in the first place. And in the future, if you make a template and a playbook work with it, you’re already set.

apt-get upgrade and libssl1.0.0 : failure because of dependencies

I tried to upgrade an Debian box that was left a bit behind today and apt-get upgrade failed somewhere between libssl1.0.0 and python2.7-minimal (among a few other packages) being depended on each other and the installation script gave up. apt-get upgrade -f refused also.

If you google around this is a problem that many people had with many different causes and solutions that may or may not work in your case. So here is another one that I copy-pasted from the internets that worked in this particular case. In file /var/cache/debconf/config.dat I added:

Name: libraries/restart-without-asking
Template: libraries/restart-without-asking
Value: true
Owners: libssl1.0.0
Flags: seen