coredump I/O

The adventures of a sysadmin in search for the perfect uptime.

Making tools that aren’t a hammer

| Comments

A picture of a hammer and a big bolt not working well together

There’s a famous saying about hammers and problems. I think it goes like if all you have is a hammer, everything looks like a nail. That’s a common thing to happen on the devops/sysadmin trade and goes completely against the UNIX Philosophy of small tools getting together to achieve big things.

One old weird trick to speed SSH

| Comments

SSH is awesome, it’s perhaps into the top 10 most important tools for the sysadmin job and still surprises me sometimes with cool features.

Doing some reading about cluster administration using SSH I stumbled into this:

Host *
  ControlMaster auto
  ControlPath /tmp/ssh_mux_%h_%p_%r
  ControlPersist 4h

What witchery is that, you ask? Has science gone too far? Well, no, that’s actually pretty old and I should be probably ashamed of only discovering it so recently.

GnuPG for people that don’t like GnuPG

| Comments

So for some reason you have to use GnuPG (GPG for shorts). It may because you work somewhere with minimal privacy/security conscience, or just because you are on a project that decided to sign commits using a GPG/PGP key (I will use PGP/GPG key interchangeably here). The problem is, you have no idea of what you should be doing. Fear not, you can totally fake it until you make it with a few easy commands.

Learning Go(lang)

| Comments

One of the things I really like to do is learning new languages. So after leaving it on the back burner for almost a year I decided to really concentrate on the Mark Summerfield’s Programming Go book that I had since before printing (I had like 4 different rough cuts that I never started reading for serious). The book is very good, and is doing a fantastic job on giving me the basics on the language, and I am starting the more advanced chapters and not feeling totally lost.

Why I stop

| Comments

Seems that every post I create is about changes, that can get annoying but I think that discussing the reasons behind those changes is important, interesting, or something like that. I don’t really care.


| Comments

So, since last post some changes happened, most people that follow me on twitter/G+/Facebook or Linkedin are probably aware of them but well, I needed to post something :)

Debugging segfaults from logs to gdb

| Comments

So this week after a version upgrade on GraphicsMagick we got some segfaults on our servers. Nothing terrible, twelve segfaults or close to that on a 24 hour period. The only information was a line on /var/log/kernel.log:

Feb 22 13:28:27 serverXX kernel: [1953364.275653] gm[16356]: segfault at 0 ip 00007fd137bd41e0 sp 00007fff5770dcd0 error 6 in[7fd1379b9000+29d000]

No core dumps since ulimit -c is zeroed. What to do to at least have an idea of what is happening?

HoardD javascript support (and #monitoringsucks)

| Comments

First things first: the latest revision of HoardD on github already supports scripts written in pure javascript. Really it was easy to make it work but I kinda overlooked it on the first version. The is already updated.

Second: most of you probably know the #monitoringsucks movement/hashtag/discussions. I totally agree that the current monitoring tools only do part of the job and getting them to work together is horrible. I have some ideas on how to solve the problem, but the path from idea to code is a long one. You can read this post about monitoring and understand what is this all about.

Even so, if you are using HoardD with the default sample time and sending intervals, you are getting data 1 minute old. This is normally cool for simple graphing but if you want a realtime feeling I suggest you to send data everytime you sample it. Your graphs will also look better, and the overhead of 6 connections each minute is negligible on a true server.


Announcing HoardD

| Comments

Getting back to work as a full time sysadmin was great, I got back to speed on scalability, updated my toolbox and learnt about other fantastic tools, like Graphite. Graphite is a graphing tool, extremely configurable and scalable. One thing, though, bothered me: the lack of good tools to send server metrics to it. I tried collectd graphite plugins and none did what I wanted the way I wanted.

So I decided to flex my node.js dev muscles and here is HoardD. This is a node.js app written in coffee-script that basically runs scripts and tools to get information about a server and sends it to carbon (Graphite’s storage backend). It’s easily expansible to include more metrics and very very fast and small (11MB or so, depending on scripts loaded, most of it is node).

Getting the correct name on Gnome 3 Chromium windows

| Comments

Gnome 3 is awesome, by far the best user experience I ever had. It’s fast, does exactly what I need and has sensible defaults.

One problem that I had for some weeks — after some upgrade I am sure — was that Alt+Tab and Alt+(key below ESC) behavior with Google Chromium windows was completely annoying: all my browser windows, including the ones I use --app and a different data directory, were grouped under “Google Chromium” icon, like in this screenshot I took (click on it for full size):