Stork 2.0: Open Source DHCP Management Tool
ISC launched the Stork management application almost exactly five years ago, in November 2019, as an experimental tool.
Read postISC is delighted to announce the release of Stork 0.7. The long-term goal of the project is to provide a scalable monitoring and management solution for both BIND 9 and Kea DHCP. This is a new project, but we feel it is ready for use now for monitoring Kea. The BIND support in Stork is not quite ready for use yet; we are planning to change the way the data exporter to Prometheus works, and there are not many statistics available for BIND yet in the dashboard.
Stork consists of several components. The Stork Agent runs on the servers you wish to monitor and streams data to a Prometheus time-series database as well as to a Stork application. The Prometheus database feeds data to a Grafana data visualization system. The Stork application is a modern, responsive web application with a RESTful API, that uses a PostgreSQL database. It needs a local agent on the monitored server to collect and report statistics on the platform, as well as the ISC software application. We chose to use the popular Prometheus and Grafana open source utilities to provide very flexible and scalable visualization of your traffic data over time. The Stork application itself can integrate all of this data and present a unified view across your entire deployment of Kea and BIND servers.
The features provided in this version are:
Stork features a main dashboard which provides all the most essential information: the top 5 subnets and networks with highest pool utilization; overall statistics; the status of your Kea and BIND 9 applications, including important details such as online and HA status; and more. If Grafana is configured, a dedicated link to show statistics for each subnet and network is shown.
Stork DashboardStork can retrieve and display the IPv4 and IPv6 subnets specified in each Kea instance it monitors. Beside subnets, Stork is able to retrieve shared network information, understand which subnets belong to it, and display that information in a meaningful way. The shared networks view shows an aggregated list of all networks configured, on all the Kea servers that Stork monitors.
Stork calculates pool utilization based on lease statistics fetched from Kea. The pool utilization is shown for subnets in the “subnets” and “shared networks” views, and for whole shared networks as well.
Both views (subnets and shared networks) allow users to filter subnets and networks based on their various attributes.
Stork DHCP Subnets Stork DHCP Shared NetworksStork is able to retrieve and display host reservations from Kea. This covers host reservations defined in subnets as well as global ones.
Kea can store reservations in two ways: (1) in a configuration file (which is suitable for smaller, more static deployments) or (2) in a database (which is better for larger, dynamic environments). Stork can display reservations coming from both sources and show the source for that reservation. To get the information from a database, the Kea host_cmds hook must be installed.
Stork DHCP Host ReservationsMost production DHCP services require High Availability (HA). Kea HA status is detailed but easy to understand in Stork; the entire widget is color-coded (green/yellow/red) to indicate status at a glance. Details on each server include online status, when it was last in contact with its peer, what the current HA state is, and more. There’s also a link to switch the view between a server and its partner.
Kea HA Status on Kea App Page Kea HA Status on DashboardGlobal Search can look through all data available for an indicated substring. This is particularly useful if you want to look for anything related to an IP or MAC address. You may get a subnet, a reservation, and/or a network. If you search for a specific MAC address or part of one, Stork returns a list of matching reservations.
Stork Global SearchPrometheus and Grafana are well-known solutions for infrastructure monitoring. Stork integrates with Prometheus and Grafana on both the Stork agent side and the Stork web UI.
The Stork agent retrieves statistics from Kea and BIND 9 and exposes them in a format that can be received by Prometheus.
Grafana templates for both Kea DHCPv4 and BIND 9 have been defined.
There is a simple configuration menu where a link to Grafana can be set. If configured, links to specific subnets are shown in the dashboard and the list of subnets.
Stork Kea DHCPv4 Dashboard in Grafana Stork BIND DNS Dashboard in Grafana - named Process Stats Stork BIND DNS Dashboard in Grafana - DNS StatsA context-sensitive menu system has been implemented. It is basic and covers only part of the UI, but we plan to expand it over time.
Stork Help SystemThe main source code repository for Stork is in ISC’s GitLab: https://gitlab.isc.org/isc-projects/stork. It is mirrored on github.
The Stork 0.7.0 source code tarball is available on the ISC downloads page as well as on the ISC FTP server. ISC is also providing RPM and deb binary packages for Stork. They are available in our package repositories on Cloudsmith.
We have set up a stork-users mailing list. We encourage users to test Stork and report back their findings on the mailing list. Issues can also be reported on our GitLab page.
The Stork Administrator Reference Manual is posted on Readthedocs.io.
We have published a gallery of screenshots to let prospective users take a quick look at what they can expect.
We presented a webinar about Stork on May 6, 2020, in which we conducted a live demonstration. This and other recordings are available on the ISC presentations page.
We have prepared a Stork microsite with links to all relevant resources.
Stork has monthly development releases on the first Wednesday of each month (with some exceptions around holidays), although we may delay it a bit for last-minute changes.
Stork is released under the Mozilla Public License, version 2.0: https://www.mozilla.org/en-US/MPL/2.0
The easiest way to install the software is to use native deb or RPM packages. They can be downloaded from:
https://cloudsmith.io/~isc/repos/stork/
The Stork source and PGP signature for this release may be downloaded from:
https://downloads.isc.org/isc/stork
The signature was generated with the ISC code signing key which is available at:
https://www.isc.org/pgpkey
The installation, even if quite simple, is described in details in our documentation: https://stork.readthedocs.io/en/latest/install.html.
We support development of Stork and our other software through the sale of annual support subscriptions. Support for Stork is included with support for the ISC software it manages, Kea DHCP and BIND 9. Our sales team would be happy to give you a live Stork demo, or discuss your BIND and Kea requirements. Contact us for more information.
We are very happy about and proud of the release of Stork. We hope it will help you in monitoring and managing our open source software.
Please let us know how it works for you. Feel free to share your feedback on the stork-users mailing list. We would like to hear whether the documentation is adequate and accurate. Please open tickets in the Stork GitLab project for bugs, documentation omissions and errors, user interface suggestions, and enhancement requests. We want to hear from you even if everything worked.
Thanks again to everyone who assisted us in making this release possible.
We look forward to receiving your feedback.
What's New from ISC