Skip to content

Collect and version the configurations of your network devices in git. Also, receive mail notifications when changes occur.

License

Notifications You must be signed in to change notification settings

cfra/configuroscope

Repository files navigation

Configuroscope
--------------

This software allows to automatically download configurations of various
(networking) devices. It keeps track of the device configurations in a
git repository, thus providing both a recent backup of the device configs
and a historic record of them.
Additionally, whenever a configuration change occurs, it will send out an
email showing a diff between old and new config.

Usage
-----

There is no need to "install" this anywhere deeply into your system.
Just clone the git repo/download a tarball and extract where you want
it to run.

Besides a standard python installation and an OpenSSH client, you currently
need pexpect and (sorry, but I wrote that part in C, you are welcome to write
an alternate python implementation) a C-Compiler as well as development
headers for libevent.

Then, run 'make -C backends/utils', to compile that tiny C program the
software currently relies on.

Have a look at settings.py.sample and create your own settings.py file.

This should be all there is to it. You can run ./host_config to test whether
fetching of a host's configuration works. And you can run ./host_group_config
to fetch the configs of all hosts in a specific group to a local directory.

When you are happy with the results, you may consider adding the cronjob
script to your crontab, so it will regularly backup all hosts and send you
emails whenever something changes.

Supported Devices
-----------------

The support for devices is currently pretty limited, so it is likely you
will have to add support for your paricular device yourself.

  - AirOSBackend - Ubiquity AirOS backend, developed and tested with a
    Nanostation M5 and M2
  - OpenwrtBackend - OpenWRT backend using sysupgrade -b
    (Requires sysupgrade with -b and hexdump on the openwrt host)
  - ProcurveBackend - Procurve/HP Networking backend, developed and tested
    with an old HP2524, may or may not work with other devices.

There is also currently one notifier module which supports sending of passive
check results for each host to a nagios/icinga instance. Its usage is of course
optional.

Notifiers
---------

You can setup notifiers for each host, e.g. allowing your monitoring system
to keep track of the backups.

  - NSCANotifier - submits information about the config backup to your
    icinga/nagios using the send_nsca tool. It allows you to have a passive
    check which monitors that config backups are up to date.

About

Collect and version the configurations of your network devices in git. Also, receive mail notifications when changes occur.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published