docsportal/doc/source/internal/sd2_training/monitoring_coverage.rst
Hasko, Vladimir f114248cfb adding SD2 training content
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>
2023-10-04 10:07:42 +00:00

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.