I’m not exactly a demanding user of version control systems so I’ve not been heavily motivated to ditch my personal SVN repo (which I don’t use as much as I should) and plunge in to the shiny new distributed ones. However (and this is my excuse) I’ve recently wanted to put a handful of my own Nagios plugins under a public VCS. While we use a number of the checks at work I don’t necessarily want the local changes to be made immediately public so I thought I’d take this as an opportunity to have a fiddle with git. Read on →

It’s been the summer of returns, from the very enjoyable Dark Knight to the should have been left buried ‘plot’ of Indy and the Crystal Skull. Unfortunately most of them have been rubbish - and the The Mummy: Tomb of the Dragon Emperor doesn’t do anything to address this. The special effects are good but nothing ground breaking, the new Evelyn O'Connell is a masterpiece of terrible - how such an uninteresting character can steal and kill so many scenes baffles me. Read on →

While digging through a pile of syslog log files recently I needed something a little more data format aware than pure grep. So I present the first version of syslogslicer - a simple perl script that knows a little bit about the syslog log file format. # some example command lines syslogslicer -p cron -f program,message /var/log/syslog # print the program and message for all lines with program 'cron' syslogslicer -p cron -m hourly /var/log/syslog # all fields for all lines with program 'cron' and message 'hourly' syslogslicer -p cron -m hourly -s 20080810100000 -e 20080810123000 /var/log/syslog # all fields for all lines with program 'cron' and message 'hourly' # between 20080810100000 and 20080810123000 syslogslicer allows you to filter the output by matching text in the program or log message, only print certain output fields and do basic time based filtering. Read on →

“This script retrieves a URL via a specified proxy server and alerts (using the standard Nagios conventions) if the request fails.” We’re running a couple of services through a proxy server for a number of good, and to be honest a couple of not so good but mandated, reasons. The Check Proxy Check Nagios Plugin ensures that if the proxy goes down in a way that stops us pulling pages through it we know.

A short review for a short book. Apache JMeter (Packt Publishing) is a good book if you’re new to both IT and testing and want your hand securely held. It introduces you to the basic ideas behind automated testing, takes you step by step through some simple GUI test cases and then doesn’t go any further. It’s a short book and maintains its beginners focus well but it has a very short lifespan (luckily it’s also available as a cheap PDF) and if you’re comfortable with GUIs and basic testing, or willing to click around for a while I’d recommend you dive straight in to the JMeter GUI rather than investing half a day to read this book. Read on →

If you mount filesystems under a specific mount point, and monitor them with Nagios, then be sure you understand what happens if the underlying file system goes away. With: /usr/lib/nagios/plugins/check_disk -w 15% -c 10% -p /a_mount_point you’ll get the value from the containing file system. In this case /. If you’d rather know that your chosen mount point has actually gone away, and that you’re no longer checking what you thought you were, then add the -E option to the command. Read on →

We’ve recently had to deliberately disable some machines this week to ensure they can’t connect out to the internet - we’re building testing versions of some of our more restricted secure environments and this is one of the steps. It was actually easier to do with IPTables than I thought (mostly because I didn’t have to do it - my co-worker did) but once the work was done we needed to ensure it didn’t accidently get broken so that networking was functional again. Read on →

You’ve gathered the requirements, written the code, debugged it, received the new requirements, rewritten the code, got more change requests, reached a ‘compromise’ with QA (and hidden the bodies) and now you want to have the sysadmins do the release. Don’t be like everyone else - when it comes to releases too many people fail at the last mile and make obvious mistakes. In an attempt to save myself some pain (and have something to point co-workers at) here are some of the software release principles that I hold dear. Read on →

Since I’ve been asked where about at the conference I am I should probably mention that I’m not attending YAPC::EU this year. Despite the excellent job the organisers did last year at the Nordic Perl Workshop a combination of factors stopped me going back to Copenhagen. The first one (and it’s shallow but true) is that I’ve been there now. I like conferences in places I’ve never been before. If I’m going to spend a chunk of my own cash on travel I want to grab an extra day or two and have a wonder around. Read on →

I’ve never really felt as proficient with apt and dpkg as I did with RPM. There always seems to be another option I’ve never seen before. Luckily there are also big holes in my knowledge of yum to make me feel well rounded. After reading yum options you may not know exist and spending a while puzzling out how to get the same results in Debian (apt-file seems to be the closest fit but I never got the invocation right) I decided to write dpkg-provides. Read on →