Project

corona

0.01
No commit activity in last 3 years
A long-lived project that still receives updates
Threaded SNMP poll based network discovery. Devices are stored in SQL
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 0.3
~> 5.10
~> 3.6
~> 1.2
~> 1.4
 Project Readme

About

Corona sends SNMP queries to defined CIDR ranges and populates SQL database based on nodes found. Some particular problems it tries to deal with:

  • Only discover one node once
  • To that effect it has priority list of idDescr lo0.0, loopback0, vlan2 etc. Higher priority will always replace lower priority interface (say you have MGMT in loop0 but giga0/2.42 has valid MGMT address towards L2 metro)
  • Tries to handle gracefully renumbering, renaming, etc

Install

  1. gem install corona
  2. corona
  3. ^C (break it)
  4. edit ~/.config/corona/config
  5. put corona in crontab as corona|mail -E -s 'new nodes found' foo@example.com

Config

  • You need to configure SNMP community
  • You need to define CIDR to poll and CIDRs to ignore (subset of those you poll)
  • CIDR in example config is list, but can be replaced with 'string' which points to file, where CIDRs are listed

Use

[fisakytt@lan-login1 ~/projects/corona]% corona --help
Usage: corona [options] [argument]
    -d, --debug           Debugging on
    -p, --poll            Poll CIDR [argument]
    -r, --remove          Remove [argument] from DB
    -m, --max-delete      Maximum number to delete, default 1
    -o, --purge-old       Remove records order than [argument] days
    -s, --simulate        Simulate, do not change DB
    -h, --help            Display this help message.

% corona -p 192.0.2.0/28   # poll specific CIDR
% corona -r core-sw1       # remove specific record
% corona -o 7              # remore records older than 7 days