Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com> Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
4.7 KiB
Monitoring coverage
Multiple factors define the monitoring coverage to simulate common customer use cases. The overall matrix configuration of all combined targets, sources and scopes is located at: https://github.com/opentelekomcloud-infra/stackmon-config/blob/main/config.yaml
Monitored targets
- EU-DE
- EU-NL
- EU-CH2 (Swisscloud)
Monitoring sources
- Inside OTC (eu-de, eu-ch2)
- Outside OTC (Swisscloud)
Scope of monitoring
- Endpoints and HTTP query requests
- all services
- multiple GET queries
- Static Resources
- not yet in SD2
- specific services
- availability of the resource or resource functionality
- Global resources
- not yet in SD2
- OTC console
- OTC docs portal
- OTC public site
Example of monitoring coverage:
# Mapping of environments to test projects
- env: production_eu-de
monitoring_zone: eu-de
db_entry: apimon.apimon
plugins:
- name: apimon
schedulers_inventory_group_name: schedulers
executors_inventory_group_name: executors
tests_project: apimon
tasks:
- scenario1_token.yaml
- name: epmon
epmon_inventory_group_name: epmon_de
cloud_name: production_eu-de # env in zone has few creds. We need to pick one
config_elements:
- antiddos
- antiddos_skip_bad_type
- as
- as_skip_v1
- bms_skip
- cce_skip_unver
- cce
- ces
- ces_skip_v1
- compute
- css
- cts_skip_unver
- cts
- data_protect_skip
- database_skip
- dcs
- dcs_skip_v1
- dds
- deh
- dis_skip_unver
- dis
- dms
- dms_skip_v2
- dns
- dws
- dws_skip_v1
- identity
- image
- kms_skip_unver
- kms
- mrs
- nat
- network
- object_skip
- object_store
- orchestration
- rds_skip_unver
- rds_skip_v1
- rds
- sdrs
- sfsturbo
- share
- smn
- smn_skip_v2
- volume_skip_v2
- volume
- env: production_eu-nl
monitoring_zone: eu-de
db_entry: apimon.apimon
plugins:
- name: apimon
schedulers_inventory_group_name: schedulers
executors_inventory_group_name: executors
#epmons_inventory_group_name: epmons
tests_project: apimon
tasks:
- scenario1_token.yaml
- name: epmon
epmon_inventory_group_name: epmon_de
cloud_name: production_eu-nl # env in zone has few creds. We need to pick one
config_elements:
- antiddos
- antiddos_skip_bad_type
- as
- as_skip_v1
- bms_skip
- cce_skip_unver
- cce
- ces
- ces_skip_v1
- compute
- css
- cts_skip_unver
- cts
- data_protect_skip
- database_skip
- dcs
- dcs_skip_v1
- dds
- deh
- dis_skip_unver
- dis
- dms
- dms_skip_v2
- dns
- dws
- dws_skip_v1
- identity
- image
- kms_skip_unver
- kms
- mrs
- nat
- network
- object_skip
- object_store
- orchestration
- rds_skip_unver
- rds_skip_v1
- rds
- sdrs
- sfsturbo
- share
- smn
- smn_skip_v2
- volume_skip_v2
- volume
Parameter "env" defines what is the target for monitoring (which region is to be monitored).
Parameter "monitoring_zone" defines the source of monitoring (from which region the monitoring will be triggered)
As Cloudmon is plugin based framework there's possibility to add as many plugins as required. Currently 2 plugins are enabled:
- apimon
- epmon
Apimon plugin triggers scenario-based Ansible playbooks which simulate the customer use-cases including also creation of resources (POST requests). Currently only one scenario is enabled for token authorization (scenario1_token.yaml). As Status Dasbhoard only evaluates the HTTP GET metrics other scenarios are not yet enabled. Playbooks are stored on github (https://github.com/stackmon/apimon-tests/tree/main/playbooks).
EpMon plugin defines which service entries will be used in which specific environment. Services which are not present in respective environment won't have entry in this config as well.