-
There are two software projects that have had huge influence on the
-quality of free software, and I wanted to mention both in case someone
-do not yet know them.
-
-
The first one is valgrind, a
-tool to detect and expose errors in the memory handling of programs.
-It is easy to use, all one need to do is to run 'valgrind program',
-and it will report any problems on stdout. It is even better if the
-program include debug information. With debug information, it is able
-to report the source file name and line number where the problem
-occurs. It can report things like 'reading past memory block in file
-X line N, the memory block was allocated in file Y, line M', and
-'using uninitialised value in control logic'. This tool has made it
-trivial to investigate reproducible crash bugs in programs, and have
-reduced the number of this kind of bugs in free software a lot.
-
-
The second one is
-Coverity which is
-a source code checker. It is able to process the source of a program
-and find problems in the logic without running the program. It
-started out as the Stanford Checker and became well known when it was
-used to find bugs in the Linux kernel. It is now a commercial tool
-and the company behind it is running
-a community service for the
-free software community, where a lot of free software projects get
-their source checked for free. Several thousand defects have been
-found and fixed so far. It can find errors like 'lock L taken in file
-X line N is never released if exiting in line M', or 'the code in file
-Y lines O to P can never be executed'. The projects included in the
-community service project have managed to get rid of a lot of
-reliability problems thanks to Coverity.
-
-
I believe tools like this, that are able to automatically find
-errors in the source, are vital to improve the quality of software and
-make sure we can get rid of the crashing and failing software we are
-surrounded by today.
+
One of the new features in the next Debian/Lenny based release of
+Debian Edu/Skolelinux, which is scheduled for release in the next few
+days, is automatic configuration of the service monitoring system
+Nagios. The previous release had automatic configuration of trend
+analysis using Munin, and this Lenny based release take that a step
+further.
+
+
When installing a Debian Edu Main-server, it is automatically
+configured as a Munin and Nagios server. In addition, it is
+configured to be a server for the
+SiteSummary
+system I have written for use in Debian Edu. The SiteSummary
+system is inspired by a system used by the University of Oslo where I
+work. In short, the system provide a centralised collector of
+information about the computers on the network, and a client on each
+computer submitting information to this collector. This allow for
+automatic information on which packages are installed on each machine,
+which kernel the machines are using, what kind of configuration the
+packages got etc. This also allow us to automatically generate Munin
+and Nagios configuration.
+
+
All computers reporting to the sitesummary collector with the
+munin-node package installed is automatically enabled as a Munin
+client and graphs from the statistics collected from that machine show
+up automatically on http://www/munin/ on the Main-server.
+
+
All non-laptop computers reporting to the sitesummary collector are
+automatically monitored for network presence (ping and any network
+services detected). In addition, all computers (also laptops) with
+the nagios-nrpe-server package installed and configured the way
+sitesummary would configure it, are monitored for full disks, software
+raid status, swap free and other checks that need to run locally on
+the machine.
+
+
The result is that the administrator on a school using Debian Edu
+based on Lenny will be able to check the health of his installation
+with one look at the Nagios settings, without having to spend any time
+keeping the Nagios configuration up-to-date.
+
+
The only configuration one need to do to get Nagios up and running
+is to set the password used to get access via HTTP. The system
+administrator need to run "htpasswd /etc/nagios3/htpasswd.users
+nagiosadmin" to create a nagiosadmin user and set a password for
+it to be able to log into the Nagios web pages. After that,
+everything is taken care of.