Oxidized is a network device configuration backup tool. It's a RANCID replacement!
Light and extensible, Oxidized supports more than 120 operating system types.
Feature highlights:
Automatically adds/removes threads to meet configured retrieval interval
Restful API to a move node immediately to head-of-queue (GET/POST /node/next/[NODE])
Syslog udp+file example to catch config change events (IOS/JunOS) and trigger a config fetch
Will signal which IOS/JunOS user made the change, can then be used by output modules (via POST)
The git output module uses this info - 'git blame' will show who changed each line, and when
Restful API to reload list of nodes (GET /reload)
Restful API to fetch configurations (/node/fetch/[NODE] or /node/fetch/group/[NODE])
Restful API to show list of nodes (GET /nodes)
Restful API to show list of version for a node (/node/version[NODE]) and diffsWhile I was searching for a VCS capable RANCID, somewhere under a stone I found Oxidized, a 'silly attempt at rancid'. Looking at it, it seems more sophisticated, so I thought this might be the right attempt. Unfortunately there is no Debian package available, but I found an ITP created by Jonas.
RANCID monitors a router's (or more generally a device's) configuration, including software and hardware (cards, serial numbers, etc) and uses CVS (Concurrent Version System) or Subversion to maintain history of changes.
RANCID does this by the very simple process summarized as:
- login to each device in the router table (router.db),
- run various commands to get the information that will be saved,
- cook the output; re-format, remove oscillating or incrementing data,
- email any differences (sample) from the previous collection to a mail list,
- and finally commit those changes to the revision control system