The light-footed Hiawatha web server

Frugal Delivery

Monitoring Included

Although virtually all modern software programs collect metrics data on their own usage and make the data available through a standardized interface, web servers have long held back on the subject of trending. Hiawatha also adopts a special approach: The tool writes copious amounts of metrics data as defined by its author. The web server includes a PHP-based mini-application named Hiawatha Monitor that retrieves the collected metrics data from the web server and outputs the data to the admin.

Because the Hiawatha Monitor is based on Banshee [2], the tool also visualizes received usage data. Although it cannot be compared in form and scope with the kind of data collection that a combination of Prometheus and Grafana archives, it is definitely better than nothing. Hiawatha cannot be connected to Prometheus in a meaningful way, because no suitable exporter can output the metrics data available in Hiawatha to Prometheus.

Tomahawk Command Shell

All relevant Hiawatha parameters can be set in a configuration file, but changes require restarting the tool. Depending on the situation, a restart is not always possible, which is why Hiawatha also comes with its own command line. The metrics data currently available to Hiawatha can be read out in the shell.

More importantly, however, the command shell, dubbed Tomahawk, supports reconfiguration of the web server on the fly. IPs that have ended up on Hiawatha's internal blacklist can be permanently removed here; otherwise, Hiawatha would simply no longer serve these clients. All current connections can be terminated by the kick command.

Getting Started

All in all, Hiawatha is clearly a powerful web server that can be implemented with very little in terms of resources, and it does not need to shy away from comparisons with competitors such as Apache or Nginx. What is less fortunate, however, is what admins have to do to set up a running instance of the service. Unlike Apache and Nginx, most distributions do not include packages for Hiawatha. You can't get by with just a little tinkering. That said, the reward is a clear-cut, easy-to-edit configuration.

The first step is to install Hiawatha, which will depend on the distribution you are using. Because Hiawatha is not very widespread, you will often search in vain for pre-built packages for the major distributions. Debian packages for "Buster" are available from a separate package repository [3]. After adding it to the package sources and enabling the GPG key for the repository, the command

apt install hiawatha

retrieves the package, including all its dependencies, and drops it on your system.

Life could also be great, theoretically, in the CentOS universe. Resourceful Hiawatha fans used to maintain packages for CentOS a few years ago. They were released in the Anku repository [4] with extensions for CentOS and RHEL. However, only one package for the ancient Hiawatha 10.8.4 is currently present, and that is only for CentOS 7. Packages for the current version 10.11 for CentOS 8 are missing.

Similar problems exist on Ubuntu: The only Hiawatha PPA delivers packages in a prehistoric state for Ubuntu 18.04 only. Users of macOS or the various BSD derivatives are somewhat better off, because Hiawatha is part of the port system and can thus be compiled automatically from the sources.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus