Поделиться через


Минимальный профиль приема для метрик Prometheus в Azure Monitor

По умолчанию надстройка метрик Azure Monitor собирает несколько метрик Prometheus. Minimal ingestion profile — это параметр, который помогает уменьшить объем метрик, так как собираются только метрики, используемые панелями мониторинга по умолчанию, правила записи по умолчанию и оповещения по умолчанию. В этой статье описывается настройка этого параметра. В этой статье также перечислены метрики, собранные по умолчанию при minimal ingestion profile включении. Вы можете изменить коллекцию, чтобы включить сбор дополнительных метрик, как указано ниже.

Замечание

Для коллекций на основе дополнений параметр Minimal ingestion profile включен по умолчанию.

Следующие целевые объекты включены/ON по умолчанию. Это означает, что вам не нужно предоставлять конфигурацию задания слома для удаления этих целевых объектов, так как надстройка метрик автоматически сломает эти целевые объекты по умолчанию.

  • cadvisor (job=cadvisor)
  • nodeexporter (job=node)
  • kubelet (job=kubelet)
  • kube-state-metrics (job=kube-state-metrics)
  • controlplane-apiserver (job=controlplane-apiserver)
  • controlplane-etcd (job=controlplane-etcd)

Следующие целевые объекты доступны для сбора данных, но по умолчанию сбор данных отключен (отключен/выключен). Это значит, что вам не нужно предоставлять конфигурацию задания для сбора данных для этих целевых объектов, но по умолчанию они отключены/выключены, и чтобы включить сбор данных для этих объектов, используйте ama-metrics-settings-configmap в разделе default-scrape-settings-enabled.

  • core-dns (job=kube-dns)
  • kube-proxy (job=kube-proxy)
  • api-server (job=kube-apiserver)
  • controlplane-cluster-autoscaler (job=controlplane-cluster-autoscaler)
  • controlplane-kube-scheduler (job=controlplane-kube-scheduler)
  • controlplane-kube-controller-manager (job=controlplane-kube-controller-manager)

Замечание

Частота сбора данных по умолчанию для всех целевых целей и сборов данных 30 seconds. Его можно переопределить на целевой объект с помощью ama-metrics-settings-configmap в разделе default-targets-scrape-interval-settings . Целевые объекты плоскости управления имеют фиксированный интервал слома 30 seconds и не могут быть перезаписаны. Дополнительные сведения о четырех разных конфигурациях, используемых надстройкой метрик

Параметр конфигурации

Параметр default-targets-metrics-keep-list.minimalIngestionProfile="true" включен по умолчанию в надстройке метрик. Этот параметр можно указать в разделе default-targets-metrics-keep-list.

Сценарии

Существует четыре сценария, в которых может потребоваться настроить это поведение:

Прием только минимальных метрик на целевой объект по умолчанию.
Это поведение по умолчанию с параметром default-targets-metrics-keep-list.minimalIngestionProfile="true". Для каждого из целевых объектов по умолчанию используются только метрики, перечисленные ниже.

Прием нескольких других метрик для одного или нескольких целевых объектов по умолчанию в дополнение к минимальным метрикам.
Сохраните minimalIngestionProfile="true" и укажите соответствующий keeplistRegexes.* целевой объект, например keeplistRegexes.coreDns="X``Y". X,Y объединяется со списком метрик по умолчанию для целевого объекта, а затем приема. ``

Собирать только определенный набор метрик для цели и ничего лишнего.
Установите minimalIngestionProfile="false" и укажите соответствующий default-targets-metrics-keep-list.="X``Y", связанный с целевым объектом в ama-metrics-settings-configmap.

Сбор всех метрик, собранных для целевого объекта по умолчанию.
Задайте minimalIngestionProfile="false" и не указывайте default-targets-metrics-keep-list.<targetname> для данной цели. Переход на false может кратно увеличить объем приема метрик для каждого целевого объекта.

Замечание

up Метрика не является частью списка разрешенных и сохраняемых элементов, так как она собирается при каждом опросе для каждого объекта, независимо от указанного keepLists значения. Эта метрика фактически не ломается, но создается в результате операции слома надстройкой метрик. Для гистограмм и сводок каждый ряд должен быть явно включен в список (*bucket, *sum, *count ряды).

Минимальная интеграция для целевых объектов ON по умолчанию

Следующие метрики указаны в списке minimalingestionprofile=true разрешенных для целевых объектов ON по умолчанию. Приведенные ниже метрики собираются по умолчанию, так как эти целевые объекты удаляются по умолчанию.

kubelet

  • kubelet_volume_stats_used_bytes
  • kubelet_node_name
  • kubelet_running_pods
  • kubelet_running_pod_count
  • kubelet_running_containers
  • kubelet_running_container_count
  • volume_manager_total_volumes
  • kubelet_node_config_error
  • kubelet_runtime_operations_total
  • kubelet_runtime_operations_errors_total
  • kubelet_runtime_operations_duration_seconds kubelet_runtime_operations_duration_seconds_bucket kubelet_runtime_operations_duration_seconds_sum kubelet_runtime_operations_duration_seconds_count
  • kubelet_pod_start_duration_seconds kubelet_pod_start_duration_seconds_bucket kubelet_pod_start_duration_seconds_sum kubelet_pod_start_duration_seconds_count
  • kubelet_pod_worker_duration_seconds kubelet_pod_worker_duration_seconds_bucket kubelet_pod_worker_duration_seconds_sum kubelet_pod_worker_duration_seconds_count
  • storage_operation_duration_seconds storage_operation_duration_seconds_bucket storage_operation_duration_seconds_sum storage_operation_duration_seconds_count
  • storage_operation_errors_total
  • kubelet_cgroup_manager_duration_seconds kubelet_cgroup_manager_duration_seconds_bucket kubelet_cgroup_manager_duration_seconds_sum kubelet_cgroup_manager_duration_seconds_count
  • kubelet_pleg_relist_duration_seconds kubelet_pleg_relist_duration_seconds_bucket kubelet_pleg_relist_duration_sum kubelet_pleg_relist_duration_seconds_count
  • kubelet_pleg_relist_interval_seconds kubelet_pleg_relist_interval_seconds_bucket kubelet_pleg_relist_interval_seconds_sum kubelet_pleg_relist_interval_seconds_count
  • rest_client_requests_total
  • rest_client_request_duration_seconds rest_client_request_duration_seconds_bucket rest_client_request_duration_seconds_sum rest_client_request_duration_seconds_count
  • process_resident_memory_bytes
  • process_cpu_seconds_total
  • go_goroutines
  • kubelet_volume_stats_capacity_bytes
  • kubelet_volume_stats_available_bytes
  • kubelet_volume_stats_inodes_used
  • kubelet_volume_stats_inodes
  • kubernetes_build_info"

cadvisor

  • container_spec_cpu_period
  • container_spec_cpu_quota
  • container_cpu_usage_seconds_total
  • container_memory_rss
  • container_network_receive_bytes_total
  • container_network_transmit_bytes_total
  • container_network_receive_packets_total
  • container_network_transmit_packets_total
  • container_network_receive_packets_dropped_total
  • container_network_transmit_packets_dropped_total
  • container_fs_reads_total
  • container_fs_writes_total
  • container_fs_reads_bytes_total
  • container_fs_writes_bytes_total
  • container_memory_working_set_bytes
  • container_memory_cache
  • container_memory_swap
  • container_cpu_cfs_throttled_periods_total
  • container_cpu_cfs_periods_total
  • container_memory_usage_bytes
  • kubernetes_build_info"

kube-state-metrics

  • kube_node_status_capacity
  • kube_job_status_succeeded
  • kube_job_spec_completions
  • kube_daemonset_status_desired_number_scheduled
  • kube_daemonset_status_number_ready
  • kube_deployment_spec_replicas
  • kube_deployment_status_replicas_ready
  • kube_pod_container_status_last_terminated_reason
  • kube_node_status_condition
  • kube_pod_container_status_restarts_total
  • kube_pod_container_resource_requests
  • kube_pod_status_phase
  • kube_pod_container_resource_limits
  • kube_node_status_allocatable
  • kube_pod_info
  • kube_pod_owner
  • kube_resourcequota
  • kube_statefulset_replicas
  • kube_statefulset_status_replicas
  • kube_statefulset_status_replicas_ready
  • kube_statefulset_status_replicas_current
  • kube_statefulset_status_replicas_updated
  • kube_namespace_status_phase
  • kube_node_info
  • kube_statefulset_metadata_generation
  • kube_pod_labels
  • kube_pod_annotations
  • kube_horizontalpodautoscaler_status_current_replicas
  • kube_horizontalpodautoscaler_status_desired_replicas
  • kube_horizontalpodautoscaler_spec_min_replicas
  • kube_horizontalpodautoscaler_spec_max_replicas
  • kube_node_status_condition
  • kube_node_spec_taint
  • kube_pod_container_status_waiting_reason
  • kube_job_failed
  • kube_job_status_start_time
  • kube_deployment_spec_replicas
  • kube_deployment_status_replicas_available
  • kube_deployment_status_replicas_updated
  • kube_job_status_active
  • kubernetes_build_info
  • kube_pod_container_info
  • kube_replicaset_owner
  • kube_resource_labels (например, kube_pod_labels, kube_deployment_labels)
  • kube_resource_annotations (например, kube_pod_annotations, kube_deployment_annotations)

node-exporter (Linux)

  • node_cpu_seconds_total
  • node_memory_MemAvailable_bytes
  • node_memory_Buffers_bytes
  • node_memory_Cached_bytes
  • node_memory_MemFree_bytes
  • node_memory_Slab_bytes
  • node_memory_MemTotal_bytes
  • node_netstat_Tcp_RetransSegs
  • node_netstat_Tcp_OutSegs
  • node_netstat_TcpExt_TCPSynRetrans
  • node_load1``node_load5
  • node_load15
  • node_disk_read_bytes_total
  • node_disk_written_bytes_total
  • node_disk_io_time_seconds_total
  • node_filesystem_size_bytes
  • node_filesystem_avail_bytes
  • node_filesystem_readonly
  • node_network_receive_bytes_total
  • node_network_transmit_bytes_total
  • node_vmstat_pgmajfault
  • node_network_receive_drop_total
  • node_network_transmit_drop_total
  • node_disk_io_time_weighted_seconds_total
  • node_exporter_build_info
  • node_time_seconds
  • node_uname_info"

Замечание

В настоящее время сервер controlplane-apiserver и controlplane-etcd находятся в предварительной версии и требуют включения флага. Следуйте документации здесь.

controlplane-apiserver

  • apiserver_request_total
  • apiserver_cache_list_fetched_objects_total
  • apiserver_cache_list_returned_objects_total
  • apiserver_flowcontrol_demand_seats_average
  • apiserver_flowcontrol_current_limit_seats
  • apiserver_request_sli_duration_seconds_bucket
  • apiserver_request_sli_duration_seconds_count
  • apiserver_request_sli_duration_seconds_sum
  • process_start_time_seconds
  • apiserver_request_duration_seconds_bucket
  • apiserver_request_duration_seconds_count
  • apiserver_request_duration_seconds_sum
  • apiserver_storage_list_fetched_objects_total
  • apiserver_storage_list_returned_objects_total
  • apiserver_current_inflight_requests

controlplane-etcd

  • etcd_server_has_leader
  • rest_client_requests_total
  • etcd_mvcc_db_total_size_in_bytes
  • etcd_mvcc_db_total_size_in_use_in_bytes
  • etcd_server_slow_read_indexes_total
  • etcd_server_slow_apply_total
  • etcd_network_client_grpc_sent_bytes_total
  • etcd_server_heartbeat_send_failures_total

Минимальное потребление для целевых объектов "OFF" по умолчанию

Ниже приведены метрики, разрешенные minimalingestionprofile=true для целевых объектов OFF по умолчанию. Эти метрики не собираются по умолчанию, так как эти целевые объекты по умолчанию не удаляются (из-за отключения по умолчанию). Вы можете включить очистку для этих целевых объектов с помощью default-scrape-settings-enabled.<target-name>=trueama-metrics-settings-configmap в разделеdefault-scrape-settings-enabled.

core-dns

  • coredns_build_info
  • coredns_panics_total
  • coredns_dns_responses_total
  • coredns_forward_responses_total
  • coredns_dns_request_duration_seconds coredns_dns_request_duration_seconds_bucket coredns_dns_request_duration_seconds_sum coredns_dns_request_duration_seconds_count
  • coredns_forward_request_duration_seconds coredns_forward_request_duration_seconds_bucket coredns_forward_request_duration_seconds_sum coredns_forward_request_duration_seconds_count
  • coredns_dns_requests_total
  • coredns_forward_requests_total
  • coredns_cache_hits_total
  • coredns_cache_misses_total
  • coredns_cache_entries
  • coredns_plugin_enabled
  • coredns_dns_request_size_bytes coredns_dns_request_size_bytes_bucket coredns_dns_request_size_bytes_sum coredns_dns_request_size_bytes_count
  • coredns_dns_response_size_bytes coredns_dns_response_size_bytes_bucket coredns_dns_response_size_bytes_sum coredns_dns_response_size_bytes_count
  • coredns_dns_response_size_bytes coredns_dns_response_size_bytes_bucket coredns_dns_response_size_bytes_sum coredns_dns_response_size_bytes_count
  • process_resident_memory_bytes
  • process_cpu_seconds_total
  • go_goroutines
  • kubernetes_build_info"

kube-proxy

  • kubeproxy_sync_proxy_rules_duration_seconds kubeproxy_sync_proxy_rules_duration_seconds_bucket kubeproxy_sync_proxy_rules_duration_seconds_sum kubeproxy_sync_proxy_rules_duration_seconds_count kubeproxy_network_programming_duration_seconds
  • kubeproxy_network_programming_duration_seconds kubeproxy_network_programming_duration_seconds_bucket kubeproxy_network_programming_duration_seconds_sum kubeproxy_network_programming_duration_seconds_count rest_client_requests_total
  • rest_client_request_duration_seconds rest_client_request_duration_seconds_bucket rest_client_request_duration_seconds_sum rest_client_request_duration_seconds_count
  • process_resident_memory_bytes
  • process_cpu_seconds_total
  • go_goroutines
  • kubernetes_build_info"

api-server

  • apiserver_request_duration_seconds apiserver_request_duration_seconds_bucket apiserver_request_duration_seconds_sum apiserver_request_duration_seconds_count
  • apiserver_request_total
  • workqueue_adds_total``workqueue_depth
  • workqueue_queue_duration_seconds workqueue_queue_duration_seconds_bucket workqueue_queue_duration_seconds_sum workqueue_queue_duration_seconds_count
  • process_resident_memory_bytes
  • process_cpu_seconds_total
  • go_goroutines
  • kubernetes_build_info"

windows-exporter (job=windows-exporter)

  • windows_system_system_up_time
  • windows_cpu_time_total
  • windows_memory_available_bytes
  • windows_os_visible_memory_bytes
  • windows_memory_cache_bytes
  • windows_memory_modified_page_list_bytes
  • windows_memory_standby_cache_core_bytes
  • windows_memory_standby_cache_normal_priority_bytes
  • windows_memory_standby_cache_reserve_bytes
  • windows_memory_swap_page_operations_total
  • windows_logical_disk_read_seconds_total
  • windows_logical_disk_write_seconds_total
  • windows_logical_disk_size_bytes
  • windows_logical_disk_free_bytes
  • windows_net_bytes_total
  • windows_net_packets_received_discarded_total
  • windows_net_packets_outbound_discarded_total
  • windows_container_available
  • windows_container_cpu_usage_seconds_total
  • windows_container_memory_usage_commit_bytes
  • windows_container_memory_usage_private_working_set_bytes
  • windows_container_network_receive_bytes_total
  • windows_container_network_transmit_bytes_total

kube-proxy-windows (job=kube-proxy-windows)

  • kubeproxy_sync_proxy_rules_duration_seconds
  • kubeproxy_sync_proxy_rules_duration_seconds_bucket
  • kubeproxy_sync_proxy_rules_duration_seconds_sum
  • kubeproxy_sync_proxy_rules_duration_seconds_count
  • rest_client_requests_total
  • rest_client_request_duration_seconds
  • rest_client_request_duration_seconds_bucket
  • rest_client_request_duration_seconds_sum
  • rest_client_request_duration_seconds_count
  • process_resident_memory_bytes
  • process_cpu_seconds_total
  • go_goroutines

controlplane-cluster-autoscaler

  • rest_client_requests_total
  • cluster_autoscaler_last_activity
  • cluster_autoscaler_cluster_safe_to_autoscale
  • cluster_autoscaler_scale_down_in_cooldown
  • cluster_autoscaler_scaled_up_nodes_total
  • cluster_autoscaler_unneeded_nodes_count
  • cluster_autoscaler_unschedulable_pods_count
  • cluster_autoscaler_nodes_count
  • cloudprovider_azure_api_request_errors
  • cloudprovider_azure_api_request_duration_seconds_bucket
  • cloudprovider_azure_api_request_duration_seconds_count

controlplane-kube-scheduler

  • scheduler_pending_pods
  • scheduler_unschedulable_pods
  • scheduler_pod_scheduling_attempts
  • scheduler_queue_incoming_pods_total
  • scheduler_preemption_attempts_total
  • scheduler_preemption_victims
  • scheduler_scheduling_attempt_duration_seconds
  • scheduler_schedule_attempts_total
  • scheduler_pod_scheduling_duration_seconds

controlplane-kube-controller-manager

  • rest_client_request_duration_seconds
  • rest_client_requests_total
  • workqueue_depth

Дальнейшие шаги