Skip to content
Snippets Groups Projects
Commit 9cc6e69e authored by Alka Nixon's avatar Alka Nixon
Browse files

Externalized rules

parent d409440e
No related branches found
No related tags found
1 merge request!8Rht integration - Merge prometheus metrics update
Pipeline #50429 failed
......@@ -128,15 +128,15 @@ func queryPrometheus(v1api v1.API, query string) model.Value {
if len(warnings) > 0 {
fmt.Printf("Warnings: %v\n", warnings)
}
fmt.Printf("Query:\n%v\n", query)
fmt.Printf("Result:\n%v\n", result)
fmt.Printf("Result Type:%v\n", result.Type())
// fmt.Printf("Query:\n%v\n", query)
// fmt.Printf("Result:\n%v\n", result)
// fmt.Printf("Result Type:%v\n", result.Type())
return result
}
func getPodInfo(acmApp *codecov1alpha1.CodecoApp, v1api v1.API) {
query := "kube_pod_info{created_by_name='acm-swm-app'}"
query := "pod:pod_info:current{created_by_name='acm-swm-app'}"
result := queryPrometheus(v1api, query)
if result.Type() == model.ValVector {
......@@ -172,8 +172,8 @@ func getServiceMetricsFromPrometheus(acmApp *codecov1alpha1.CodecoApp, v1api v1.
getPodInfo(acmApp, v1api)
queries := map[string]string{
"AvgCpuUsage": `avg by (pod) (rate(container_cpu_usage_seconds_total{pod="%s"}[1m]))`,
"AvgMemoryUsage": `avg by (pod) (avg_over_time(container_memory_usage_bytes{pod="%s"}[1m]))`,
"AvgCpuUsage": `pod:container_cpu:rate1m{pod="%s"}`,
"AvgMemoryUsage": `pod:container_memory:avg1m{pod="%s"}`,
}
for i, service := range acmApp.Spec.Workloads {
......@@ -209,9 +209,9 @@ func getAppMetricsFromPrometheus(acmApp *codecov1alpha1.CodecoApp, v1api v1.API)
fmt.Println(time.Now().Format(time.UnixDate), "---------------------- Get app level metrics -----------------------")
queries := map[string]string{
"AvgCpuUsage": `avg by (pod) (rate(container_cpu_usage_seconds_total{pod=~"acm-swm-app-.*"}[1m]))`,
"AvgMemoryUsage": `avg by (pod) (avg_over_time(container_memory_usage_bytes{pod=~"acm-swm-app-.*"}[1m]))`,
"Numpods": `count(kube_pod_info{created_by_name="acm-swm-app"})`,
"AvgCpuUsage": `app:container_cpu:rate1m{pod=~"acm-swm-app-.*"}`,
"AvgMemoryUsage": `app:container_memory:avg1m{pod=~"acm-swm-app-.*"}`,
"Numpods": `count(pod:pod_info:current{created_by_name="acm-swm-app"})`,
}
for metric, query := range queries {
......@@ -241,7 +241,7 @@ func getAppMetricsFromPrometheus(acmApp *codecov1alpha1.CodecoApp, v1api v1.API)
func getNodeInfo(acmApp *codecov1alpha1.CodecoApp, v1api v1.API) {
query := "kube_node_info"
query := "instance:node_info:current"
result := queryPrometheus(v1api, query)
if result.Type() == model.ValVector {
......
......@@ -13,13 +13,31 @@ spec:
rules:
# Average CPU utilization for each instance (node)
- record: instance:node_cpu:rate1m #metric name
expr: 100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[1m])) * 100) #metric value
expr: avg by (instance) (1 - rate(node_cpu_seconds_total{mode="idle"}[1m])) #metric value
# Average node memory
- record: instance:node_memory:avg1m
expr: 100 * (1 - ((avg_over_time(node_memory_MemFree_bytes[1m]) + avg_over_time(node_memory_Cached_bytes[1m]) + avg_over_time(node_memory_Buffers_bytes[1m])) / avg_over_time(node_memory_MemTotal_bytes[1m])))
expr: avg_over_time(node_memory_MemTotal_bytes[1m]) - (avg_over_time(node_memory_MemFree_bytes[1m]) + avg_over_time(node_memory_Cached_bytes[1m]) + avg_over_time(node_memory_Buffers_bytes[1m]))
# Average node energy
- record: instance:node_energy:irate1m
expr: avg by (instance) (irate(kepler_node_platform_joules_total{mode="dynamic"}[1m]))
# Average node failure
- record: instance:node_status:avg1m
expr: sum(avg_over_time(kube_node_status_condition{condition="Ready", status!="true"}[1m])) by (node)
# Node info
- record: instance:node_info:current
expr: kube_node_info
# Pod info
- record: pod:pod_info:current
expr: kube_pod_info
# Average CPU utilization for each pod
- record: pod:container_cpu:rate1m
expr: avg by (pod) (rate(container_cpu_usage_seconds_total[1m]))
# Average memory usage for each pod
- record: pod:container_memory:avg1m
expr: avg by (pod) (avg_over_time(container_memory_usage_bytes[1m]))
# Average CPU utlization for each application
- record: app:container_cpu:rate1m
expr: avg(rate(container_cpu_usage_seconds_total[1m]))
# Average memory usage for each application
- record: app:container_memory:avg1m
expr: sum(avg_over_time(container_memory_usage_bytes[1m]))
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment