Merge pull request #365 from LiliC/drop-kubelet
Drop correct deprecated metrics and add e2e test to ensure that
This commit is contained in:
@@ -2,49 +2,49 @@
|
|||||||
// Drop all kubelet metrics which are deprecated in kubernetes.
|
// Drop all kubelet metrics which are deprecated in kubernetes.
|
||||||
{
|
{
|
||||||
sourceLabels: ['__name__'],
|
sourceLabels: ['__name__'],
|
||||||
regex: 'kubelet_(pod_worker_latency_microseconds|pod_start_latency_microseconds|cgroup_manager_latency_microseconds|pod_worker_start_latency_microseconds|pleg_relist_latency_microseconds|pleg_relist_interval_microseconds|runtime_operations|runtime_operations_latency_microseconds|runtime_operations_errors|eviction_stats_age_microseconds|device_plugin_registration_count|device_plugin_alloc_latency_microseconds|network_plugin_operations_latency_microseconds)',
|
regex: 'kubelet_(pod_worker_latency_microseconds|pod_start_latency_microseconds|cgroup_manager_latency_microseconds|pod_worker_start_latency_microseconds|pleg_relist_latency_microseconds|pleg_relist_interval_microseconds|runtime_operations|runtime_operations_latency_microseconds|runtime_operations_errors|eviction_stats_age_microseconds|device_plugin_registration_count|device_plugin_alloc_latency_microseconds|network_plugin_operations_latency_microseconds).*',
|
||||||
action: 'drop',
|
action: 'drop',
|
||||||
},
|
},
|
||||||
// Drop all scheduler metrics which are deprecated in kubernetes.
|
// Drop all scheduler metrics which are deprecated in kubernetes.
|
||||||
{
|
{
|
||||||
sourceLabels: ['__name__'],
|
sourceLabels: ['__name__'],
|
||||||
regex: 'scheduler_(e2e_scheduling_latency_microseconds|scheduling_algorithm_predicate_evaluation|scheduling_algorithm_priority_evaluation|scheduling_algorithm_preemption_evaluation|scheduling_algorithm_latency_microseconds|binding_latency_microseconds|scheduling_latency_seconds)',
|
regex: 'scheduler_(e2e_scheduling_latency_microseconds|scheduling_algorithm_predicate_evaluation|scheduling_algorithm_priority_evaluation|scheduling_algorithm_preemption_evaluation|scheduling_algorithm_latency_microseconds|binding_latency_microseconds|scheduling_latency_seconds).*',
|
||||||
action: 'drop',
|
action: 'drop',
|
||||||
},
|
},
|
||||||
// Drop all apiserver metrics which are deprecated in kubernetes.
|
// Drop all apiserver metrics which are deprecated in kubernetes.
|
||||||
{
|
{
|
||||||
sourceLabels: ['__name__'],
|
sourceLabels: ['__name__'],
|
||||||
regex: 'apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs)',
|
regex: 'apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs).*',
|
||||||
action: 'drop',
|
action: 'drop',
|
||||||
},
|
},
|
||||||
// Drop all docker metrics which are deprecated in kubernetes.
|
// Drop all docker metrics which are deprecated in kubernetes.
|
||||||
{
|
{
|
||||||
sourceLabels: ['__name__'],
|
sourceLabels: ['__name__'],
|
||||||
regex: 'docker_(operations|operations_latency_microseconds|operations_errors|operations_timeout)',
|
regex: 'kubelet_docker_(operations|operations_latency_microseconds|operations_errors|operations_timeout).*',
|
||||||
action: 'drop',
|
action: 'drop',
|
||||||
},
|
},
|
||||||
// Drop all reflector metrics which are deprecated in kubernetes.
|
// Drop all reflector metrics which are deprecated in kubernetes.
|
||||||
{
|
{
|
||||||
sourceLabels: ['__name__'],
|
sourceLabels: ['__name__'],
|
||||||
regex: 'reflector_(items_per_list|items_per_watch|list_duration_seconds|lists_total|short_watches_total|watch_duration_seconds|watches_total)',
|
regex: 'reflector_(items_per_list|items_per_watch|list_duration_seconds|lists_total|short_watches_total|watch_duration_seconds|watches_total).*',
|
||||||
action: 'drop',
|
action: 'drop',
|
||||||
},
|
},
|
||||||
// Drop all etcd metrics which are deprecated in kubernetes.
|
// Drop all etcd metrics which are deprecated in kubernetes.
|
||||||
{
|
{
|
||||||
sourceLabels: ['__name__'],
|
sourceLabels: ['__name__'],
|
||||||
regex: 'etcd_(helper_cache_hit_count|helper_cache_miss_count|helper_cache_entry_count|request_cache_get_latencies_summary|request_cache_add_latencies_summary|request_latencies_summary)',
|
regex: 'etcd_(helper_cache_hit_count|helper_cache_miss_count|helper_cache_entry_count|request_cache_get_latencies_summary|request_cache_add_latencies_summary|request_latencies_summary).*',
|
||||||
action: 'drop',
|
action: 'drop',
|
||||||
},
|
},
|
||||||
// Drop all transformation metrics which are deprecated in kubernetes.
|
// Drop all transformation metrics which are deprecated in kubernetes.
|
||||||
{
|
{
|
||||||
sourceLabels: ['__name__'],
|
sourceLabels: ['__name__'],
|
||||||
regex: 'transformation_(transformation_latencies_microseconds|failures_total)',
|
regex: 'transformation_(transformation_latencies_microseconds|failures_total).*',
|
||||||
action: 'drop',
|
action: 'drop',
|
||||||
},
|
},
|
||||||
// Drop all other metrics which are deprecated in kubernetes.
|
// Drop all other metrics which are deprecated in kubernetes.
|
||||||
{
|
{
|
||||||
sourceLabels: ['__name__'],
|
sourceLabels: ['__name__'],
|
||||||
regex: 'kubeproxy_sync_proxy_rules_latency_microseconds|rest_client_request_latency_secons',
|
regex: '(admission_quota_controller_adds|crd_autoregistration_controller_work_duration|APIServiceOpenAPIAggregationControllerQueue1_adds|AvailableConditionController_retries|crd_openapi_controller_unfinished_work_seconds|APIServiceRegistrationController_retries|admission_quota_controller_longest_running_processor_microseconds|crdEstablishing_longest_running_processor_microseconds|crdEstablishing_unfinished_work_seconds|crd_openapi_controller_adds|crd_autoregistration_controller_retries|crd_finalizer_queue_latency|AvailableConditionController_work_duration|non_structural_schema_condition_controller_depth|crd_autoregistration_controller_unfinished_work_seconds|AvailableConditionController_adds|DiscoveryController_longest_running_processor_microseconds|autoregister_queue_latency|crd_autoregistration_controller_adds|non_structural_schema_condition_controller_work_duration|APIServiceRegistrationController_adds|crd_finalizer_work_duration|crd_naming_condition_controller_unfinished_work_seconds|crd_openapi_controller_longest_running_processor_microseconds|DiscoveryController_adds|crd_autoregistration_controller_longest_running_processor_microseconds|autoregister_unfinished_work_seconds|crd_naming_condition_controller_queue_latency|crd_naming_condition_controller_retries|non_structural_schema_condition_controller_queue_latency|crd_naming_condition_controller_depth|AvailableConditionController_longest_running_processor_microseconds|crdEstablishing_depth|crd_finalizer_longest_running_processor_microseconds|crd_naming_condition_controller_adds|APIServiceOpenAPIAggregationControllerQueue1_longest_running_processor_microseconds|DiscoveryController_queue_latency|DiscoveryController_unfinished_work_seconds|crd_openapi_controller_depth|APIServiceOpenAPIAggregationControllerQueue1_queue_latency|APIServiceOpenAPIAggregationControllerQueue1_unfinished_work_seconds|DiscoveryController_work_duration|autoregister_adds|crd_autoregistration_controller_queue_latency|crd_finalizer_retries|AvailableConditionController_unfinished_work_seconds|autoregister_longest_running_processor_microseconds|non_structural_schema_condition_controller_unfinished_work_seconds|APIServiceOpenAPIAggregationControllerQueue1_depth|AvailableConditionController_depth|DiscoveryController_retries|admission_quota_controller_depth|crdEstablishing_adds|APIServiceOpenAPIAggregationControllerQueue1_retries|crdEstablishing_queue_latency|non_structural_schema_condition_controller_longest_running_processor_microseconds|autoregister_work_duration|crd_openapi_controller_retries|APIServiceRegistrationController_work_duration|crdEstablishing_work_duration|crd_finalizer_adds|crd_finalizer_depth|crd_openapi_controller_queue_latency|APIServiceOpenAPIAggregationControllerQueue1_work_duration|APIServiceRegistrationController_queue_latency|crd_autoregistration_controller_depth|AvailableConditionController_queue_latency|admission_quota_controller_queue_latency|crd_naming_condition_controller_work_duration|crd_openapi_controller_work_duration|DiscoveryController_depth|crd_naming_condition_controller_longest_running_processor_microseconds|APIServiceRegistrationController_depth|APIServiceRegistrationController_longest_running_processor_microseconds|crd_finalizer_unfinished_work_seconds|crdEstablishing_retries|admission_quota_controller_unfinished_work_seconds|non_structural_schema_condition_controller_adds|APIServiceRegistrationController_unfinished_work_seconds|admission_quota_controller_work_duration|autoregister_depth|autoregister_retries|kubeproxy_sync_proxy_rules_latency_microseconds|rest_client_request_latency_seconds|non_structural_schema_condition_controller_retries).*',
|
||||||
action: 'drop',
|
action: 'drop',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -285,6 +285,7 @@ local k = import 'ksonnet/ksonnet.beta.4/k.libsonnet';
|
|||||||
insecureSkipVerify: true,
|
insecureSkipVerify: true,
|
||||||
},
|
},
|
||||||
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
||||||
|
metricRelabelings: (import 'kube-prometheus/dropping-deprecated-metrics-relabelings.libsonnet'),
|
||||||
relabelings: [
|
relabelings: [
|
||||||
{
|
{
|
||||||
sourceLabels: ['__metrics_path__'],
|
sourceLabels: ['__metrics_path__'],
|
||||||
@@ -308,7 +309,7 @@ local k = import 'ksonnet/ksonnet.beta.4/k.libsonnet';
|
|||||||
targetLabel: 'metrics_path',
|
targetLabel: 'metrics_path',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
metricRelabelings: (import 'kube-prometheus/dropping-deprecated-metrics-relabelings.libsonnet') + [
|
metricRelabelings: [
|
||||||
// Drop a bunch of metrics which are disabled but still sent, see
|
// Drop a bunch of metrics which are disabled but still sent, see
|
||||||
// https://github.com/google/cadvisor/issues/1925.
|
// https://github.com/google/cadvisor/issues/1925.
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,35 +11,35 @@ spec:
|
|||||||
interval: 30s
|
interval: 30s
|
||||||
metricRelabelings:
|
metricRelabelings:
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: kubelet_(pod_worker_latency_microseconds|pod_start_latency_microseconds|cgroup_manager_latency_microseconds|pod_worker_start_latency_microseconds|pleg_relist_latency_microseconds|pleg_relist_interval_microseconds|runtime_operations|runtime_operations_latency_microseconds|runtime_operations_errors|eviction_stats_age_microseconds|device_plugin_registration_count|device_plugin_alloc_latency_microseconds|network_plugin_operations_latency_microseconds)
|
regex: kubelet_(pod_worker_latency_microseconds|pod_start_latency_microseconds|cgroup_manager_latency_microseconds|pod_worker_start_latency_microseconds|pleg_relist_latency_microseconds|pleg_relist_interval_microseconds|runtime_operations|runtime_operations_latency_microseconds|runtime_operations_errors|eviction_stats_age_microseconds|device_plugin_registration_count|device_plugin_alloc_latency_microseconds|network_plugin_operations_latency_microseconds).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: scheduler_(e2e_scheduling_latency_microseconds|scheduling_algorithm_predicate_evaluation|scheduling_algorithm_priority_evaluation|scheduling_algorithm_preemption_evaluation|scheduling_algorithm_latency_microseconds|binding_latency_microseconds|scheduling_latency_seconds)
|
regex: scheduler_(e2e_scheduling_latency_microseconds|scheduling_algorithm_predicate_evaluation|scheduling_algorithm_priority_evaluation|scheduling_algorithm_preemption_evaluation|scheduling_algorithm_latency_microseconds|binding_latency_microseconds|scheduling_latency_seconds).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs)
|
regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: docker_(operations|operations_latency_microseconds|operations_errors|operations_timeout)
|
regex: kubelet_docker_(operations|operations_latency_microseconds|operations_errors|operations_timeout).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: reflector_(items_per_list|items_per_watch|list_duration_seconds|lists_total|short_watches_total|watch_duration_seconds|watches_total)
|
regex: reflector_(items_per_list|items_per_watch|list_duration_seconds|lists_total|short_watches_total|watch_duration_seconds|watches_total).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: etcd_(helper_cache_hit_count|helper_cache_miss_count|helper_cache_entry_count|request_cache_get_latencies_summary|request_cache_add_latencies_summary|request_latencies_summary)
|
regex: etcd_(helper_cache_hit_count|helper_cache_miss_count|helper_cache_entry_count|request_cache_get_latencies_summary|request_cache_add_latencies_summary|request_latencies_summary).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: transformation_(transformation_latencies_microseconds|failures_total)
|
regex: transformation_(transformation_latencies_microseconds|failures_total).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: kubeproxy_sync_proxy_rules_latency_microseconds|rest_client_request_latency_secons
|
regex: (admission_quota_controller_adds|crd_autoregistration_controller_work_duration|APIServiceOpenAPIAggregationControllerQueue1_adds|AvailableConditionController_retries|crd_openapi_controller_unfinished_work_seconds|APIServiceRegistrationController_retries|admission_quota_controller_longest_running_processor_microseconds|crdEstablishing_longest_running_processor_microseconds|crdEstablishing_unfinished_work_seconds|crd_openapi_controller_adds|crd_autoregistration_controller_retries|crd_finalizer_queue_latency|AvailableConditionController_work_duration|non_structural_schema_condition_controller_depth|crd_autoregistration_controller_unfinished_work_seconds|AvailableConditionController_adds|DiscoveryController_longest_running_processor_microseconds|autoregister_queue_latency|crd_autoregistration_controller_adds|non_structural_schema_condition_controller_work_duration|APIServiceRegistrationController_adds|crd_finalizer_work_duration|crd_naming_condition_controller_unfinished_work_seconds|crd_openapi_controller_longest_running_processor_microseconds|DiscoveryController_adds|crd_autoregistration_controller_longest_running_processor_microseconds|autoregister_unfinished_work_seconds|crd_naming_condition_controller_queue_latency|crd_naming_condition_controller_retries|non_structural_schema_condition_controller_queue_latency|crd_naming_condition_controller_depth|AvailableConditionController_longest_running_processor_microseconds|crdEstablishing_depth|crd_finalizer_longest_running_processor_microseconds|crd_naming_condition_controller_adds|APIServiceOpenAPIAggregationControllerQueue1_longest_running_processor_microseconds|DiscoveryController_queue_latency|DiscoveryController_unfinished_work_seconds|crd_openapi_controller_depth|APIServiceOpenAPIAggregationControllerQueue1_queue_latency|APIServiceOpenAPIAggregationControllerQueue1_unfinished_work_seconds|DiscoveryController_work_duration|autoregister_adds|crd_autoregistration_controller_queue_latency|crd_finalizer_retries|AvailableConditionController_unfinished_work_seconds|autoregister_longest_running_processor_microseconds|non_structural_schema_condition_controller_unfinished_work_seconds|APIServiceOpenAPIAggregationControllerQueue1_depth|AvailableConditionController_depth|DiscoveryController_retries|admission_quota_controller_depth|crdEstablishing_adds|APIServiceOpenAPIAggregationControllerQueue1_retries|crdEstablishing_queue_latency|non_structural_schema_condition_controller_longest_running_processor_microseconds|autoregister_work_duration|crd_openapi_controller_retries|APIServiceRegistrationController_work_duration|crdEstablishing_work_duration|crd_finalizer_adds|crd_finalizer_depth|crd_openapi_controller_queue_latency|APIServiceOpenAPIAggregationControllerQueue1_work_duration|APIServiceRegistrationController_queue_latency|crd_autoregistration_controller_depth|AvailableConditionController_queue_latency|admission_quota_controller_queue_latency|crd_naming_condition_controller_work_duration|crd_openapi_controller_work_duration|DiscoveryController_depth|crd_naming_condition_controller_longest_running_processor_microseconds|APIServiceRegistrationController_depth|APIServiceRegistrationController_longest_running_processor_microseconds|crd_finalizer_unfinished_work_seconds|crdEstablishing_retries|admission_quota_controller_unfinished_work_seconds|non_structural_schema_condition_controller_adds|APIServiceRegistrationController_unfinished_work_seconds|admission_quota_controller_work_duration|autoregister_depth|autoregister_retries|kubeproxy_sync_proxy_rules_latency_microseconds|rest_client_request_latency_seconds|non_structural_schema_condition_controller_retries).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
|
|||||||
@@ -10,35 +10,35 @@ spec:
|
|||||||
- interval: 30s
|
- interval: 30s
|
||||||
metricRelabelings:
|
metricRelabelings:
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: kubelet_(pod_worker_latency_microseconds|pod_start_latency_microseconds|cgroup_manager_latency_microseconds|pod_worker_start_latency_microseconds|pleg_relist_latency_microseconds|pleg_relist_interval_microseconds|runtime_operations|runtime_operations_latency_microseconds|runtime_operations_errors|eviction_stats_age_microseconds|device_plugin_registration_count|device_plugin_alloc_latency_microseconds|network_plugin_operations_latency_microseconds)
|
regex: kubelet_(pod_worker_latency_microseconds|pod_start_latency_microseconds|cgroup_manager_latency_microseconds|pod_worker_start_latency_microseconds|pleg_relist_latency_microseconds|pleg_relist_interval_microseconds|runtime_operations|runtime_operations_latency_microseconds|runtime_operations_errors|eviction_stats_age_microseconds|device_plugin_registration_count|device_plugin_alloc_latency_microseconds|network_plugin_operations_latency_microseconds).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: scheduler_(e2e_scheduling_latency_microseconds|scheduling_algorithm_predicate_evaluation|scheduling_algorithm_priority_evaluation|scheduling_algorithm_preemption_evaluation|scheduling_algorithm_latency_microseconds|binding_latency_microseconds|scheduling_latency_seconds)
|
regex: scheduler_(e2e_scheduling_latency_microseconds|scheduling_algorithm_predicate_evaluation|scheduling_algorithm_priority_evaluation|scheduling_algorithm_preemption_evaluation|scheduling_algorithm_latency_microseconds|binding_latency_microseconds|scheduling_latency_seconds).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs)
|
regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: docker_(operations|operations_latency_microseconds|operations_errors|operations_timeout)
|
regex: kubelet_docker_(operations|operations_latency_microseconds|operations_errors|operations_timeout).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: reflector_(items_per_list|items_per_watch|list_duration_seconds|lists_total|short_watches_total|watch_duration_seconds|watches_total)
|
regex: reflector_(items_per_list|items_per_watch|list_duration_seconds|lists_total|short_watches_total|watch_duration_seconds|watches_total).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: etcd_(helper_cache_hit_count|helper_cache_miss_count|helper_cache_entry_count|request_cache_get_latencies_summary|request_cache_add_latencies_summary|request_latencies_summary)
|
regex: etcd_(helper_cache_hit_count|helper_cache_miss_count|helper_cache_entry_count|request_cache_get_latencies_summary|request_cache_add_latencies_summary|request_latencies_summary).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: transformation_(transformation_latencies_microseconds|failures_total)
|
regex: transformation_(transformation_latencies_microseconds|failures_total).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: kubeproxy_sync_proxy_rules_latency_microseconds|rest_client_request_latency_secons
|
regex: (admission_quota_controller_adds|crd_autoregistration_controller_work_duration|APIServiceOpenAPIAggregationControllerQueue1_adds|AvailableConditionController_retries|crd_openapi_controller_unfinished_work_seconds|APIServiceRegistrationController_retries|admission_quota_controller_longest_running_processor_microseconds|crdEstablishing_longest_running_processor_microseconds|crdEstablishing_unfinished_work_seconds|crd_openapi_controller_adds|crd_autoregistration_controller_retries|crd_finalizer_queue_latency|AvailableConditionController_work_duration|non_structural_schema_condition_controller_depth|crd_autoregistration_controller_unfinished_work_seconds|AvailableConditionController_adds|DiscoveryController_longest_running_processor_microseconds|autoregister_queue_latency|crd_autoregistration_controller_adds|non_structural_schema_condition_controller_work_duration|APIServiceRegistrationController_adds|crd_finalizer_work_duration|crd_naming_condition_controller_unfinished_work_seconds|crd_openapi_controller_longest_running_processor_microseconds|DiscoveryController_adds|crd_autoregistration_controller_longest_running_processor_microseconds|autoregister_unfinished_work_seconds|crd_naming_condition_controller_queue_latency|crd_naming_condition_controller_retries|non_structural_schema_condition_controller_queue_latency|crd_naming_condition_controller_depth|AvailableConditionController_longest_running_processor_microseconds|crdEstablishing_depth|crd_finalizer_longest_running_processor_microseconds|crd_naming_condition_controller_adds|APIServiceOpenAPIAggregationControllerQueue1_longest_running_processor_microseconds|DiscoveryController_queue_latency|DiscoveryController_unfinished_work_seconds|crd_openapi_controller_depth|APIServiceOpenAPIAggregationControllerQueue1_queue_latency|APIServiceOpenAPIAggregationControllerQueue1_unfinished_work_seconds|DiscoveryController_work_duration|autoregister_adds|crd_autoregistration_controller_queue_latency|crd_finalizer_retries|AvailableConditionController_unfinished_work_seconds|autoregister_longest_running_processor_microseconds|non_structural_schema_condition_controller_unfinished_work_seconds|APIServiceOpenAPIAggregationControllerQueue1_depth|AvailableConditionController_depth|DiscoveryController_retries|admission_quota_controller_depth|crdEstablishing_adds|APIServiceOpenAPIAggregationControllerQueue1_retries|crdEstablishing_queue_latency|non_structural_schema_condition_controller_longest_running_processor_microseconds|autoregister_work_duration|crd_openapi_controller_retries|APIServiceRegistrationController_work_duration|crdEstablishing_work_duration|crd_finalizer_adds|crd_finalizer_depth|crd_openapi_controller_queue_latency|APIServiceOpenAPIAggregationControllerQueue1_work_duration|APIServiceRegistrationController_queue_latency|crd_autoregistration_controller_depth|AvailableConditionController_queue_latency|admission_quota_controller_queue_latency|crd_naming_condition_controller_work_duration|crd_openapi_controller_work_duration|DiscoveryController_depth|crd_naming_condition_controller_longest_running_processor_microseconds|APIServiceRegistrationController_depth|APIServiceRegistrationController_longest_running_processor_microseconds|crd_finalizer_unfinished_work_seconds|crdEstablishing_retries|admission_quota_controller_unfinished_work_seconds|non_structural_schema_condition_controller_adds|APIServiceRegistrationController_unfinished_work_seconds|admission_quota_controller_work_duration|autoregister_depth|autoregister_retries|kubeproxy_sync_proxy_rules_latency_microseconds|rest_client_request_latency_seconds|non_structural_schema_condition_controller_retries).*
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
- __name__
|
- __name__
|
||||||
- action: drop
|
- action: drop
|
||||||
|
|||||||
@@ -10,6 +10,39 @@ spec:
|
|||||||
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
honorLabels: true
|
honorLabels: true
|
||||||
interval: 30s
|
interval: 30s
|
||||||
|
metricRelabelings:
|
||||||
|
- action: drop
|
||||||
|
regex: kubelet_(pod_worker_latency_microseconds|pod_start_latency_microseconds|cgroup_manager_latency_microseconds|pod_worker_start_latency_microseconds|pleg_relist_latency_microseconds|pleg_relist_interval_microseconds|runtime_operations|runtime_operations_latency_microseconds|runtime_operations_errors|eviction_stats_age_microseconds|device_plugin_registration_count|device_plugin_alloc_latency_microseconds|network_plugin_operations_latency_microseconds).*
|
||||||
|
sourceLabels:
|
||||||
|
- __name__
|
||||||
|
- action: drop
|
||||||
|
regex: scheduler_(e2e_scheduling_latency_microseconds|scheduling_algorithm_predicate_evaluation|scheduling_algorithm_priority_evaluation|scheduling_algorithm_preemption_evaluation|scheduling_algorithm_latency_microseconds|binding_latency_microseconds|scheduling_latency_seconds).*
|
||||||
|
sourceLabels:
|
||||||
|
- __name__
|
||||||
|
- action: drop
|
||||||
|
regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs).*
|
||||||
|
sourceLabels:
|
||||||
|
- __name__
|
||||||
|
- action: drop
|
||||||
|
regex: kubelet_docker_(operations|operations_latency_microseconds|operations_errors|operations_timeout).*
|
||||||
|
sourceLabels:
|
||||||
|
- __name__
|
||||||
|
- action: drop
|
||||||
|
regex: reflector_(items_per_list|items_per_watch|list_duration_seconds|lists_total|short_watches_total|watch_duration_seconds|watches_total).*
|
||||||
|
sourceLabels:
|
||||||
|
- __name__
|
||||||
|
- action: drop
|
||||||
|
regex: etcd_(helper_cache_hit_count|helper_cache_miss_count|helper_cache_entry_count|request_cache_get_latencies_summary|request_cache_add_latencies_summary|request_latencies_summary).*
|
||||||
|
sourceLabels:
|
||||||
|
- __name__
|
||||||
|
- action: drop
|
||||||
|
regex: transformation_(transformation_latencies_microseconds|failures_total).*
|
||||||
|
sourceLabels:
|
||||||
|
- __name__
|
||||||
|
- action: drop
|
||||||
|
regex: (admission_quota_controller_adds|crd_autoregistration_controller_work_duration|APIServiceOpenAPIAggregationControllerQueue1_adds|AvailableConditionController_retries|crd_openapi_controller_unfinished_work_seconds|APIServiceRegistrationController_retries|admission_quota_controller_longest_running_processor_microseconds|crdEstablishing_longest_running_processor_microseconds|crdEstablishing_unfinished_work_seconds|crd_openapi_controller_adds|crd_autoregistration_controller_retries|crd_finalizer_queue_latency|AvailableConditionController_work_duration|non_structural_schema_condition_controller_depth|crd_autoregistration_controller_unfinished_work_seconds|AvailableConditionController_adds|DiscoveryController_longest_running_processor_microseconds|autoregister_queue_latency|crd_autoregistration_controller_adds|non_structural_schema_condition_controller_work_duration|APIServiceRegistrationController_adds|crd_finalizer_work_duration|crd_naming_condition_controller_unfinished_work_seconds|crd_openapi_controller_longest_running_processor_microseconds|DiscoveryController_adds|crd_autoregistration_controller_longest_running_processor_microseconds|autoregister_unfinished_work_seconds|crd_naming_condition_controller_queue_latency|crd_naming_condition_controller_retries|non_structural_schema_condition_controller_queue_latency|crd_naming_condition_controller_depth|AvailableConditionController_longest_running_processor_microseconds|crdEstablishing_depth|crd_finalizer_longest_running_processor_microseconds|crd_naming_condition_controller_adds|APIServiceOpenAPIAggregationControllerQueue1_longest_running_processor_microseconds|DiscoveryController_queue_latency|DiscoveryController_unfinished_work_seconds|crd_openapi_controller_depth|APIServiceOpenAPIAggregationControllerQueue1_queue_latency|APIServiceOpenAPIAggregationControllerQueue1_unfinished_work_seconds|DiscoveryController_work_duration|autoregister_adds|crd_autoregistration_controller_queue_latency|crd_finalizer_retries|AvailableConditionController_unfinished_work_seconds|autoregister_longest_running_processor_microseconds|non_structural_schema_condition_controller_unfinished_work_seconds|APIServiceOpenAPIAggregationControllerQueue1_depth|AvailableConditionController_depth|DiscoveryController_retries|admission_quota_controller_depth|crdEstablishing_adds|APIServiceOpenAPIAggregationControllerQueue1_retries|crdEstablishing_queue_latency|non_structural_schema_condition_controller_longest_running_processor_microseconds|autoregister_work_duration|crd_openapi_controller_retries|APIServiceRegistrationController_work_duration|crdEstablishing_work_duration|crd_finalizer_adds|crd_finalizer_depth|crd_openapi_controller_queue_latency|APIServiceOpenAPIAggregationControllerQueue1_work_duration|APIServiceRegistrationController_queue_latency|crd_autoregistration_controller_depth|AvailableConditionController_queue_latency|admission_quota_controller_queue_latency|crd_naming_condition_controller_work_duration|crd_openapi_controller_work_duration|DiscoveryController_depth|crd_naming_condition_controller_longest_running_processor_microseconds|APIServiceRegistrationController_depth|APIServiceRegistrationController_longest_running_processor_microseconds|crd_finalizer_unfinished_work_seconds|crdEstablishing_retries|admission_quota_controller_unfinished_work_seconds|non_structural_schema_condition_controller_adds|APIServiceRegistrationController_unfinished_work_seconds|admission_quota_controller_work_duration|autoregister_depth|autoregister_retries|kubeproxy_sync_proxy_rules_latency_microseconds|rest_client_request_latency_seconds|non_structural_schema_condition_controller_retries).*
|
||||||
|
sourceLabels:
|
||||||
|
- __name__
|
||||||
port: https-metrics
|
port: https-metrics
|
||||||
relabelings:
|
relabelings:
|
||||||
- sourceLabels:
|
- sourceLabels:
|
||||||
@@ -22,38 +55,6 @@ spec:
|
|||||||
honorLabels: true
|
honorLabels: true
|
||||||
interval: 30s
|
interval: 30s
|
||||||
metricRelabelings:
|
metricRelabelings:
|
||||||
- action: drop
|
|
||||||
regex: kubelet_(pod_worker_latency_microseconds|pod_start_latency_microseconds|cgroup_manager_latency_microseconds|pod_worker_start_latency_microseconds|pleg_relist_latency_microseconds|pleg_relist_interval_microseconds|runtime_operations|runtime_operations_latency_microseconds|runtime_operations_errors|eviction_stats_age_microseconds|device_plugin_registration_count|device_plugin_alloc_latency_microseconds|network_plugin_operations_latency_microseconds)
|
|
||||||
sourceLabels:
|
|
||||||
- __name__
|
|
||||||
- action: drop
|
|
||||||
regex: scheduler_(e2e_scheduling_latency_microseconds|scheduling_algorithm_predicate_evaluation|scheduling_algorithm_priority_evaluation|scheduling_algorithm_preemption_evaluation|scheduling_algorithm_latency_microseconds|binding_latency_microseconds|scheduling_latency_seconds)
|
|
||||||
sourceLabels:
|
|
||||||
- __name__
|
|
||||||
- action: drop
|
|
||||||
regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs)
|
|
||||||
sourceLabels:
|
|
||||||
- __name__
|
|
||||||
- action: drop
|
|
||||||
regex: docker_(operations|operations_latency_microseconds|operations_errors|operations_timeout)
|
|
||||||
sourceLabels:
|
|
||||||
- __name__
|
|
||||||
- action: drop
|
|
||||||
regex: reflector_(items_per_list|items_per_watch|list_duration_seconds|lists_total|short_watches_total|watch_duration_seconds|watches_total)
|
|
||||||
sourceLabels:
|
|
||||||
- __name__
|
|
||||||
- action: drop
|
|
||||||
regex: etcd_(helper_cache_hit_count|helper_cache_miss_count|helper_cache_entry_count|request_cache_get_latencies_summary|request_cache_add_latencies_summary|request_latencies_summary)
|
|
||||||
sourceLabels:
|
|
||||||
- __name__
|
|
||||||
- action: drop
|
|
||||||
regex: transformation_(transformation_latencies_microseconds|failures_total)
|
|
||||||
sourceLabels:
|
|
||||||
- __name__
|
|
||||||
- action: drop
|
|
||||||
regex: kubeproxy_sync_proxy_rules_latency_microseconds|rest_client_request_latency_secons
|
|
||||||
sourceLabels:
|
|
||||||
- __name__
|
|
||||||
- action: drop
|
- action: drop
|
||||||
regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
|
regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ package e2e
|
|||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -57,7 +58,6 @@ func testMain(m *testing.M) int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestQueryPrometheus(t *testing.T) {
|
func TestQueryPrometheus(t *testing.T) {
|
||||||
t.Parallel()
|
|
||||||
queries := []struct {
|
queries := []struct {
|
||||||
query string
|
query string
|
||||||
expectN int
|
expectN int
|
||||||
@@ -72,8 +72,8 @@ func TestQueryPrometheus(t *testing.T) {
|
|||||||
query: `up{job="apiserver"} == 1`,
|
query: `up{job="apiserver"} == 1`,
|
||||||
expectN: 1,
|
expectN: 1,
|
||||||
}, {
|
}, {
|
||||||
query: `up{job="kube-state-metrics"} == 1`,
|
query: `up{job="kube-state-metrics"} == 1`,
|
||||||
expectN: 1,
|
expectN: 1,
|
||||||
}, {
|
}, {
|
||||||
query: `up{job="prometheus-k8s"} == 1`,
|
query: `up{job="prometheus-k8s"} == 1`,
|
||||||
expectN: 1,
|
expectN: 1,
|
||||||
@@ -116,3 +116,25 @@ func TestQueryPrometheus(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDroppedMetrics(t *testing.T) {
|
||||||
|
// query metadata for all metrics and their metadata
|
||||||
|
md, err := promClient.metadata("{job=~\".+\"}")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
for _, k := range md.Data {
|
||||||
|
// check if the metric' help text contains Deprecated
|
||||||
|
if strings.Contains(k.Help, "Deprecated") {
|
||||||
|
// query prometheus for the Deprecated metric
|
||||||
|
n, err := promClient.query(k.Metric)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
if n > 0 {
|
||||||
|
t.Fatalf("deprecated metric with name: %s and help text: %s exists.", k.Metric, k.Help)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -15,6 +15,10 @@
|
|||||||
package e2e
|
package e2e
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"k8s.io/client-go/kubernetes"
|
"k8s.io/client-go/kubernetes"
|
||||||
|
|
||||||
"github.com/Jeffail/gabs"
|
"github.com/Jeffail/gabs"
|
||||||
@@ -50,3 +54,41 @@ func (c *prometheusClient) query(query string) (int, error) {
|
|||||||
n, err := res.ArrayCountP("data.result")
|
n, err := res.ArrayCountP("data.result")
|
||||||
return n, err
|
return n, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type Metadata struct {
|
||||||
|
Status string `json:"status,omitempty"`
|
||||||
|
Data []Data `json:"data,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Data struct {
|
||||||
|
Metric string `json:"metric,omitempty"`
|
||||||
|
Help string `json:"help,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// metadata makes a request against the Prometheus /api/v1/targets/metadata endpoint.
|
||||||
|
// It returns all the metrics and its metadata.
|
||||||
|
func (c *prometheusClient) metadata(query string) (Metadata, error) {
|
||||||
|
req := c.kubeClient.CoreV1().RESTClient().Get().
|
||||||
|
Namespace("monitoring").
|
||||||
|
Resource("pods").
|
||||||
|
SubResource("proxy").
|
||||||
|
Name("prometheus-k8s-0:9090").
|
||||||
|
Suffix("/api/v1/targets/metadata").Param("match_target", query)
|
||||||
|
|
||||||
|
var data Metadata
|
||||||
|
b, err := req.DoRaw()
|
||||||
|
if err != nil {
|
||||||
|
return data, err
|
||||||
|
}
|
||||||
|
|
||||||
|
r := bytes.NewReader(b)
|
||||||
|
decoder := json.NewDecoder(r)
|
||||||
|
err = decoder.Decode(&data)
|
||||||
|
if err != nil {
|
||||||
|
return data, err
|
||||||
|
}
|
||||||
|
if data.Status != "success" {
|
||||||
|
return data, fmt.Errorf("status of returned response was not successful; status: %s", data.Status)
|
||||||
|
}
|
||||||
|
return data, err
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user