Merge "Readme update"

This commit is contained in:
Zuul 2024-06-05 15:45:23 +00:00 committed by Gerrit Code Review
commit d4aca260f2

View File

@ -27,16 +27,20 @@ Operational phases
The component comes with a configuration file which can be used to specify the behaviour of the component (eu.morphemic.slo_violation_detector.properties) and a configuration file which is used to configure the AMQP communication (eu.melodic.event.brokerclient.properties). These files are located in the src/main/resources/config directory of the project.
The principal configuration options to be changed before deployment are in the eu.morphemic.slo_violation_detector.properties file which is passed as a runtime argument to the component. They are the `broker_addres`(also the`broker_username` and`broker_password`), the `horizon`, the `number_of_days_to_aggregate_data_from` and the `number_of_seconds_to_aggregate_on`.
The principal configuration options to be changed before deployment are in the eu.morphemic.slo_violation_detector.properties file which is passed as a runtime argument to the component. They are the `broker_address`(also the`broker_username` and`broker_password`), the `horizon`, the `number_of_days_to_aggregate_data_from` and the `number_of_seconds_to_aggregate_on`.
| Parameter | Description | Indicative value |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
|----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------|
| metrics_bounds | A string value which is a csv list of monitoring metrics, and the respective upper and lower bounds which are known for them beforehand. The list contains triplets which are comma separated, while elements of a triplet are separated with semicolons. Each triplet contains the name of the metric, its lowest bound and its highest bound (or the word unbounded if these are not known. If a monitoring metric is not registered here, it will be assumed that it can be assigned any real value from 0 (the lowest bound) to 100 (the highest bound) | avgResponseTime;unbounded;unbounded,custom2;0;3 |
| slo_rules_topic | A string value indicating the name of the topic which will be used to send messages  (to the SLO Violation Detector) containing the SLOs which should be respected by the application. | metrics.metric_list |
| single_slo_rule_active | A boolean value that indicates whether we can have only one slo rule (per application) active or whether multiple rules can be active simultaneously | true |
| assume_slo_rule_is_always_updated | A boolean value that indicates whether the default behaviour is to accept any new rule (per application) as the SLO rule that will prevail over older existing rules | true |
| slo_rules_topic | A string value indicating the name of the topic which will be used to send messages (to the SLO Violation Detector) containing the SLOs which should be respected by the application. | metrics.metric_list |
| broker_ip_url | A string value indicating the url which should be used to connect to the AMQP broker to send and receive messages. | tcp://localhost:61616?wireFormat.maxInactivityDuration=0 |
| broker_port | An integer value indicating the port which should be used to connect to the AMQP broker to send and receive messages. | 5672 |
| broker_username | A string value, which is the username to access the AMQP broker | User1 |
| broker_password | A string value, which is the password to access the AMQP broker | userpassword |
| slo_violation_determination_method | A string value, indicating the method which is used to determine the probability of a possible future  SLO violation. A choice is offered between all-metrics and prconf-delta | all-metrics |
| slo_violation_probability_threshold | A real numeric value, indicating the least threshold to trigger an SLO violation. | 0.1 |
| time_horizon_seconds | An integer value indicating the minimum time interval between two successive reconfigurations that the platform can support | 900 |
| maximum_acceptable_forward_predictions | An integer value indicating the maximum number of forward predictions for which the component will keep data | 30 |
@ -153,7 +157,7 @@ To test the functionality of the component - provided that a working ActiveMQ Br
}
```
To illustrate, in the case that an SLO message identical to the simple SLO example is sent at step 1, then monitoring messages should be sent in step 2 to the `cpu_usage` topic and predicted monitoring messages should be sent in step 3 to the `prediction.cpu_usage` topic. Finally, SLO violations will be announced at the `prediction.slo_severity_value` topic.
The structure which is used for realtime and forecasted settings can be changed as required. However, the code is required to be adapted to parse the related topics (see the values of the topic_prefix_realtime_metrics and topic_prefix_final_predicted_metrics in the Constants class)
### Development