Correlator
A single instance of the correlator is active at any given time, consuming classified traps from the RabbitMQ queue dashboard.correlators.
Execution
The correlator process is started by executing the correlator shell script:
Usage: correlator [OPTIONS]
Options:
--hostname TEXT RabbitMQ hostname [['test-dashboard-
storage01.geant.org', 'test-dashboard-
storage02.geant.org', 'test-dashboard-
storage03.geant.org']]
--monitoring TEXT monitoring requests exchange name
[mon.requests]
--classified TEXT classification pub/sub exchange name
[dashboard.classified]
--correlators TEXT correlators worker queue name
[dashboard.correlators]
--notifications TEXT external notifications pub/sub exchange name
[dashboard.external.notifications]
--state TEXT external alarm/endpoint state pub/sub
exchange name [dashboard.alarms.broadcast]
--state_freq INTEGER post correlation service polling frequency
[60] (seconds)
--username TEXT RabbitMQ username [dashboard]
--password TEXT RabbitMQ user password [password]
--vhost TEXT RabbitMQ vhost [/dashboard]
--alarmsdb_hostname TEXT alarms db hostname [test-dashboard-
storage01.geant.org]
--alarmsdb_port INTEGER alarms db port [3306]
--alarmsdb_name TEXT alarms db name [alarms]
--alarmsdb_migration_username TEXT
alarms db migrations username [alchemy]
--alarmsdb_migration_password TEXT
alarms db migrations user password [alchemy-
secret]
--alarmsdb_username TEXT alarms db username [dboard_dev]
--alarmsdb_password TEXT alarms db user password [dboard-super-
secret]
--cachedb_hostname TEXT alarm cache db hostname [test-dashboard-
storage03.geant.org]
--cachedb_port INTEGER alarm cache db port [3306]
--cachedb_name TEXT alarm cache db name [alarms_cache]
--cachedb_username TEXT alarm cache db username [dboard]
--cachedb_password TEXT alarms cache db user password [cache-secret]
--watchdog INTEGER watchdog check frequency in seconds (no
watchdog if unset)
--timeout INTEGER number of seconds without traps to indicate
error [60]
--activation_delay INTEGER Activation delay (seconds) [60]
--short_lived_threshold INTEGER
Short-lived threshold (seconds) [60]
--timeout_reconnect / --no-timeout_reconnect
reconnect to rmq if no traps received in 20
seconds [True]
--post_correlation_service_freq INTEGER
post correlation service polling frequency
[30] (seconds)
--gui_base_url TEXT gui base url
[http://localhost:8989/dashboardV3-web/]
--help Show this message and exit.
Architecture
The correlator uses 3 fundamental data types:
And here’s some documentation related to correlation-specific algorithms and the special data structures that support them: