Component - Roadmap

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.

  1. 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 Widget
      • Widget showing a count of components in each state.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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

https://github.com/librenms/librenms/issues/3272

1 Like

A post was merged into an existing topic: Report database schema issues here

Whats the status of SLA reports?

Nothing, nobody has submitted code for SLA reports or reporting in gernal.