Hi Team,
This issue is to note a few additional features I am working on to expand components.
The goal is to provide all the features that exist ad-hoc across other parts of the system.
- Component Status - Completed
Fix up the component status field to align with Nagios status
NOTE: This will break any alerting rules that currently exist but the only code in master that sets the status field is the Cisco-OTV module.- Change usage of component.status
- As-is: 1=good, 0=bad
- To-be: 0=good, 1=warning, 2=critical - nagios style
- Add component_statuslog table
- Log changes of status, used to create reports - SLA compliance.
- insert on component create and on status update.
-
Component Status WidgetWidget showing a count of components in each state.
- Change usage of component.status
- Purge Deleted Ports
Currently the feature allows direct deletion of components, like ports these should only be marked as deleted until they are manually purged by an admin. This will allow them to com back later if necessary. - DS Storage
Instead of storing the DS name in the poller and graphing modules, let’s store it in the DB against the component.
The tables created for component thresholds will also hold the DS name.
This will let us dynamically do things with RRD’s without relying on DS names embedded in code. - Periodic Storage
Item 3 will provide all the information we need to collect periodic data for a DS such as a ‘last polled’ value or a ‘15 minute average’ value.
These values can then be used for threshold alerting and a wishlist item of mine, ‘top 10’ lists.
Think: The statistic data in the ports table. - Component Thresholds
Components need to be able to store thresholds to be able to use in alerting, something like:
Device -> Edit -> Health for components.
This is dependent on item 1 - Component Status to implement the warning and critical statuses.
Like most things components, this is just a storage mechanism.
It will be up to individual poller modules to check if the DS has exceeded the warning or critical threshold and adjust the status accordingly. - Component Security
Implement Component level security, restricting which components can be accessed by which users.
Like assigning permissions to ports, devices, etc.
Does anyone else have have any features that are exist elsewhere in the system that should be added here?
Aaron