November 2009

I voted!

I voted, how about you?

NL Release Party (in English)

Weeeee! Release party is ongoing!

It's more of a socializing thing then it is about Fedora 12, really, but what the heck ;-)

Also, we're speaking English rather then Dutch ;-)

Problems with the Fedora 11 Re-Spins

I'm having trouble creating a Re-Spin for Fedora 11, as you might have suspected given the number of Re-Spins released by Fedora Unity for this number 11 release.

This time, it is networking in the installer image that isn't at all functional. I suspect changes to NetworkManager, released as an update for Fedora 11, have caused the dependencies to shift, and those dependencies might not be in the installer image (install.img) nor the initrd.img.

To troubleshoot such things is rather difficult, and takes up a lot of time. Maybe I'm just being inefficient at it (any hints can go to kanarip@fedoraunity.org please!).

Anyway, I just wanted to let you know that that's what causing the hold-up.

Profiling Zarafa Usage with Munin

I wanted to share with you the way Operator Groep Delft monitors and profiles Zarafa, the best Open Source Groupware available today. We have about a thousand users in LDAP, of which approximately 200 are internal employees (the ones in the branch offices) compared to approximately 800 external users (consultants, part-timers, etc.). We use Nagios for monitoring, and Munin for profiling. Munin integrates with Nagios in that given a set of thresholds, when a profiled resourse is out-of-bounds, it can let Nagios trigger the alerting.

Anyway, let's see some Munin graphs (who doesn't like colored graphs?):

The number of Connections to the Zarafa server

The number of connections to the Zarafa server is a simple `netstat | grep <process-name> | wc -l`. Some users will have more then one connection (Outlook users for example), and so the number of users (see below) is a different number. Also mind that, contrary to the Outlook and/or IMAP (persistent) connections, the webmail connections are polled once per 5 minutes, and thus the number of webmail (non-persistent) connections is probably off by a factor X. We chose to not choose X and instead derive statistics based on the actual numbers in the graph.

You can find our version of the zarafa_connections Munin plugin here.

The number of Unique Source IP addresses

Like I said, the number of actual users is something different then the amount of connections. Some users may have more then one connection so how do we derive the number of users from the number of connections? While Zarafa comes with a neat utility called zarafa-stats, it is not what we were looking for and so we chose to pick unique IP addresses for Outlook, IMAP and webmail users, and pick unique users for ActiveSync connections (also through the webserver, like webmail access, so we parse the webserver logs here). There's one more cheat in the number of webmail and ActiveSync connections I need to tell you about:

Instead of examining the webserver access_log files per hour, we take into account the hour before the current hour too. In a way, we examine the access_log files (of combined format by the way) in a range of 60 to 120 minutes. The reasoning is as follows; If we don't, at the start of every hour the number of users is zero. Then, as the hour passes, the number of users would increase and increase a little more until the hour passes and the next hour starts. This would have caused the graph to look like the teeth of a saw, which would misrepresent the number of users entirely.

You can find our version of the zarafa_users Munin plugin here.

The number of Queries per Second on the dedicated MySQL Database server

These users cause Zarafa to put some load on your database server, of course, and since we have a dedicated MySQL server just for Zarafa, the number of queries per second is interesting as well. This is a standard Munin plugin -or at least it's shipped in the version of Munin for Extra Packages for Enterprise Linux 5 as well as Fedora.

Note how the number of queries per second turns out to have > 50% cache hits at average (for the week). Over a longer period of time, I can tell you, the number of cache hits averages about 50% overall, and anywhere between about 30-40% during office hours.


Ruby on Rails 101

I can't seem to find a nice, simple, stupid web administration interface for LDAP. I want the users of said web interface to just be able to click "Add User" and fill out givenName, sn. I'll derive from that a uidNumber, uid, homeDirectory, mail, generate a password, send out an email. Or something like that.  Same goes for groups "Add User to Group", or "Remove User from Group". All based on authorization levels or ACLs in LDAP, of course. Reliably enforcing a naming convention and all kinds of standard operating procedures.

So, I started my first Ruby on Rails project, and I called it SLAP (Simple LDAP Administration Panel). Since it's my first Ruby on Rails project, I'm trying to get used to the semantics that is Rails... Enabling the brand new Rails project to simply authenticate and authorize through LDAP for example is being a PITA. I'm looking at ActiveLdap, but I can't seem to figure it out -it is very scarcely documented.

Installing PHP 5.2.x on Red Hat Enterprise Linux 5

Apparently people follow this tutorial to install PHP 5.2.x on their Red Hat Enterprise Linux systems. It uses the repositories from our dear Remi Collet, and at first I didn't understand why anyone would do that, install an unsupported version of PHP on a platform you specifically chose to get support for. I was under the impression Red Hat themselves would have a decent offer in the Application Stack channel, but what I found out is that a subscription to the Red Hat Application Stack v2 would cost around $1.999 a year (source). Go figure ;-)

RE: Ruby-1.9.1 in Fedora?

It feels like this is part 7 or 8 in the ruby series, but I hope you're still hanging in there ;-)

Last time I blogged about Ruby 1.9.1 search paths, but after some converstation with Stephan Kasal in private, and some more on the Ruby SIG mailing list, I'm leaning towards the simplest ever search path;

/usr/local/lib{,64}/ruby
/usr/local/share/ruby
/usr/lib{,64}/ruby
/usr/share/ruby

As I also mentioned in this message, this looks very clear and straightforward to me! Regrettably, I have not yet had much response on the mailing list. I hope to be doing some rebuilds of packages depending on ruby later on, see how that goes, and maybe release a 1.9.2 release candidate version somewhere.