الحد الأدنى من ملف تعريف الاستيعاب لمقاييس Prometheus في Azure Monitor

تجمع الوظيفة الإضافية لمقاييس Azure monitor عدد مقاييس Prometheus بشكل افتراضي. Minimal ingestion profile هو إعداد يساعد على تقليل حجم استيعاب المقاييس، حيث يتم جمع المقاييس المستخدمة فقط من قبل لوحات المعلومات الافتراضية وقواعد التسجيل الافتراضية والتنبيهات الافتراضية. توضح هذه المقالة كيفية تكوين هذا الإعداد. تسرد هذه المقالة أيضا المقاييس التي تم جمعها بشكل افتراضي عند minimal ingestion profile تمكينها. يمكنك تعديل المجموعة لتمكين جمع المزيد من المقاييس، كما هو محدد أدناه.

إشعار

بالنسبة للمجموعة المستندة إلى الوظيفة الإضافية، Minimal ingestion profile يتم تمكين الإعداد بشكل افتراضي.

يتم تمكين/تشغيل الأهداف التالية بشكل افتراضي - ما يعني أنك لست مضطرا إلى توفير أي تكوين وظيفة كشط لاستخراج هذه الأهداف، حيث ستقوم الوظيفة الإضافية للمقاييس بإلغاء هذه الأهداف تلقائيا بشكل افتراضي

  • 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" بشكل افتراضي على ملحق المقاييس. يمكنك تحديد هذا الإعداد في ama-metrics-settings-configmap ضمن 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)

مصدر العقدة (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

لوحة التحكم-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

الحد الأدنى من الاستيعاب لأهداف إيقاف التشغيل الافتراضية

فيما يلي المقاييس التي يتم سردها مع minimalingestionprofile=true لأهداف إيقاف التشغيل الافتراضية. لا يتم جمع هذه المقاييس بشكل افتراضي حيث لا يتم إلغاء هذه الأهداف بشكل افتراضي (بسبب إيقاف التشغيل بشكل افتراضي). يمكنك تشغيل استخراج هذه الأهداف باستخدام default-scrape-settings-enabled.<target-name>=true' باستخدام ama-metrics-settings-configmap ضمن default-scrape-settings-enabled القسم .

نواة 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 (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

مقياس تلقائي لمجموعة التحكم

  • 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

جدولة مخطط التحكم

  • 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

الخطوات التالية