Profil d’ingestion minimal pour des métriques Prometheus dans Azure Monitor
Le module complémentaire de métriques Azure Monitor collecte le nombre de métriques Prometheus par défaut. Minimal ingestion profile
est un paramètre qui permet de réduire le volume d’ingestion de métriques, car seules les métriques utilisées par des tableaux de bord par défaut, des règles d’enregistrement par défaut et des alertes par défaut sont collectées. Cet article décrit comment ce paramètre est configuré. Cet article répertorie également les métriques collectées par défaut lorsque minimal ingestion profile
est activé. Vous pouvez modifier la collection pour permettre la collecte d’autres métriques, comme spécifié ci-dessous.
Notes
Pour la collection basée sur un module complémentaire, le paramètre Minimal ingestion profile
est activé par défaut.
Les cibles suivantes sont activées par défaut, ce qui signifie que vous n’avez pas besoin de fournir une configuration de travail de scraping pour le ces cibles, car le module complémentaire des métriques scrape automatiquement ces cibles par défaut
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
)
Les cibles suivantes sont disponibles pour scraper, mais le scraping n’est pas activé (désactivé) par défaut, ce qui signifie que vous n’avez pas à fournir de configuration de travail de scraping pour scraper ces cibles, mais elles sont désactivées par défaut et vous devez activer/activer le scraping pour ces cibles à l’aide d’ama-metrics-settings-configmap sous la section 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
)
Notes
La fréquence d’extraction par défaut pour toutes les cibles et extractions par défaut est de 30 seconds
. Vous pouvez la remplacer par cible à l’aide de la section ama-metrics-settings-configmap sous default-targets-scrape-interval-settings
.
Les cibles du plan de contrôle ont un intervalle de scraping fixe de 30 seconds
et vous ne pouvez pas le remplacer.
Vous pouvez en savoir plus sur quatre configmaps différents utilisés par le module complémentaire de métriques ici
Paramètre de configuration
Le paramètre default-targets-metrics-keep-list.minimalIngestionProfile="true"
est activé par défaut sur le module complémentaire de métriques. Vous pouvez spécifier ce paramètre dans ama-metrics-settings-configmap sous la section default-targets-metrics-keep-list
.
Scénarios
Il existe quatre scénarios dans lesquels vous souhaiterez peut-être personnaliser ce comportement :
Ingérer uniquement des métriques minimales par cible par défaut.
Il s’agit du comportement par défaut avec le paramètre default-targets-metrics-keep-list.minimalIngestionProfile="true"
. Seules les métriques répertoriées ci-dessous sont ingérées pour chacune des cibles par défaut.
Ingérez quelques métriques supplémentaires pour une ou plusieurs cibles par défaut en plus des métriques minimales.
Conservez minimalIngestionProfile="true"
et spécifiez le keeplistRegexes.*
approprié spécifique à la cible, par exemple keeplistRegexes.coreDns="X``Y"
. X,Y sont fusionnés avec la liste de métriques par défaut pour la cible, puis ingérés. ``
Ingérer uniquement un ensemble spécifique de métriques pour une cible, et rien d’autre.
Conservez minimalIngestionProfile="false"
et spécifiez le default-targets-metrics-keep-list.="X``Y"
approprié spécifique à la cible dans ama-metrics-settings-configmap
.
Ingérer toutes les métriques scrapées pour la cible par défaut.
Définissez minimalIngestionProfile="false"
et ne spécifiez aucun default-targets-metrics-keep-list.<targetname>
pour cette cible. Passer à false
peut augmenter le volume d’ingestion de métriques d’un facteur par cible.
Notes
La métrique up
ne fait pas partie de la liste d’autorisation/de conservation, car elle est ingérée par scrape, par cible, indépendamment du keepLists
spécifié. Cette métrique n’est pas réellement scrapée, mais produite à la suite de l’opération de scraping par le module complémentaire de métriques. Pour les histogrammes et les résumés, chaque série doit être incluse explicitement dans la liste (séries *bucket
, *sum
, *count
).
Ingestion minimale pour les cibles ON par défaut
Les métriques suivantes sont répertoriées comme autorisées avec minimalingestionprofile=true
pour les cibles ON par défaut. Les métriques ci-dessous sont collectées par défaut, car ces cibles sont scrapées par défaut.
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
(exemple : kube_pod_labels, kube_deployment_labels)kube_resource_annotations
(exemple : 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
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
Ingestion minimale pour les cibles désactivées par défaut
Les métriques suivantes sont répertoriées comme autorisées avec minimalingestionprofile=true
pour les cibles désactivées par défaut. Ces métriques ne sont pas collectées par défaut, car ces cibles ne sont pas scrapées par défaut (comme elles sont désactivées par défaut). Vous pouvez activer le scraping pour ces cibles à l’aide de default-scrape-settings-enabled.<target-name>=true
' avec d’ama-metrics-settings-configmap sous la section 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