Freigeben über


Profil für minimale Erfassung für Prometheus-Metriken in Azure Monitor

Das Azure Monitor-Metrik-Addon erfasst standardmäßig die Anzahl der Prometheus-Metriken. Minimal ingestion profile ist eine Einstellung, die hilft, das Erfassungsvolumen von Metriken zu reduzieren, da nur Metriken gesammelt werden, die von Standarddashboards verwendet werden, Standardaufzeichnungsregeln und Standardwarnungen. In diesem Artikel wird beschrieben, wie diese Einstellung konfiguriert ist. In diesem Artikel werden auch standardmäßig erfasste Metriken aufgeführt, wenn minimal ingestion profile aktiviert ist. Sie können die Sammlung ändern, um das Sammeln weiterer Metriken zu ermöglichen, wie unten angegeben.

Hinweis

Für die auf Add-ons basierende Sammlung ist die Einstellung Minimal ingestion profile standardmäßig aktiviert.

Die folgenden Ziele sind standardmäßig aktiviert/AKTIVIERT – d. h., Sie müssen keine Scrape-Auftragskonfiguration für das Verschrotten dieser Ziele bereitstellen, da das Metrik-Addon diese Ziele standardmäßig automatisch verschrottet.

  • 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)

Die folgenden Ziele sind für das Scraping verfügbar, jedoch ist das Scraping standardmäßig deaktiviert (deaktiviert/OFF). Das bedeutet, dass Sie keine Scrape-Auftragskonfiguration für das Scraping dieser Ziele bereitstellen müssen, da diese standardmäßig deaktiviert sind. Sie müssen das Scraping für diese Ziele mithilfe von ama-metrics-settings-configmap im default-scrape-settings-enabled Abschnitt aktivieren/anschalten.

  • 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)
  • controlplane-node-auto-provisioning (job=controlplane-node-auto-provisioning)

Hinweis

Die standardmäßige Auslesehäufigkeit für alle standardmäßigen Ziele und Auslesevorgänge beträgt 30 seconds. Sie können sie pro Ziel überschreiben, indem Sie die ama-metrics-settings-configmap unter default-targets-scrape-interval-settings Abschnitt verwenden. Die Ziele auf Steuerungsebene haben ein festes Ausleseintervall von 30 seconds und können nicht überschrieben werden. Weitere Informationen zu vier verschiedenen Configmaps, die von dem Metrik-Addon verwendet werden, finden Sie hier

Konfigurationseinstellung

Die Einstellung default-targets-metrics-keep-list.minimalIngestionProfile="true" ist standardmäßig für das Metrik-Addon aktiviert. Sie können diese Einstellung in ama-metrics-settings-configmap unter default-targets-metrics-keep-list Abschnitt angeben.

Szenarien

Es gibt vier Szenarien, in denen Sie dieses Verhalten möglicherweise anpassen möchten:

Erfassen von minimalen Metriken pro Standardziel
Dies ist das Standardverhalten mit der Einstellung default-targets-metrics-keep-list.minimalIngestionProfile="true". Nur die unten aufgeführten Metriken werden für jedes der Standardziele aufgenommen.

Nehmen Sie zusätzlich zu minimalen Metriken einige weitere Metriken für ein oder mehrere Standardziele ein.
Behalten Sie minimalIngestionProfile="true" und geben Sie die entsprechenden keeplistRegexes.* spezifisch für das Ziel an, z. B. keeplistRegexes.coreDns="X``Y". X,Y wird mit der Standardmetrikliste für das Ziel zusammengeführt und dann erfasst. ``

Nehmen Sie nur einen bestimmten Satz von Metriken für ein Ziel ein, und nichts anderes.
Legen Sie minimalIngestionProfile="false" fest und spezifizieren Sie den entsprechenden default-targets-metrics-keep-list.="X``Y", der auf das Ziel im ama-metrics-settings-configmap abgestimmt ist.

Erfassen aller Metriken für das Standardziel
Setzen Sie minimalIngestionProfile="false", und geben Sie keine default-targets-metrics-keep-list.<targetname> für dieses Ziel an. Durch den Wechsel zu false kann das metrische Aufnahmevolumen pro Ziel um einen Faktor erhöht werden.

Hinweis

Die up-Metrik ist nicht Teil der Positivliste (keep list), da sie unabhängig von der Angabe von keepLists bei jedem Auslesen für jedes Ziel erfasst wird. Diese Metrik wird nicht tatsächlich ausgelesen, sondern als Ergebnis des Auslesevorgangs durch das Metrik-Add-on erzeugt. Für Histogramme und Zusammenfassungen muss jede Datenreihe explizit in die Liste (*bucket, *sum, *count Reihe) aufgenommen werden.

Minimale Erfassung für aktivierte Standardziele

Die folgenden Metriken sind bei aktivierten Standardzielen mit minimalingestionprofile=true in der Positivliste. Die nachfolgenden Metriken werden standardmäßig erfasst, da diese Ziele standardmäßig ausgelesen werden.

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_secondskubelet_runtime_operations_duration_seconds_bucketkubelet_runtime_operations_duration_seconds_sumkubelet_runtime_operations_duration_seconds_count
  • kubelet_pod_start_duration_secondskubelet_pod_start_duration_seconds_bucketkubelet_pod_start_duration_seconds_sumkubelet_pod_start_duration_seconds_count
  • kubelet_pod_worker_duration_secondskubelet_pod_worker_duration_seconds_bucketkubelet_pod_worker_duration_seconds_sumkubelet_pod_worker_duration_seconds_count
  • storage_operation_duration_secondsstorage_operation_duration_seconds_bucketstorage_operation_duration_seconds_sumstorage_operation_duration_seconds_count
  • storage_operation_errors_total
  • kubelet_cgroup_manager_duration_secondskubelet_cgroup_manager_duration_seconds_bucketkubelet_cgroup_manager_duration_seconds_sumkubelet_cgroup_manager_duration_seconds_count
  • kubelet_pleg_relist_duration_secondskubelet_pleg_relist_duration_seconds_bucketkubelet_pleg_relist_duration_sumkubelet_pleg_relist_duration_seconds_count
  • kubelet_pleg_relist_interval_secondskubelet_pleg_relist_interval_seconds_bucketkubelet_pleg_relist_interval_seconds_sumkubelet_pleg_relist_interval_seconds_count
  • rest_client_requests_total
  • rest_client_request_duration_secondsrest_client_request_duration_seconds_bucketrest_client_request_duration_seconds_sumrest_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 (z. B.: kube_pod_labels, kube_deployment_labels)
  • kube_resource_annotations (z. B.: 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"

Hinweis

Der controlplane-apiserver und controlplane-etcd befinden sich derzeit in der Vorschau und erfordern das Aktivieren des Flags. Folgen Sie der Dokumentation hier.

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

Minimale Erfassung für deaktivierte Standardziele

Im Folgenden finden Sie Metriken, die mit minimalingestionprofile=true auf die Zulassungsliste für standardmäßig deaktivierte Ziele gesetzt wurden. Diese Metriken werden standardmäßig nicht erfasst, da diese Ziele standardmäßig nicht ausgelesen werden (aufgrund dessen, dass sie standardmäßig deaktiviert sind). Sie können das Auslesen für diese Ziele aktivieren, indem Sie default-scrape-settings-enabled.<target-name>=true mithilfe von ama-metrics-settings-configmap im Abschnitt default-scrape-settings-enabled verwenden.

core-dns

  • coredns_build_info
  • coredns_panics_total
  • coredns_dns_responses_total
  • coredns_forward_responses_total
  • coredns_dns_request_duration_secondscoredns_dns_request_duration_seconds_bucketcoredns_dns_request_duration_seconds_sumcoredns_dns_request_duration_seconds_count
  • coredns_forward_request_duration_secondscoredns_forward_request_duration_seconds_bucketcoredns_forward_request_duration_seconds_sumcoredns_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_bytescoredns_dns_request_size_bytes_bucketcoredns_dns_request_size_bytes_sumcoredns_dns_request_size_bytes_count
  • coredns_dns_response_size_bytescoredns_dns_response_size_bytes_bucketcoredns_dns_response_size_bytes_sumcoredns_dns_response_size_bytes_count
  • coredns_dns_response_size_bytescoredns_dns_response_size_bytes_bucketcoredns_dns_response_size_bytes_sumcoredns_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_secondskubeproxy_sync_proxy_rules_duration_seconds_bucketkubeproxy_sync_proxy_rules_duration_seconds_sumkubeproxy_sync_proxy_rules_duration_seconds_countkubeproxy_network_programming_duration_seconds
  • kubeproxy_network_programming_duration_secondskubeproxy_network_programming_duration_seconds_bucketkubeproxy_network_programming_duration_seconds_sumkubeproxy_network_programming_duration_seconds_countrest_client_requests_total
  • rest_client_request_duration_secondsrest_client_request_duration_seconds_bucketrest_client_request_duration_seconds_sumrest_client_request_duration_seconds_count
  • process_resident_memory_bytes
  • process_cpu_seconds_total
  • go_goroutines
  • kubernetes_build_info"

API-Server

  • apiserver_request_duration_secondsapiserver_request_duration_seconds_bucketapiserver_request_duration_seconds_sumapiserver_request_duration_seconds_count
  • apiserver_request_total
  • workqueue_adds_total``workqueue_depth
  • workqueue_queue_duration_secondsworkqueue_queue_duration_seconds_bucketworkqueue_queue_duration_seconds_sumworkqueue_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

controlplane-node-auto-provisioning

  • karpenter_pods_state
  • karpenter_nodes_created_total
  • karpenter_nodes_terminated_total
  • karpenter_nodeclaims_disrupted_total
  • karpenter_voluntary_disruption_eligible_nodes
  • karpenter_voluntary_disruption_decisions_total

Nächste Schritte