|
Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
|
Dynamic registry for alert rules with hot-reload support. More...
#include <alert_config.h>

Public Types | |
| using | rule_change_callback |
Public Member Functions | |
| common::VoidResult | register_rule (std::shared_ptr< alert_rule > rule) |
| Register a rule. | |
| common::VoidResult | unregister_rule (const std::string &name) |
| Unregister a rule. | |
| std::shared_ptr< alert_rule > | get_rule (const std::string &name) const |
| Get a rule by name. | |
| std::vector< std::shared_ptr< alert_rule > > | get_all_rules () const |
| Get all registered rules. | |
| std::vector< std::shared_ptr< alert_rule > > | get_rules_by_group (const std::string &group) const |
| Get rules in a group. | |
| size_t | rule_count () const |
| Get rule count. | |
| void | on_rule_change (rule_change_callback callback) |
| Register callback for rule changes. | |
| common::Result< size_t > | load_definitions (const std::vector< rule_definition > &definitions) |
| Load rules from definitions. | |
| void | clear () |
| Clear all rules. | |
Private Attributes | |
| std::mutex | mutex_ |
| std::unordered_map< std::string, std::shared_ptr< alert_rule > > | rules_ |
| std::vector< rule_change_callback > | change_callbacks_ |
Dynamic registry for alert rules with hot-reload support.
Manages a collection of alert rules and supports runtime updates without service interruption.
Definition at line 387 of file alert_config.h.
Definition at line 389 of file alert_config.h.
|
inline |
Clear all rules.
Definition at line 530 of file alert_config.h.
References change_callbacks_, mutex_, and rules_.
|
inline |
Get all registered rules.
Definition at line 454 of file alert_config.h.
|
inline |
Get a rule by name.
Definition at line 445 of file alert_config.h.
|
inline |
Get rules in a group.
Definition at line 467 of file alert_config.h.
|
inline |
Load rules from definitions.
| definitions | Vector of rule definitions |
Definition at line 500 of file alert_config.h.
References kcenon::monitoring::rule_builder::build(), kcenon::monitoring::configuration_parse_error, and register_rule().

|
inline |
Register callback for rule changes.
Definition at line 490 of file alert_config.h.
References change_callbacks_, and mutex_.
|
inline |
Register a rule.
| rule | Rule to register |
Definition at line 399 of file alert_config.h.
References change_callbacks_, kcenon::monitoring::invalid_argument, mutex_, and rules_.
Referenced by load_definitions().

|
inline |
Get rule count.
Definition at line 482 of file alert_config.h.
|
inline |
Unregister a rule.
| name | Rule name |
Definition at line 422 of file alert_config.h.
References change_callbacks_, mutex_, kcenon::monitoring::not_found, and rules_.
|
private |
Definition at line 545 of file alert_config.h.
Referenced by clear(), on_rule_change(), register_rule(), and unregister_rule().
|
mutableprivate |
Definition at line 543 of file alert_config.h.
Referenced by clear(), get_all_rules(), get_rule(), get_rules_by_group(), on_rule_change(), register_rule(), rule_count(), and unregister_rule().
|
private |
Definition at line 544 of file alert_config.h.
Referenced by clear(), get_all_rules(), get_rule(), get_rules_by_group(), register_rule(), rule_count(), and unregister_rule().