SaneiSaya / docker-eNMS

An enterprise-grade vendor-agnostic network automation platform.
https://www.enms.io/
GNU General Public License v3.0
2 stars 1 forks source link

eNMS

An enterprise-grade vendor-agnostic network automation platform.

If you are looking for Docker Intructions go here https://github.com/SaneiSaya/docker-eNMS/wiki

Introduction

eNMS is a vendor-agnostic NMS designed for building workflow-based network automation solutions.

eNMS

It encompasses the following aspects of network automation:

Architecture

eNMS System Overview


Main features

1. Network creation

Your network topology can be created manually or imported from an external Source of Truth (OpenNMS, LibreNMS, or Netbox). Once created, it is displayed in a sortable and searchable table. A dashboard provides a graphical overview of your network with dynamic charts.

Inventory Dashboard
Inventory Dashboard

2. Network visualization

eNMS can display your network on a world map (Google Map or Open Street Map). Each device is displayed at its GPS coordinates. Network topology diagrams can be created using devices and links from inventory, and adding labels for clarity.

Geographical View Network Builder
Geographical View Network Builder

3. Service creation

eNMS comes with a number of "default services" leveraging libraries such as ansible, requests, netmiko, napalm to perform simple automation tasks. However, absolutely any python script can be turned into a service. If your python script takes input parameters, eNMS will automatically generate a form in the web UI.

Services can be combined into a workflow.

Workflow Builder

5. Configuration Management

eNMS can be used as a device configuration backup tool, like Oxidized/Rancid, with the following features:

Search Configuration Compare Configuration
Search History

6. Event-driven automation

While services can be run directly and immediately from the UI, you can also schedule them to run at a later time, or periodically by defining a frequency or a CRON expression. All scheduled tasks are displayed in a calendar.

Calendar

Services can also be executed programmatically: eNMS has a REST API and a CLI interface that can be used to create, update and delete any type of objects, but also to trigger the execution of a service.


Getting started

Online content

You can follow us on Twitter or Linkedin to receive notifications about new training content and releases.

Training Videos

Podcasts

Quick Install

Install python 3.8+ (earlier versions not supported)
git clone https://github.com/afourmy/eNMS.git
cd eNMS
pip3 install -r build/requirements/requirements.txt
export FLASK_APP=app.py
flask run --host=0.0.0.0
Log in (default credentials: admin / admin)

Docker Install

Installation instructions are in the wiki on this repo https://github.com/SaneiSaya/docker-eNMS/wiki