PoC use-case
The PoC demonstrates two edges connected to a central cloud. Each edge comprises a metric generator whose metrics are scraped by an OTel collector. The collector does a remote write to Thanos (running in the central cloud) for long-term storage and analysis. The remote write is intercepted as part of the OTel processor pipeline workflow. A "configuration proxy" is used to apply various transformations from the central cloud to the processors inside the OTel collectors.
This PoC uses OTel collectors and showcases how the controller generates insights that trigger metrics pruning based on similarity across east and west edges/clouds.
Environment Setup
The PoC requires docker installed on the machine to test the scenario. The following containers get installed when the PoC environment is bought up.
Central containers:
- thanos-receive
- thanos-query
- thanos-ruler
- ruler-config
- alertmanager
- controller
- manager
Edge containers:
- metricgen_[east,west]
- otel_proxy_collector_[east,west]
- otel_collector_[east,west]
Running the PoC story
- Bring up the PoC environment
or
make start
docker-compose -f docker-compose-otel.yml up -d
- Confirm that the metrics are flowing correctly in the
thanos query
UI:http://127.0.0.1:19192
Confirm metricsk8s_pod_network_bytes
ornwdaf_5G_network_utilization
are available.
There should be a single metric for each edge, hence a total of four metrics. - Next, we trigger the controller to draw insights
or Via the manager API.
make perform_analysis
http://127.0.0.1:5010/apidocs/#/Controller/post_api_v1_analyze
- Verify the generated insights in the Controller UI:
http://127.0.0.1:5000/insights
ClickInsights details 4
and the analysis should show three metrics (k8s_pod_network_bytes($app,c0,metricgen2:8001,west,$IP),nwdaf_5G_network_utilization(analytic_function,c0,metricgen1:8000,east,$IP),nwdaf_5G_network_utilization(analytic_function,c0,metricgen2:8001,west,$IP)
) that are correlated withk8s_pod_network_bytes
. - The insights can be used just as a recommendation or for full automation, where a corresponding transform will be applied to each edge to handle the pruning. In this post, we will run in full automation mode.
- The controller triggers transformation in each cloud which can be seen using the manager UI
Accesshttp://127.0.0.1:5010/apidocs/#/Processor%20Configuration/getProcessorConfig
.
Useeast
andwest
in the UI combo box as the processor ids to check the transformation added to individual clouds. - You can visualize the change in the metrics values
Execute the query
k8s_pod_network_bytes or nwdaf_5G_network_utilization
) in thethanos query
UI (in graph mode). You will see onlyk8s_pod_network_bytes
with labelprocessor="east"
flowing. Other analyzed as similar metrics are now being pruned/dropped. - To end the POC and clean docker execute
ormake end
docker compose -f docker-compose-otel.yml down