Open dcthor opened 1 year ago
I think we should:
I'm working on switchmap-ng v2. I have a tracking issue here: https://github.com/PalisadoesFoundation/switchmap-ng/issues/129. This is where I'm putting my focus.
OK re: no "subzones"
An idea (brainstorming) for a new "sites.yaml" file:
sitelist:
- site: SITE-NAME-A
hosts:
- hostname1
- hostname2
- hostname3
- site: SITE-B
hosts:
- hostnameA
- hostnameB
- hostnameC
Q's:
main.hostnames.[]
array? (see below)main:
hostnames:
- hostX
- hostY
sitefiles:
- sites.yaml
- sites-2.yaml
For aliases... would we put that in the same sitelist array, or a separate file which host/alias pairs?
The current code ingests all .yaml
files in the configuration directory and combines them into a single configuration dict
.
I think zone
is a better representative name, as there may be a logical distinction to consider (eg. multiple VLAN zones at a site with overlapping VLAN numbers)
I'm working on v2 of switchmap with a database backend. It will have three daemons, a poller, a database server running an API, and a web server. This could be the way we setup the configuration.
main:
agent_subprocesses: 20
system_directory: directory
log_level: debug
username: peter
poller:
polling_interval: 21600
zones:
- zone: SITE-NAME-A
hostnames:
- hostname1
- hostname2
- hostname3
- zone: SITE-B
hostnames:
- hostnameA
- hostnameB
- hostnameC
snmp_groups:
- group_name: CISCO
snmp_authpassword: password
snmp_authprotocol: sha
snmp_community: null
snmp_port: 161
snmp_privpassword: password
snmp_privprotocol: aes
snmp_secname: name
snmp_version: 3
server:
bind_port: 7000
listen_address: localhost
db_host: localhost
db_name: switchmap
db_user: switchmap
db_pass: password
dashboard:
bind_port: 7001
listen_address: localhost
pulling in all files from the /etc folder ---> Awesome!
Zones instead of Sites --> Yup, totally makes sense.
I like your alternative yaml, especially the idea of having separate sections for main/poller/server/dashboard. Suggest "server" be renamed something like "dbserver" for clarity.
Q about agent_subprocesses
- shouldn't that be moved to the appropriate section (main/poller/server/dashboard) ?
In the new design all the daemons will use multiprocessing to increase performance. It needs to be in the core section for now.
For ease of configuration a single location is better than three.
I'm also thinking that we may need to give zones numbers so that we can configure a poller to only poll from specified zones. What do you think, too complex?
Would like the option of having the config file's
main.hostnames.[]
array in a separate file. This would do a couple things: