Update Deployment and DaemonSet queries

This commit is contained in:
Roland Schilter
2017-07-13 19:23:32 +02:00
parent f21cf472cc
commit a7d8d9b233

View File

@@ -41,37 +41,25 @@ var (
},
report.Deployment: {
// `container_memory_usage_bytes` is provided by cAdvisor in Kubelets.
docker.MemoryUsage: parsedTemplate(`sum(container_memory_usage_bytes{pod_name=~"{{.Label}}-[^-]+-[^-]+"})`),
// Pod names are automatically generated by k8s using the deployment name:
// https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#pod-template-hash-label
docker.MemoryUsage: parsedTemplate(`sum(container_memory_usage_bytes{pod_name=~"^{{.Label}}-[^-]+-[^-]+$"})`),
// `container_cpu_usage_seconds_total` is provided by cAdvisor in Kubelets.
docker.CPUTotalUsage: parsedTemplate(`sum(rate(container_cpu_usage_seconds_total{pod_name=~"{{.Label}}-[^-]+-[^-]+"}[1m]))`),
docker.CPUTotalUsage: parsedTemplate(`sum(rate(container_cpu_usage_seconds_total{pod_name=~"^{{.Label}}-[^-]+-[^-]+$"}[1m]))`),
},
report.DaemonSet: {
/*
A recording rule defines `namespace_name:container_memory_usage_bytes:sum`:
namespace_name:container_memory_usage_bytes:sum =
sum by (namespace, name) (
sum(container_memory_usage_bytes{image!=""}) by (pod_name, namespace)
* on (pod_name) group_left(name)
k8s_pod_labels{job="monitoring/kube-api-exporter"}
)
Additionally, we filter by `monitor=""` for cortex-only data.
*/
docker.MemoryUsage: parsedTemplate(`namespace_name:container_memory_usage_bytes:sum{name="{{.Label}}",monitor=""}`),
/*
A recording rule defines `namespace_name:container_cpu_usage_seconds_total:sum_rate`:
namespace_name:container_cpu_usage_seconds_total:sum_rate =
sum by (namespace, name) (
sum(rate(container_cpu_usage_seconds_total{image!=""}[5m])) by (pod_name, namespace)
* on (pod_name) group_left(name)
k8s_pod_labels{job="monitoring/kube-api-exporter"}
)
*/
docker.CPUTotalUsage: parsedTemplate(`namespace_name:container_cpu_usage_seconds_total:sum_rate{name="{{.Label}}"}`),
// `container_memory_usage_bytes` is provided by cAdvisor in Kubelets.
// Pod names are automatically generated by k8s using the DaemonSet name.
docker.MemoryUsage: parsedTemplate(`sum(container_memory_usage_bytes{pod_name=~"^{{.Label}}-[^-]+$"})`),
// `container_cpu_usage_seconds_total` is provided by cAdvisor in Kubelets.
docker.CPUTotalUsage: parsedTemplate(`sum(rate(container_cpu_usage_seconds_total{pod_name=~"^{{.Label}}-[^-]+$"}[1m]))`),
},
/*
NB: requirements for the Service yaml are
- The `spec.selector` needs to select on `name`
- The `metadata.name` needs to be the same value as `spec.selector.name`
*/
report.Service: {
/*
A recording rule defines `namespace_name:container_memory_usage_bytes:sum`:
@@ -96,8 +84,10 @@ var (
* on (pod_name) group_left(name)
k8s_pod_labels{job="monitoring/kube-api-exporter"}
)
Additionally, we filter by `monitor=""` for cortex-only data.
*/
docker.CPUTotalUsage: parsedTemplate(`namespace_name:container_cpu_usage_seconds_total:sum_rate{name="{{.Label}}"}`),
docker.CPUTotalUsage: parsedTemplate(`namespace_name:container_cpu_usage_seconds_total:sum_rate{name="{{.Label}},monitor=""}`),
},
}
)