Freigeben über


Standardmäßige Prometheus-Metrikkonfiguration in Azure Monitor

In diesem Artikel werden die Standardziele, Dashboards und Aufzeichnungsregeln aufgeführt, wenn Sie Prometheus-Metriken so konfigurieren , dass sie aus einem Azure Kubernetes Service (AKS)-Cluster oder Azure Arc-fähigen Kubernetes entfernt werden.

Profil für minimale Erfassung

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. Für die auf Add-ons basierende Sammlung ist die Einstellung Minimal ingestion profile standardmäßig aktiviert. Sie können die Sammlung ändern, um das Sammeln weiterer Metriken zu ermöglichen, wie unten angegeben.

Auslesehäufigkeit

Die standardmäßige Auslesehäufigkeit für alle standardmäßigen Ziele und Auslesevorgänge beträgt 30 Sekunden.

Standardmäßig ausgelesene Ziele

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)
  • networkobservabilityRetina (job=networkobservabilityRetina)

Die folgenden Ziele sind aktiviert/EIN, wenn Sie das Feature für die Steuerungsebenenmetriken (Vorschau) aktivieren. Sie können Steuerebenenmetriken verwenden, um die Gesamtbeobachtbarkeit zu maximieren und operative Exzellenz für Ihren AKS-Cluster aufrechtzuerhalten. Weitere Informationen finden Sie unter Kontrollflächenmetriken (Vorschau).

  • controlplane-apiserver (job=controlplane-apiserver)
  • controlplane-etcd (job=controlplane-etcd)

Die folgenden Ziele sind aktiviert/ON, wenn Sie Container Network Observability aktivieren, was ein Feature der Advanced Container Networking Services-Suite ist und mit allen Linux-Workloads nahtlos in Hubble für Cilium oder nicht-Cilium-basierten Datenebenen kompatibel ist. Dies ermöglicht Flexibilität für Ihre Containernetzwerkanforderungen. Weitere Informationen finden Sie unter Advanced Container Networking Services.

  • networkobservabilityHubble (job=networkobservabilityHubble)
  • networkobservabilityCilium (job=networkobservabilityCilium)

Die folgenden Ziele sind aktiviert/ON , wenn Sie Azure Container Storage aktivieren, bei dem es sich um einen cloudbasierten Volumeverwaltungs-, Bereitstellungs- und Orchestrierungsdienst handelt, der nativ für Container erstellt und in AKS integriert wird. Weitere Informationen finden Sie unter Azure Container Storage.

  • acstor-capacity-provisioner (job=acstor-capacity-provisioner)
  • acstor-metrics-exporter (job=acstor-metrics-exporter)

Metriken, die aus Standardzielen gesammelt wurden

Die folgenden Metriken werden standardmäßig von jedem Standardziel erfasst. Alle anderen Metriken werden durch Neubezeichnungsregeln gelöscht.

cadvisor (job=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
  • kubernetes_build_info"

kubelet (job=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"

nodexporter (job=node)

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

kube-state-metrics (job=kube-state-metrics)

  • kube_job_status_succeeded
  • kube_job_spec_completions
  • kube_daemonset_status_desired_number_scheduled
  • kube_daemonset_status_number_ready
  • kube_deployment_status_replicas_ready
  • kube_pod_container_status_last_terminated_reason
  • kube_pod_container_status_waiting_reason
  • kube_pod_container_status_restarts_total
  • kube_node_status_allocatable
  • kube_pod_owner
  • kube_pod_container_resource_requests
  • kube_pod_status_phase
  • kube_pod_container_resource_limits
  • kube_replicaset_owner
  • kube_resourcequota
  • kube_namespace_status_phase
  • kube_node_status_capacity
  • kube_node_info
  • kube_pod_info
  • kube_deployment_spec_replicas
  • kube_deployment_status_replicas_available
  • kube_deployment_status_replicas_updated
  • kube_statefulset_status_replicas_ready
  • kube_statefulset_status_replicas
  • kube_statefulset_status_replicas_updated
  • kube_job_status_start_time
  • kube_job_status_active
  • kube_job_failed
  • kube_horizontalpodautoscaler_status_desired_replicas
  • kube_horizontalpodautoscaler_status_current_replicas
  • kube_horizontalpodautoscaler_spec_min_replicas
  • kube_horizontalpodautoscaler_spec_max_replicas
  • kubernetes_build_info
  • kube_node_status_condition
  • kube_node_spec_taint
  • kube_pod_container_info
  • kube_resource_labels (z. B.: kube_pod_labels, kube_deployment_labels)
  • kube_resource_annotations (z. B.: kube_pod_annotations, kube_deployment_annotations)

controlplane-apiserver (job=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{le=+inf}
  • apiserver_request_sli_duration_seconds_count
  • apiserver_request_sli_duration_seconds_sum
  • process_start_time_seconds
  • apiserver_request_duration_seconds_bucket{le=+inf}
  • 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

Hinweis

apiserver_request_duration_seconds und apiserver_request_sli_duration_seconds sind Histogrammmetriken, die eine hohe Kardinalität aufweisen, und nicht alle Datenreihen werden standardmäßig erfasst (minimales Erfassungsprofil). Nur die Summe und die Anzahl werden zur Erfassung der durchschnittlichen Latenzen verwendet.

controlplane-etcd (job=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

networkobservabilityHubble (job=networkobservabilityHubble) und networkobservabilityCilium (job=networkobservabilityCilium)
Eine Liste der metriken, die von diesen Zielen gesammelt werden, finden Sie unter Container Network Observability metrics

acstor-capacity-provisioner (job=acstor-capacity-provisioner) und acstor-metrics-exporter (job=acstor-metrics-exporter)
Eine Liste der Metriken, die von diesen Zielen erfasst werden, finden Sie unter Azure Container Storage-Metriken.

Für Windows ausgelesene Standardziele

Die folgenden Windows-Ziele sind für Scraping konfiguriert, aber das Scraping ist standardmäßig nicht aktiviert (deaktiviert/OFF). Das bedeutet, dass Sie keine Scrapingauftragskonfiguration für das Scraping dieser Ziele bereitstellen müssen. Sie sind jedoch standardmäßig deaktiviert/OFF, und Sie müssen das Scraping für diese Ziele mithilfe von ama-metrics-settings-configmap im Abschnitt default-scrape-settings-enabled aktivieren (ON).

Für Windows können zwei Standardaufgaben ausgeführt werden, die Metriken erfassen, die für die spezifischen Dashboards von Windows erforderlich sind.

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

Hinweis

Dies erfordert das Anwenden oder Aktualisieren der ama-metrics-settings-configmap Configmap und die windows-exporter Installation auf allen Windows-Knoten. Weitere Informationen finden Sie im Enablement-Dokument.

Metriken, die für Windows ausgelesen werden

Die folgenden Metriken werden erfasst, wenn windows-exporter und kube-proxy-windows aktiviert sind.

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

Dashboards

Die folgenden Standarddashboards werden automatisch von Azure Monitor verwalteter Dienst für Prometheus bereitgestellt und konfiguriert, wenn Sie Ihren Azure Monitor-Arbeitsbereich mit einer Azure Managed Grafana-Instanz verknüpfen. Quellcode für diese Dashboards finden Sie in diesem GitHub-Repository. Die folgenden Dashboards werden in der angegebenen Azure Grafana-Instanz unter Managed Prometheus Ordner in Grafana bereitgestellt. Dies sind die standardmäßigen Open-Source-Community-Dashboards für die Überwachung von Kubernetes-Clustern mit Prometheus und Grafana.

  • Kubernetes / Compute Resources / Cluster
  • Kubernetes / Compute Resources / Namespace (Pods)
  • Kubernetes / Compute Resources / Node (Pods)
  • Kubernetes / Compute Resources / Pod
  • Kubernetes / Compute Resources / Namespace (Workloads)
  • Kubernetes / Compute Resources / Workload
  • Kubernetes / Kubelet
  • Node Exporter / USE Method / Node
  • Node Exporter / Nodes
  • Kubernetes / Compute Resources / Cluster (Windows)
  • Kubernetes / Compute Resources / Namespace (Windows)
  • Kubernetes / Compute Resources / Pod (Windows)
  • Kubernetes / USE Method / Cluster (Windows)
  • Kubernetes / USE Method / Node (Windows)

Aufzeichnungsregeln

Die folgenden Standardaufzeichnungsregeln werden automatisch vom verwalteten Azure Monitor-Dienst für Prometheus konfiguriert, wenn Sie Prometheus-Metriken so konfigurieren, dass sie aus einem Azure Kubernetes Service (AKS)-Cluster abgerufen werden. Quellcode für diese Aufzeichnungsregeln finden Sie in diesem GitHub-Repository. Dies sind die standardmäßigen Open Source-Aufzeichnungsregeln, die in den obigen Dashboards verwendet werden.

  • cluster:node_cpu:ratio_rate5m
  • namespace_cpu:kube_pod_container_resource_requests:sum
  • namespace_cpu:kube_pod_container_resource_limits:sum
  • :node_memory_MemAvailable_bytes:sum
  • namespace_memory:kube_pod_container_resource_requests:sum
  • namespace_memory:kube_pod_container_resource_limits:sum
  • namespace_workload_pod:kube_pod_owner:relabel
  • node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate
  • cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests
  • cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits
  • cluster:namespace:pod_memory:active:kube_pod_container_resource_requests
  • cluster:namespace:pod_memory:active:kube_pod_container_resource_limits
  • node_namespace_pod_container:container_memory_working_set_bytes
  • node_namespace_pod_container:container_memory_rss
  • node_namespace_pod_container:container_memory_cache
  • node_namespace_pod_container:container_memory_swap
  • instance:node_cpu_utilisation:rate5m
  • instance:node_load1_per_cpu:ratio
  • instance:node_memory_utilisation:ratio
  • instance:node_vmstat_pgmajfault:rate5m
  • instance:node_network_receive_bytes_excluding_lo:rate5m
  • instance:node_network_transmit_bytes_excluding_lo:rate5m
  • instance:node_network_receive_drop_excluding_lo:rate5m
  • instance:node_network_transmit_drop_excluding_lo:rate5m
  • instance_device:node_disk_io_time_seconds:rate5m
  • instance_device:node_disk_io_time_weighted_seconds:rate5m
  • instance:node_num_cpu:sum
  • node:windows_node:sum
  • node:windows_node_num_cpu:sum
  • :windows_node_cpu_utilisation:avg5m
  • node:windows_node_cpu_utilisation:avg5m
  • :windows_node_memory_utilisation:
  • :windows_node_memory_MemFreeCached_bytes:sum
  • node:windows_node_memory_totalCached_bytes:sum
  • :windows_node_memory_MemTotal_bytes:sum
  • node:windows_node_memory_bytes_available:sum
  • node:windows_node_memory_bytes_total:sum
  • node:windows_node_memory_utilisation:ratio
  • node:windows_node_memory_utilisation:
  • node:windows_node_memory_swap_io_pages:irate
  • :windows_node_disk_utilisation:avg_irate
  • node:windows_node_disk_utilisation:avg_irate
  • node:windows_node_filesystem_usage:
  • node:windows_node_filesystem_avail:
  • :windows_node_net_utilisation:sum_irate
  • node:windows_node_net_utilisation:sum_irate
  • :windows_node_net_saturation:sum_irate
  • node:windows_node_net_saturation:sum_irate
  • windows_pod_container_available
  • windows_container_total_runtime
  • windows_container_memory_usage
  • windows_container_private_working_set_usage
  • windows_container_network_received_bytes_total
  • windows_container_network_transmitted_bytes_total
  • kube_pod_windows_container_resource_memory_request
  • kube_pod_windows_container_resource_memory_limit
  • kube_pod_windows_container_resource_cpu_cores_request
  • kube_pod_windows_container_resource_cpu_cores_limit
  • namespace_pod_container:windows_container_cpu_usage_seconds_total:sum_rate

Visualisierungsaufzeichnungsregeln für Prometheus

Wenn Sie Prometheus-basierte Containereinblicke verwenden, werden weitere Aufzeichnungsregeln bereitgestellt, um die Prometheus-Visualisierungen zu unterstützen.

  • ux:cluster_pod_phase_count:sum
  • ux:node_cpu_usage:sum_irate
  • ux:node_memory_usage:sum
  • ux:controller_pod_phase_count:sum
  • ux:controller_container_count:sum
  • ux:controller_workingset_memory:sum
  • ux:controller_cpu_usage:sum_irate
  • ux:controller_rss_memory:sum
  • ux:controller_resource_limit:sum
  • ux:controller_container_restarts:max
  • ux:pod_container_count:sum
  • ux:pod_cpu_usage:sum_irate
  • ux:pod_workingset_memory:sum
  • ux:pod_rss_memory:sum
  • ux:pod_resource_limit:sum
  • ux:pod_container_restarts:max
  • ux:node_network_receive_drop_total:sum_irate
  • ux:node_network_transmit_drop_total:sum_irate

Die folgenden Aufzeichnungsregeln sind für die Windows-Unterstützung erforderlich. Diese Regeln werden zusammen mit den oben genannten Regeln bereitgestellt, sie sind jedoch nicht standardmäßig aktiviert. Befolgen Sie die Anweisungen zum Aktivieren und Deaktivieren von Regelgruppen in Ihrem Azure Monitor-Arbeitsbereich.

  • ux:node_cpu_usage_windows:sum_irate
  • ux:node_memory_usage_windows:sum
  • ux:controller_cpu_usage_windows:sum_irate
  • ux:controller_workingset_memory_windows:sum
  • ux:pod_cpu_usage_windows:sum_irate
  • ux:pod_workingset_memory_windows:sum

Nächste Schritte

Anpassen des Scrapings von Prometheus-Metriken.