We will shortly be upgrading this wiki site. Please find out more information: HERE
Skip to end of metadata
Go to start of metadata

NMaaS supports on-demand deployment of a set of tools.

 

1. NMaaS Tool deployment process

A basic set of steps required to deploy an instance of an NMaaS application is the following:

  1. Log in to NMaaS Portal
  2. Choose application from the market
  3. Request deployment and provide a custom name for the new instance
  4. Follow the automated installation steps
  5. Provide basic configuration for the new instance through a custom wizard
  6. Wait for the application deployment and verification process to complete
  7. Access the application UI following unique URL


The whole process shouldn't take more than several minutes. 

2. NMaaS Tool configuration process

During the tool deployment process user is asked to fill in a form and provide basic configuration data for the new tool instance. 

This data might comprise default user credentials, IP addresses of devices to be monitored and/or requested storage space to persist monitoring data.

For some of the tools this data provided by the user is used to populate tool specific configurations files that are later on uploaded to a dedicated Git repositories (a new repository is created for each tool instance).

From this point any change to the configuration of a running tool instance should be done following these steps:

  1. Open tool instance page and view the Git clone link displayed after clicking the Update configuration button,
  2. Use the command to clone the repository locally using the SSH key provided beforehand.
  3. Apply desired modifications, commit and push altered files back to the remote repository.
  4. Wait for a couple of minutes in order for the new configuration to be loaded and applied by the tool instance.

Note: Git repositories are hosted on a dedicated private GitLab instance operated by the NMaaS Team.

Note: User should upload his public SSH key on his Profile page before deploying a new instance of a tool to be able to clone the Git repository afterwards.


3. NMaaS Tool portfolio

Currently the portfolio consists of 17 applications but is being extended with new ones.



3.1. Oxidized

Oxidized is a simple open-source device configuration backup tool exposing a web-based GUI

Configuration wizard

Configuration parameters to be provided by the user

Base tab

  • Oxidized access username - Username to be used to access the Oxidized user interface (HTTP basic auth)
  • Oxidized access password - Password to be used to access the Oxidized user interface (HTTP basic auth)
  • Device access username - Username to be used by Oxidized to connect to the monitored device with SSH (to be configured on the device)
  • Device access password - Password to be used by Oxidized to connect to the monitored device with SSH (to be configured on the device)
  • Device (IP address) - List of IPv4 addresses of devices to be monitored by this Oxidized instance

Multiple devices can be configured by using the Add device button.

Advanced tab

  • Storage space (GB) [Optional] - Amount of storage to be allocated to persist data generated by this Oxidized instance (default value is displayed in the placeholder, in this case 1 Gigabyte), e.g. 1, 2 or 3.

Configuration update

Oxidized allows for updating tools configuration during runtime. User should follow the steps described in NMaaS Tool configuration process section.

Inside the repository two files are being created by default, namely config and router.db, and are placed in base directory.

If a new device model needs to be specified the dedicated model description files should be placed in model directory.


3.2. LibreNMS

LibreNMS is an auto-discovering PHP/MySQL/SNMP based network monitoring system which includes support for a wide range of network hardware and operating systems

Configuration wizard

Configuration parameters to be provided by the user

Base tab

  • Default username - Username to be used to access the LibreNMS user interface
  • Default user password - Password to be used to access the LibreNMS user interface
  • Default user email [Optional] - Email address of the user configured by default in the application
  • Device (IP address) - IPv4 address of device to be monitored by this LibreNMS instance 
  • SNMP community - Community to be used by LibreNMS to pool data from the device to be monitored
  • SNMP version - Version of SNMP available on the device to be monitored

Multiple devices can be configured by using the Add device button.

Advanced tab

  • Storage space (GB) [Optional] - Amount of storage to be allocated to persist data generated by this LibreNMS instance (default value is displayed in the placeholder, in this case 20 Gigabytes), e.g. 10, 20 or 30.


3.3. NAV

Network Administration Visualized (NAV) is an advanced software suite to monitor large computer networks. It automatically discovers network topology, monitors network load and outages, and can send alerts on network events by e-mail and SMS.

Configuration wizard

Configuration parameters to be provided by the user

Additional tab

  • Admin email [Optional] - Default NAV administrator email address
  • Default sender email [Optional] - Default email address to be used as sender address for email notifications

Multiple devices can be configured by using the Add device button.

Advanced tab

  • Storage space (GB) [Optional] - Amount of storage to be allocated to persist data generated by this NAV instance (default value is displayed in the placeholder, in this case 20 Gigabytes), e.g. 10, 20 or 30.


3.4. Prometheus

Prometheus is an open-source systems monitoring and alerting toolkit.

Configuration wizard

Configuration parameters to be provided by the user

Base tab

  • Prometheus access username - Username to be used to access the Prometheus user interface (HTTP basic auth)
  • Prometheus access password - Password to be used to access the Prometheus user interface (HTTP basic auth)
  • Global scrape* [Optional] - "How frequently to scrape targets by default"
  • Global evaluation* [Optional] - "How frequently to evaluate rules"
  • Job name* - "The job name assigned to scraped metrics by default"
  • Scrape internal* - "How frequently to scrape targets from this job"
  • Metrics path* - "The HTTP resource path on which to fetch metrics from targets"
  • Targets / IP address and port* - "The targets specified by the static config" (multiple allowed)
  • Labels / Label name & Label value* [Optional] - "Labels assigned to all metrics scraped from the targets" (multiple allowed)

Multiple jobs can be configured by using the Add job button.

Target is a valid string consisting of a hostname or IP followed by an optional port number.

For detailed description of the above parameters marked with * please refer to Prometheus online documentation. 

Additional tab

  • Retention data size [Optional] - The size of storage space up to which the monitoring data should be retained (default value is displayed in the placeholder, in this case 18 Gigabytes), e.g. 18GB, 25GB or 30GB.
  • Retention period [Optional] - The time period for which the monitoring data should be retained (default value is displayed in the placeholder, in this case 15 days), e.g. 15d, 25d or 35d.

The value of Retention data size should be kept lower than the value of requested Storage space.

Advanced tab

  • Storage space (GB) [Optional] - Amount of storage to be allocated to persist data generated by this Prometheus instance (default value is displayed in the placeholder, in this case 20 Gigabytes), e.g. 10, 20 or 30.

Prometheus allows for updating the configuration of an already running instance. A configuration update wizard is launched by the Update button available on the application instance details page.


3.5. Grafana

Grafana is an open source, feature rich metrics dashboard and graph editor for Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB.

Configuration wizard

Configuration parameters to be provided by the user

Base tab

  • Prometheus admin username - Username to be used to access the Grafana user interface
  • Prometheus admin password - Password to be used to access the Grafana user interface
  • Connect to existing Prometheus instance [Optional] - Checkbox. If selected, additional fields are displayed allowing to provide information about a Prometheus instance that should be added as a default data source in Grafana 
  • NMaaS Prometheus instance / External Prometheus instance - Switch between the type of Prometheus instance that should be used as the data source
  • Data source name - The custom data source name that will be assigned to this Prometheus instance
  • Select Prometheus instance (if NMaaS Prometheus instance is selected) - Pick list allowing to select an instance of Prometheus deployed and already running in the same domain as the Grafana being configured
  • Prometheus instance address (if External Prometheus instance is selected) - URL of the standalone Prometheus instance to be used

Additional tab

  • SMTP host [Optional] - The hostname or IP (followed by optional port number) of the SMTP server to be used to send out email notifications. By default it is set to a Postfix instance running locally within the Kubernetes cluster and shared among all the services.
  • SMTP username [Optional] - Username for authorization on the SMTP server (if required)
  • SMTP user password [Optional] - Password for authorization on the SMTP server (if required)

The value of Retention data size should be kept lower than the value of requested Storage space.

Advanced tab

  • Storage space (GB) [Optional] - Amount of storage to be allocated to persist data generated by this Grafana instance (default value is displayed in the placeholder, in this case 1 Gigabyte), e.g. 1, 2 or 3.


3.6. Bastion

Ubuntu-based bastion server deployed in a customer domain has VPN access to all the monitored devices.

Configuration wizard

Configuration parameters to be provided by the user

Base tab

  • SSH keys (comma separated) - A list of SSH keys to be added on the Bastion at startup

Advanced tab

  • Storage space (GB) [Optional] - Amount of storage to be allocated to persist data generated by this Bastion instance (default value is displayed in the placeholder, in this case 5 Gigabyte), e.g. 1, 2 or 3.


3.7. Booked

A web-based calendar and resource scheduling system that allows administered management of reservations on any number of resources.

Configuration wizard

Configuration parameters to be provided by the user

Base tab

  • Administrator email address - An email address to be used during first login
  • Enable email notifications [Optional] - Checkbox. If selected, email notification generated by Booked are enabled.
  • Enable user registration [Optional] - Checkbox. If selected, new users are allowed to register.
  • Enable use of Booked API [Optional] - Checkbox. If selected, the API is enabled.

Advanced tab

  • Storage space (GB) [Optional] - Amount of storage to be allocated to persist data generated by this Booked instance (default value is displayed in the placeholder, in this case 1 Gigabyte), e.g. 1, 2 or 3.


3.8. Statping

An easy to use Status Page for websites and applications.

Configuration wizard

Configuration parameters to be provided by the user

Base tab

  • Statping admin username - Username to be used to access the Statping user interface
  • Statping admin password - Password to be used to access the Statping user interface

Advanced tab

  • Storage space (GB) [Optional] - Amount of storage to be allocated to persist data generated by this Statping instance (default value is displayed in the placeholder, in this case 2 Gigabyte), e.g. 1, 2 or 3.


3.9. Debian repository

Debian repository based on Reprepro is a tool for managing APT repositories.

Configuration wizard

Configuration parameters to be provided by the user

Base tab

  • SSH keys (comma separated) - A list of SSH keys to be added on the repository at startup

Advanced tab

  • Storage space (GB) [Optional] - Amount of storage to be allocated to persist data generated by this repository instance (default value is displayed in the placeholder, in this case 5 Gigabyte), e.g. 1, 2 or 3.


3.10. SPA Inventory

A database for storing information about topology resources and service instances that offers TMF Open APIs for standardised access (developed within the GÉANT project).

Configuration wizard

Configuration parameters to be provided by the user

Base tab

  • Inventory access username - Username to be used to access the Inventory user interface and REST API
  • Inventory access password - Password to be used to access the Inventory user interface and REST API

Advanced tab

  • Storage space (GB) [Optional] - Amount of storage to be allocated to persist data generated by this Inventory instance (default value is displayed in the placeholder, in this case 1 Gigabyte), e.g. 1, 2 or 3.


3.11. pSConfig Web Admin (perfSONAR)

pSConfig Web Admin is a web-based UI for perfSONAR administrators to define and publish MeshConfig/pSConfig meshes.

Configuration wizard

Configuration parameters to be provided by the user

Base tab

  • Default username - Username to be used to access the PWA user interface
  • Default password - Password to be used to access the PWA user interface
  • Default email - Email address of the user configured by default in the application

Advanced tab

  • Storage space (GB) [Optional] - Amount of storage to be allocated to persist data generated by this PWA instance (default value is displayed in the placeholder, in this case 1 Gigabyte), e.g. 1, 2 or 3.


3.12. MaDDash (perfSONAR)

MaDDash is a tool for collecting large amounts of inherently two-dimensional data and presenting it in visually useful ways.

Configuration wizard




3.13. Esmond (perfSONAR)

Esmond is a system for collecting, storing, visualizing and analysing large sets of timeseries data.

Configuration wizard




3.14. perfSONAR Central Management

A set of perfSONAR central management components comprising psConfig Web Admin, MaDDash and Esmond.

Configuration wizard




3.15. InfluxDB

InfluxDB is an open-source time series database (TSDB) developed by InfluxData.

Configuration wizard




3.16. Jenkins

Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.


Configuration wizard




3.17. ELK Stack

"ELK" is the acronym for three open source projects: Elasticsearch, Logstash, and Kibana.

Elasticsearch is a search and analytics engine.

Logstash is a server‑side data processing pipeline that ingests data from multiple sources simultaneously, transforms it, and then sends it to a "stash" like Elasticsearch.

Kibana lets users visualize data with charts and graphs in Elasticsearch.

Configuration wizard




3.18. WiFiMon

WiFiMon is a WiFi network monitoring and performance verification system.

It is capable of detecting performance issues, to visualise the workload of the network, and to provide technical information about the WiFi network (e.g. signal strength, link quality, bit rate, etc.).


Additional installation information

The final installation step requires loading the appropriate Kibana visualizations and dashboards:

  1. Download file "kibana-import-v150.ndjson" from http://83.97.95.167/deb/kibana-import-v150.ndjson
  2. In Kibana UI, select "Management -> Stack Management" from the menu on the left
  3. Select "Kibana -> Saved Objects"
  4. Select "import" and upload file "kibana-import-v150.ndjson"


Configuration wizard




3.19. Icinga2

Icinga 2 is a monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting.

Scalable and extensible, Icinga can monitor large, complex environments across multiple locations.

Icinga 2 is the monitoring server and requires Icinga Web 2 on top in your Icinga Stack, which is already included as part of the NMaaS deployment.

The configuration can be easily managed with either the Icinga Director, config management tools or plain text within the Icinga DSL.

Configuration wizard




3.20. Victoria Metrics

VictoriaMetrics is a highly scalable high-performance database that can be used as an external long-term storage for Prometheus metrics.

It can also completely replace Prometheus and perform the polling by itself, using a configuration format that is compatible with existing Prometheus deployments.

Apart from Prometheus, it can also substitute InfluxDB, OpenTSDB, and Graphite, as a result of providing compatible interfaces for these protocols. <

Stored metrics can be easily visualized by Grafana, by adding the VictoriaMetrics instance as a Prometheus datastore.

No matter what protocol is used to store data in VictoriaMetrics, it is queried using the same web endpoint, and only a single datasource is required in Prometheus.

Another feature of VictoriaMetrics is to use advanced PromQL expressions, not available in the Prometheus implementation.

More details about this can be obtained from the official documentation page.

Configuration wizard




3.21. Synapse

Matrix is an open and secure instant messaging protocol providing rich functionality.

Synapse is an open-source server implementing the Matrix protocol.

Element (formerly Riot) is an open-source web-client that can connect to any accessible Matrix server.

Configuration wizard




3.22. Routinator

Routinator is a full-featured software package that can perform RPKI validation as a one-time operation and produce the result in formats such as CSV, JSON and RPSL, or run as a service that periodically downloads and verifies RPKI data.

Routinator offers an RTR server allowing routers supporting Origin Validation (port 3323) to connect to it to fetch verified RPKI data.

The built-in HTTP server offers a user interface and endpoints for the various file formats, as well as logging, status and Prometheus monitoring.

Configuration wizard




3.23. CodiMD

CodiMD lets you collaborate in real-time with markdown.

It is an open-source version of the popular HackMD software, letting you host and control your team's content with speed and ease.

Configuration wizard




3.24. WebDAV

This application represents a simple WebDAV server which can accept remote files.

During the deployment process, the user can also choose whether the uploaded files should be versioned using Git.

Three deployments options are possible:

  1. Do not use Git for file versioning;
  2. Initiate a local Git repository for file versioning which can be browsed using an embedded Git web interface;
  3. Integrate with a remote Git repository (e.g. GitHub) and automatically push any uploaded file to the remote git repository.

In case the third option is chosen, users are required to set up an SSH key pair which will have push access to the target repository.

The target repository URL also must be given in an SSH format during application deployment, e.g. git@host.example.com/username/myrepo.






Configuration wizard




3.25. Uptime Kuma

Uptime Kuma is an open-source uptime monitoring application allowing users to set up alerts for their infrastructure.

It support multiple monitor types, including: HTTP/HTTPs, TCP Port, Ping, DNS and certificate expiry.

Users can set granular alerts using one of the many supported social services.

Public status pages are also supported, with the option of communicating maintenance windows and incidents.

Configuration wizard




3.26. NetBox

NetBox is an infrastructure resource modeling (IRM) application designed to empower network automation.

Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers.

It encompasses the following aspects of network management:

  • IP address management (IPAM) - IP networks and addresses, VRFs, and VLANs
  • Equipment racks - Organized by group and site
  • Devices - Types of devices and where they are installed
  • Connections - Network, console, and power connections among devices
  • Virtualization - Virtual machines and clusters
  • Data circuits - Long-haul communications circuits and providers

Configuration wizard




3.27. Zabbix

Zabbix is a mature and effortless enterprise-class open source monitoring solution for network monitoring and application monitoring of millions of metrics.

The Zabbix application included in the NMaaS catalog uses TimescaleDB for better performance.

After deployment, use the default Admin/zabbix credentials to login.


3.28. SPA

SPA for the E-Line service

The Service Provider Architecture (SPA) is a service management digital platform providing the general processes and components necessary to manage the CSP services via a user-friendly web graphical user interface (Self-Service Portal).

The platform in NMaaS has been prepared to manage E-Line service (L2 end-to-end connectivity) implemented by the OpenNSA application with a test default configuration and virtual simplified network topology. Users can familiarize with the SPA without the need of setting up the platform from the scratch.

Just log in to the portal and start creating new circuits in a simple network to see how it works.

The built-in credentials for particular services.

Service nameUserPassword
Portaladminadmin123
OTRSserviceadmin serviceadmin 
SuiteCRMroot root123
Inventoryinventoryinventory

More info: https://wiki.geant.org/display/NETDEV/SPA

  • No labels