Skip to content

ChristianV1977/kea-anterius

Repository files navigation

npm License: MPL 2.0

kea-anterius

  • The Anterius project is developed as part of the Google Summer of Code '18 program, with the objective to create a GUI dashboard for the Kea DHCP server that provides monitoring and configuration capabilities to users.

  • The GUI and base functionality has been adapted from the GLASS dashboard created for ISC DHCP server.

  • Anterius functionality has been modified to support interaction with Kea servers running on remote systems, by incorporating features from the REST API exposed by the Kea Control Agent.

  • Anterius supports monitoring and configuration of both DHCPv4 and DHCPv6 servers (provided they are operational at the selected control agent interface).

  • Anterius is also designed to interface with multiple server host machines by switching between control agent destination addresses.

Features

Dashboard

The home page provides a monitoring dashboard for the connected server that compiles realtime statistics and critical operating information:

  • Current Kea Server Hostname
  • Operational status of Kea servers (DHCP v4/v6) and current selection.
  • DHCP Leases per second / minute
  • Total Active Leases
  • Shared Network Distribution & Utilization
  • Subnet Distribution & Utilization

anterius_screenshots

Network Information

  • A detailed information page can be viewed for each individual shared network and subnet defined by the server that provides entity specific data such as utilization, pools, total, assigned and available no. of leases.

anterius_screenshots

anterius_screenshots

  • Page also presents tables listing the Host Reservations defined in n/w configuration and Lease Information for currently active leases from the network. Shared network page includes a list of subnets contained in the network.

anterius_screenshots

anterius_screenshots

DHCP Config Management

  • The DHCP configuration interface can be used to view and make modifications to the current server config file.

anterius_screenshots

  • Config changes can be validated with the server thru the CA API to test for errors.

anterius_screenshots

  • Updated and validated config files can be applied to the server if confirmed by the user.

anterius_screenshots

  • Anterius also provides a feature to apply configuration changes for specific networks entities (subnet/shared-network) accessible thru the edit config button available in the network detailed info pages.

anterius_screenshots

anterius_screenshots

  • Config modifications can be reviewed from the File Editor tab where changes are highlighted.

anterius_screenshots

  • Config page also provides an option to save a snapshot of the current config file which can be accessed as depicted below.

DHCP Config Snapshots

  • The Snapshot centre provides admins features like viewing previously created config checkpoints and also validate and restore the config files with user confirmation.

anterius_screenshots

DHCP Server Boot Operations

  • Anterius provides a server operation management page to execute start / stop / restart commands for DHCP v4/v6 servers. (Please note this feature is only supported for a local machine server until these commands are added to the Control Agent API)

anterius_screenshots

Kea Log Streaming

  • Anterius includes a Log streaming page displays the syslogd output from Kea servers in real-time allowing admins to review and save logs to a text file. (Please note this feature is only supported for a local machine server, remote log streaming feature is planned to be added in a future release)

anterius_screenshots

Anterius Alerting

  • The alerting function allows admins to set custom thresholds for subnet and shared network utilization

anterius_screenshots

  • Alert Levels:

    • Default 80 (Warning)
    • Default 95 (Critical)
  • Alert Delivery Methods

    • E-Mail
    • SMS

Installation

(Instructions for Debian/Ubuntu based systems)

Install NodeJS (primary dependency)

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

Install Anterius

  • Clone source code from Github
git clone https://github.com/isc-projects/kea-anterius.git
cd kea-anterius
  • Install node modules and run
sudo npm install
sudo npm start

Configuration with Kea Server

  • Anterius interface can be configured to work with a Kea server instance running either on a remote system or the local machine.

  • This characteristic is dependant on the address parameter set for the Kea Control Agent that provides API access to the server.

  • To run the Kea Server with its default configuration or specified config file, use the kea control command as shown:

~$ keactrl start -s dhcp4  
~$ keactrl start -s dhcp4 -c /path/to/kea-dhcp4.conf 
  • Activate the Kea Control Agent using the following command (change -c conf file path if required):
~$ kea-ctrl-agent -c /usr/local/etc/kea/kea-ctrl-agent.conf
  • Check status of Kea DHCPv4 and Kea Control Agent (both must be active) using the command:
~$ keactrl status
  • Kea Control Agent(CA) runs on port 8000 by default, defined in the CA config file. Please refer to the Kea Control Agent Documentation for setting CA parameters and addtional info.

anterius_screenshots

  • To select server host machine, browse to the Anterius Settings option from the menu and select from the list of available hostnames.

  • Navigate to the Kea Hostname List in the settings page to add/edit/delete server host machine details.

    • For local server (default mode), set address = localhost:8000
    • For remote server, set address = <public_ip:port>

About

This is a GSoC project to create a GUI dashboard for Kea

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 76.9%
  • HTML 17.2%
  • CSS 3.0%
  • Python 2.6%
  • Shell 0.3%