1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# Pitch
* automatically adds/removes threads to meet configured retrieval interval
* can move node immediately to head-of-queue (maybe trigger from snmp trap or syslog), to be serviced by next spawned thread
# Install
early days, but try to run it and edit ~/.config/oxidized/config
# API
## Input
* gets config from nodes
* must implement 'connect', 'get'
* 'ssh' and 'telnet' implemented
## Output
* stores config
* must implement 'update'
* 'git' and 'file' (store as flat ascii) implemented
## Source
* gets list of nodes to poll
* must implement 'load'
* source can have 'name', 'model', 'group', 'username', 'password', 'input', 'output', 'prompt'
* name - name of the devices
* model - model to use ios/junos/xyz, model is loaded dynamically when needed (Also default in config file)
* input - method to acquire config, loaded dynamically as needed (Also default in config file)
* output - method to store config, loaded dynamically as needed (Also default in config file)
* prompt - prompt used for node (Also default in config file, can be specified in model too)
* 'sql' and 'csv' (supports any format with single entry per line, like router.db)
## Model
* lists commands to gather from given device model
* can use 'cmd', 'prompt', 'comment', 'cfg'
* cfg is executed in input/output/source context
* cmd is executed in instance of model
* 'junos' and 'ios' implemented
|