{"id":2667,"date":"2023-08-11T16:38:22","date_gmt":"2023-08-11T14:38:22","guid":{"rendered":"https:\/\/www.cloudwerkstatt.com\/?p=2667"},"modified":"2023-11-23T09:51:28","modified_gmt":"2023-11-23T08:51:28","slug":"prometheus-federation-exploring-all-job-metrics-vs-specific-metrics","status":"publish","type":"post","link":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/","title":{"rendered":"Prometheus Federation: All Job Metrics vs. Specific Metrics"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2670 size-full\" src=\"https:\/\/www.cloudwerkstatt.com\/wp-content\/uploads\/2023\/08\/prom_federation_all_vs_specific.jpg\" alt=\"Prometheus Federation\" width=\"940\" height=\"592\" srcset=\"https:\/\/www.cloudwerkstatt.com\/wp-content\/uploads\/2023\/08\/prom_federation_all_vs_specific.jpg 940w, https:\/\/www.cloudwerkstatt.com\/wp-content\/uploads\/2023\/08\/prom_federation_all_vs_specific-480x302.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 940px, 100vw\" \/><\/p>\n<p>In the realm of monitoring and observability, Prometheus has emerged as a prominent open-source solution, empowering organizations to gain valuable insights into their systems and applications.<br \/>\nOne key feature that sets Prometheus apart is its federation capabilities, which allow users to aggregate and consolidate data from multiple Prometheus instances.<\/p>\n<p>In this blog post, we will explore <a href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/federation\/\">Prometheus federation<\/a>, comparing two approaches: one with all job metrics and the other with specific metrics. By understanding the unique advantages and considerations of each approach, you&#8217;ll be equipped with the knowledge to make an informed decision about which federation strategy suits your monitoring needs.<\/p>\n<p>\n<\/p>\n<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<h2>What is Prometheus Federation?<\/h2>\n<p>Imagine you have a large infrastructure with multiple systems and services, each generating valuable metrics that you want to monitor and analyze. Prometheus federation allows you to bring all those metrics together from different Prometheus instances into a centralized view.<\/p>\n<p>Think of it like a team of detectives investigating a complex case. Each detective is responsible for gathering information about a specific aspect of the case. Similarly, each Prometheus instance focuses on monitoring specific services or clusters in your infrastructure and collects metrics related to them.<\/p>\n<p>Now, to solve the case effectively, the detectives need to collaborate and share their findings with each other. They do this by periodically meeting, exchanging information, and consolidating their knowledge. In the same way, Prometheus federation enables different Prometheus instances to meet, exchange metrics data, and create a unified view of your entire infrastructure.<\/p>\n<p>In summary, Prometheus federation is like a collaboration between detectives, where each detective (Prometheus instance) collects metrics about a specific area, and federation brings their findings together to create a comprehensive view of your infrastructure.<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<h2>Use Case for Federation<\/h2>\n<p>In this example, we will explore a scenario involving one Rancher cluster and one central Prometheus instance, chosen for the sake of simplicity. It is important to note that this blog post will not dig into the intricacies of Prometheus architecture or the process of building Prometheus at scale.<\/p>\n<p>To provide clarity throughout this blog post, let&#8217;s establish some technical details and naming conventions:<\/p>\n<table>\n<thead>\n<tr>\n<th>Kubernetes Cluster Name<\/th>\n<th>Kubernetes Flavor<\/th>\n<th>Number of Nodes<\/th>\n<th>CPU<\/th>\n<th>Memory<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>rancher1.cloudwerkstatt.com<\/td>\n<td>Rancher<\/td>\n<td>3<\/td>\n<td>4vCPU<\/td>\n<td>8GB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<thead>\n<tr>\n<th>Central Prometheus Instance<\/th>\n<th>CPU<\/th>\n<th>Memory<\/th>\n<th>Retention in Days<\/th>\n<th>Retention in GB<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>centralprom.cloudwerkstatt.com<\/td>\n<td>4vCPU<\/td>\n<td>4GB<\/td>\n<td>30d<\/td>\n<td>Not set for the purpose of this blog<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Additional technical details:<\/p>\n<ul>\n<li>Rancher cluster operates a Prometheus instance that exposes its metrics through the <code>\/federate<\/code> endpoint (implemented using the Kubernetes Ingress object).<\/li>\n<li>The central Prometheus instance consumes the <code>\/federate<\/code> endpoint of Rancher instances, serving as a centralized infrastructure view for all metrics.<\/li>\n<\/ul>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<h2>Configuring Rancher Federation<\/h2>\n<p>The configuration process for Rancher federation is similar across different Kubernetes flavors, as the underlying logic remains consistent. Let&#8217;s proceed with directly configuring federation for the Rancher clusters.<\/p>\n<p>To ensure seamless communication, we need to create an ingress that points to the Prometheus service&#8217;s <code>\/federate<\/code> URL. This ensures that the central Prometheus instance can access the following URLs:<\/p>\n<table>\n<thead>\n<tr>\n<th>Kubernetes Cluster Name<\/th>\n<th>Prometheus Federation URL<\/th>\n<th>Scrape Interval<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>rancher1.cloudwerkstatt.com<\/td>\n<td>prom.rancher1.cloudwerkstatt.com\/federate<\/td>\n<td>30s<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Here&#8217;s an example YAML for the ingress object that exposes Prometheus with federation:<\/p>\n<pre><code class=\"language-yaml\">apiVersion: networking.k8s.io\/v1\nkind: Ingress\nmetadata:\n  annotations:\n    cert-manager.io\/cluster-issuer: cluster-acme\n  name: expose-prom\n  namespace: cattle-monitoring-system\nspec:\n  rules:\n  - host: prom.rancher1.cloudwerkstatt.com\n    http:\n      paths:\n      - backend:\n          service:\n            name: rancher-monitoring-prometheus\n            port:\n              number: 9090\n        path: \/federate\n        pathType: ImplementationSpecific\n  tls:\n  - hosts:\n    - prom.rancher1.cloudwerkstatt.com\n    secretName: prom-secret<\/code><\/pre>\n<p>Feel free to adapt this example to match your specific cluster configurations and requirements. This YAML snippet demonstrates the creation of an ingress object, including the necessary annotations for certificate management. The <code>host<\/code> field specifies the URL for accessing the federation endpoint, while the <code>backend<\/code> section defines the service and port to route the traffic to. Additionally, the TLS section enables secure communication with the appropriate secret name for the SSL certificate.<\/p>\n<p>With the federation configured, we can proceed to explore the comparison between federating all job metrics and federating specific metrics in the subsequent sections of this blog post.<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<h2>Federate All metrics<\/h2>\n<p>First, we will begin by federating all metrics to showcase the sheer amount of data that can be collected. However, it is essential to understand and consider the purpose for which you want to collect all metrics. It is typically not considered a best practice to federate everything.<\/p>\n<p>To federate all metrics, we need to configure the central Prometheus instance accordingly. By specifying the appropriate configuration, the central Prometheus instance will collect and aggregate metrics from all federated sources. It is important to note that federating all metrics can have implications on resource consumption, such as memory, CPU, and disk usage.<\/p>\n<p>Within the <code>prometheus.yml<\/code> file of the central Prometheus configuration, you&#8217;ll find the section that handles the collection of all metrics from the federated endpoint.<\/p>\n<pre><code class=\"language-yaml\">scrape_configs:\n  - job_name: rancher-federate\n    scrape_timeout: 30s\n    honor_labels: true\n    metrics_path: &#039;\/federate&#039;\n    scheme: https\n    params:\n      &#039;match[]&#039;:\n        - &#039;{__name__=~&quot;.+&quot;}&#039; # Collect all\n    tls_config:\n      # For simplicity, let&#039;s skip SSL verification to focus on the main point of this blog\n      insecure_skip_verify: true\n    static_configs:\n      - targets:\n        - prom.rancher1.cloudwerkstatt.com\n        labels:\n          cluster_id: &#039;rancher1&#039;\n          env: &quot;Dev&quot;<\/code><\/pre>\n<p>Let&#8217;s examine some real data. Please note that this Rancher cluster is currently empty, meaning it does not run any applications and thus contains less data compared to a cluster with multiple running apps (pods). The data provided will illustrate the amount of data scraped in 24 hours. Now, envision having 10 or 100 clusters, each being scraped in the same manner. Such an approach would result in significant resource wastage due to suboptimal setup.<\/p>\n<table>\n<thead>\n<tr>\n<th>Central Prometheus Instance<\/th>\n<th>TSDB Size after 24h<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>centralprom.cloudwerkstatt.com<\/td>\n<td>630MB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Now, let&#8217;s perform some calculations based on the expanded setup:<\/p>\n<ul>\n<li>There are 40 clusters in total.<\/li>\n<li>The approximate size of each federated cluster&#8217;s TSDB (Time-Series Database) is 630MB.<\/li>\n<li>The retention period for the central Prometheus would be set to 30 days.<\/li>\n<\/ul>\n<p>If we intend to retain all this data for <code>30 days<\/code>, we would require around <code>(40 * 630 * 30) \/ 1024 \u2248 738GB<\/code> of storage. However, this would significantly increase the memory footprint for Prometheus too. Consequently, you would need to allocate more memory and CPU resources to handle the increased workload.<\/p>\n<p>In the next section, we will explore an alternative approach: federating specific metrics. This approach allows for a more targeted and efficient monitoring strategy, focusing only on the metrics that are most relevant to your specific use case and objectives.<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<h2>Federate Specific Metrics<\/h2>\n<p>In this example, we will explore the approach of federating only minimal set of metrics that are necessary for alerting purposes. By focusing on specific metrics, we can optimize resource usage and streamline monitoring operations.<\/p>\n<p>To begin, we need to configure the central Prometheus instance to federate only the desired metrics. By specifying the appropriate configuration, we ensure that only the selected metrics are collected and aggregated. This targeted approach allows for more efficient resource utilization, including memory, CPU, and disk usage.<\/p>\n<p>Please keep in mind that the snippet below of the <code>prometheus.yml<\/code> is just an example to demonstrate federation with a specific set of metrics.<\/p>\n<pre><code class=\"language-yaml\">scrape_configs:\n  - job_name: rancher-federate\n    scrape_timeout: 30s\n    honor_labels: true\n    metrics_path: &#039;\/federate&#039;\n    scheme: https\n    params:\n      &#039;match[]&#039;:\n        - &#039;{job=&quot;node-exporter&quot;}&#039;\n        - &#039;{job=&quot;rancher-monitoring-prometheus&quot;}&#039;\n        - &#039;{job=&quot;apiserver&quot;}&#039;\n        - &#039;{job=&quot;kube-state-metrics&quot;}&#039;\n        - &#039;{job=&quot;kube-scheduler&quot;}&#039;\n        - &#039;{job=&quot;kube-etcd&quot;}&#039;\n        - &#039;{job=&quot;kube-controller-manager&quot;}&#039;\n        - &#039;{job=&quot;kubelet&quot;}&#039;\n        - &#039;{job=&quot;coredns&quot;}&#039;\n        - &#039;{job=&quot;cert-manager&quot;}&#039;\n    tls_config:\n      insecure_skip_verify: true\n    metric_relabel_configs:\n      - source_labels: [__name__]\n        action: keep\n        regex: &quot;(kube_pod_status_phase|\\\n      etcd_network_peer_round_trip_time_seconds_bucket|\\\n      kube_node_status_condition|\\\n      kube_pod_container_status_restarts_total|\\\n      kube_persistentvolume_status_phase|\\\n      node_memory_MemAvailable_bytes|\\\n      node_memory_MemTotal_bytes|\\\n      kubelet_volume_stats_available_bytes|\\\n      kubelet_volume_stats_capacity_bytes|\\\n      node_filesystem_avail_bytes|\\\n      node_filesystem_size_bytes|\\\n      node_filesystem_readonly|\\\n      apiserver_client_certificate_expiration_seconds_count|\\\n      apiserver_client_certificate_expiration_seconds_bucket|\\\n      aggregator_unavailable_apiservice|\\\n      kube_pod_status_phase|\\\n      kube_pod_info|\\\n      kube_node_status_capacity|\\\n      node_network_up|\\\n      node_nf_conntrack_entries|\\\n      node_nf_conntrack_entries_limit|\\\n      prometheus_tsdb_head_samples_appended_total|\\\n      coredns_panics_total|\\\n      coredns_dns_responses_total|\\\n      etcd_network_peer_round_trip_time_seconds_bucket|\\\n      etcd_server_has_leader|\\\n      etcd_network_peer_sent_failures_total|\\\n      etcd_mvcc_db_total_size_in_bytes|\\\n      etcd_server_quota_backend_bytes|\\\n      etcd_server_is_leader|\\\n      container_memory_working_set_bytes|\\\n      kube_pod_container_resource_limits_memory_bytes|\\\n      kube_node_role|\\\n      kube_pod_container_resource_requests|\\\n      kube_pod_container_resource_limits|\\\n      certmanager_certificate_ready_status|\\\n      certmanager_http_acme_client_request_count|\\\n      certmanager_certificate_expiration_timestamp_seconds|\\\n      kube_node_status_allocatable|\\\n      kubelet_node_name|\\\n      up)&quot;\n    static_configs:\n      - targets:\n        - prom.rancher1.cloudwerkstatt.com\n        labels:\n          cluster_id: &#039;rancher1&#039;\n          env: &quot;Dev&quot;<\/code><\/pre>\n<p>Let&#8217;s take a look at some real data where only a specific set of jobs is scraped, and then only a specific set of metrics is stored in the central Prometheus. This ensures that the central Prometheus only stores metrics from the listed jobs and those defined in the <code>metric_relabel_configs<\/code>. The inclusion of <code>action: keep<\/code> is vital, as it ensures that any other metrics not meeting the criteria will be discarded, resulting in a substantial reduction in TSDB size.<\/p>\n<table>\n<thead>\n<tr>\n<th>Central Prometheus Instance<\/th>\n<th>TSDB Size after 24h<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>centralprom.cloudwerkstatt.com<\/td>\n<td>11MB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Once again let&#8217;s perform some calculations based on the expanded setup:<\/p>\n<ul>\n<li>There are 40 clusters in total<\/li>\n<li>The approximate size of each federated cluster&#8217;s TSDB (Time-Series Database) is 11MB.<\/li>\n<li>The retention period for the central Prometheus would be set to 30 days.<\/li>\n<\/ul>\n<p>So the data would persist for 30 days in the central Prometheus, and we will require around <code>( 40 * 11 * 30) \/ 1024 \u2248 12.9GB<\/code> of storage.<br \/>\nNow it is evident that the central Prometheus instance will contain much less data compared to the previous case where all metrics were collected. This also decreases the memory and CPU footprint on the central Prometheus.<\/p>\n<p>By federating specific metrics, we can create a monitoring setup that aligns closely with our alerting requirements. This approach enables us to focus on the metrics that are most crucial for detecting and responding to critical events. By eliminating unnecessary noise and reducing the volume of collected data, we can enhance the effectiveness and responsiveness of our alerting system.<\/p>\n<p>In the next section, we will further explore the benefits and considerations of federating specific metrics, as well as provide guidance on best practices for implementing this approach effectively.<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<h2>Benefits and Considerations of Federating Specific Metrics<\/h2>\n<p>Federating specific metrics offers several advantages, allowing for a more targeted and efficient monitoring strategy. Let&#8217;s explore some of the key benefits and considerations associated with this approach:<\/p>\n<ul>\n<li>\n<p><strong>Reduced Resource Consumption:<\/strong> Federating specific metrics optimizes resource usage on the central Prometheus instance.<\/p>\n<\/li>\n<li>\n<p><strong>Reduce federation failure:<\/strong> Federation is not designed to handle the federation of all jobs, and attempting to federate a large number of metrics from all jobs can lead to issues. You may encounter errors in the Prometheus logs with a <code>federation failed<\/code> message.<\/p>\n<\/li>\n<\/ul>\n<h4>Considerations:<\/h4>\n<ul>\n<li>\n<p><strong>Missing Metrics for Central Dashboarding:<\/strong> Federating specific metrics means that not all metrics are available in the central Prometheus instance. This can make central dashboarding more challenging, as you may not have a complete overview of all metrics in a single location. It requires careful planning and coordination to ensure that the essential metrics for centralized monitoring and reporting are federated.<\/p>\n<\/li>\n<li>\n<p><strong>Potential Overlooking of Critical Metrics:<\/strong> When selecting specific metrics for federation, there is a risk of overlooking important metrics that may be crucial for identifying emerging issues or trends. It is crucial to thoroughly analyze your system, involve stakeholders, and gather feedback to ensure that the chosen metrics accurately reflect the health and performance of your system.<\/p>\n<\/li>\n<li>\n<p><strong>Maintenance Overhead:<\/strong> Federating specific metrics may introduce additional maintenance overhead. As your system evolves, the set of critical metrics may change, requiring periodic review and refinement of the federated metrics. It is essential to allocate resources for monitoring configuration updates and metric validation to ensure the effectiveness of your monitoring setup.<\/p>\n<\/li>\n<\/ul>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<h2>Central Prometheus TSDB Stats Comparison<\/h2>\n<p>Time Series Database Stats:<\/p>\n<p>\n\n<\/p>\n<h4>All Metrics after 24H<\/h4>\n<p>Top 10 series count by metric names<\/p>\n<table>\n<thead>\n<tr>\n<th>Name<\/th>\n<th>Count<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>apiserver_request_slo_duration_seconds_bucket<\/td>\n<td>11308<\/td>\n<\/tr>\n<tr>\n<td>apiserver_request_duration_seconds_bucket<\/td>\n<td>7760<\/td>\n<\/tr>\n<tr>\n<td>etcd_request_duration_seconds_bucket<\/td>\n<td>6696<\/td>\n<\/tr>\n<tr>\n<td>apiserver_response_sizes_bucket<\/td>\n<td>4264<\/td>\n<\/tr>\n<tr>\n<td>apiserver_watch_events_sizes_bucket<\/td>\n<td>2232<\/td>\n<\/tr>\n<tr>\n<td>grpc_server_handled_total<\/td>\n<td>2193<\/td>\n<\/tr>\n<tr>\n<td>workqueue_queue_duration_seconds_bucket<\/td>\n<td>1518<\/td>\n<\/tr>\n<tr>\n<td>workqueue_work_duration_seconds_bucket<\/td>\n<td>1518<\/td>\n<\/tr>\n<tr>\n<td>container_blkio_device_usage_total<\/td>\n<td>1296<\/td>\n<\/tr>\n<tr>\n<td>apiserver_flowcontrol_priority_level_request_count_watermarks_bucket<\/td>\n<td>1008<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n\n<\/p>\n<h4>Specific Metrics after 24H<\/h4>\n<p>Top 10 series count by metric names<\/p>\n<table>\n<thead>\n<tr>\n<th>Name<\/th>\n<th>Count<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>kube_pod_status_phase<\/td>\n<td>255<\/td>\n<\/tr>\n<tr>\n<td>apiserver_client_certificate_expiration_seconds_bucket<\/td>\n<td>180<\/td>\n<\/tr>\n<tr>\n<td>container_memory_working_set_bytes<\/td>\n<td>162<\/td>\n<\/tr>\n<tr>\n<td>aggregator_unavailable_apiservice<\/td>\n<td>117<\/td>\n<\/tr>\n<tr>\n<td>etcd_network_peer_round_trip_time_seconds_bucket<\/td>\n<td>102<\/td>\n<\/tr>\n<tr>\n<td>kube_pod_container_status_restarts_total<\/td>\n<td>60<\/td>\n<\/tr>\n<tr>\n<td>kube_pod_info<\/td>\n<td>51<\/td>\n<\/tr>\n<tr>\n<td>kube_node_status_condition<\/td>\n<td>45<\/td>\n<\/tr>\n<tr>\n<td>node_network_up<\/td>\n<td>42<\/td>\n<\/tr>\n<tr>\n<td>up<\/td>\n<td>30<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<p>\n\n<\/p>\n<h2>Making Informed Decisions for Prometheus Federation<\/h2>\n<p>After having described all the above, we need to point out that there is no one-size-fits-all solution. The choice of Prometheus federation approach depends on the specific needs of your environment and the trade-offs you are willing to make.<\/p>\n<p>Furthermore, explore additional tools and technologies like Thanos that can complement Prometheus federation and address specific monitoring challenges. By continually adapting and enhancing your monitoring setup, you can stay proactive in identifying and addressing issues, ensuring the reliability and performance of your systems.<\/p>\n<p>Feel free to <a href=\"https:\/\/www.cloudwerkstatt.com\/en\/\">reach to us via our contact info<\/a> on our website if you&#8217;ve questions or requests.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the realm of monitoring and observability, Prometheus has emerged as a prominent open-source solution, empowering organizations to gain valuable insights into their systems and applications. One key feature that sets Prometheus apart is its federation capabilities, which allow users to aggregate and consolidate data from multiple Prometheus instances. In this blog post, we will [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":2670,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[32],"tags":[],"dipi_cpt_category":[],"class_list":["post-2667","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Prometheus Federation: All Job Metrics vs. Specific Metrics - cloudWerkstatt - deine IT Helden<\/title>\n<meta name=\"description\" content=\"Comparing Prometheus federation: all jobs metrics vs. specific metrics. Exploring the benefits &amp; trade-offs of each approach\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Prometheus Federation: All Job Metrics vs. Specific Metrics - cloudWerkstatt - deine IT Helden\" \/>\n<meta property=\"og:description\" content=\"Comparing Prometheus federation: all jobs metrics vs. specific metrics. Exploring the benefits &amp; trade-offs of each approach\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/\" \/>\n<meta property=\"og:site_name\" content=\"cloudWerkstatt - deine IT Helden\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-11T14:38:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-23T08:51:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cloudwerkstatt.com\/wp-content\/uploads\/2023\/08\/prom_federation_all_vs_specific.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"940\" \/>\n\t<meta property=\"og:image:height\" content=\"592\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Michal Vasko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michal Vasko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/\"},\"author\":{\"name\":\"Michal Vasko\",\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/#\\\/schema\\\/person\\\/53bd471b478d554f5a5c3e34db52cf9f\"},\"headline\":\"Prometheus Federation: All Job Metrics vs. Specific Metrics\",\"datePublished\":\"2023-08-11T14:38:22+00:00\",\"dateModified\":\"2023-11-23T08:51:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/\"},\"wordCount\":1842,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/prom_federation_all_vs_specific.jpg\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/\",\"url\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/\",\"name\":\"Prometheus Federation: All Job Metrics vs. Specific Metrics - cloudWerkstatt - deine IT Helden\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/prom_federation_all_vs_specific.jpg\",\"datePublished\":\"2023-08-11T14:38:22+00:00\",\"dateModified\":\"2023-11-23T08:51:28+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/#\\\/schema\\\/person\\\/53bd471b478d554f5a5c3e34db52cf9f\"},\"description\":\"Comparing Prometheus federation: all jobs metrics vs. specific metrics. Exploring the benefits & trade-offs of each approach\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/prom_federation_all_vs_specific.jpg\",\"contentUrl\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/prom_federation_all_vs_specific.jpg\",\"width\":940,\"height\":592},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Prometheus Federation: All Job Metrics vs. Specific Metrics\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/\",\"name\":\"cloudWerkstatt - deine IT Helden\",\"description\":\"We empower your digital transformation\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/#\\\/schema\\\/person\\\/53bd471b478d554f5a5c3e34db52cf9f\",\"name\":\"Michal Vasko\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c0af3790f5053e71e2a8811a0414067120622c113ec62b6f28f98f189b2e6198?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c0af3790f5053e71e2a8811a0414067120622c113ec62b6f28f98f189b2e6198?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c0af3790f5053e71e2a8811a0414067120622c113ec62b6f28f98f189b2e6198?s=96&d=mm&r=g\",\"caption\":\"Michal Vasko\"},\"url\":\"https:\\\/\\\/www.cloudwerkstatt.com\\\/en\\\/author\\\/mvasko\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Prometheus Federation: All Job Metrics vs. Specific Metrics - cloudWerkstatt - deine IT Helden","description":"Comparing Prometheus federation: all jobs metrics vs. specific metrics. Exploring the benefits & trade-offs of each approach","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/","og_locale":"en_US","og_type":"article","og_title":"Prometheus Federation: All Job Metrics vs. Specific Metrics - cloudWerkstatt - deine IT Helden","og_description":"Comparing Prometheus federation: all jobs metrics vs. specific metrics. Exploring the benefits & trade-offs of each approach","og_url":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/","og_site_name":"cloudWerkstatt - deine IT Helden","article_published_time":"2023-08-11T14:38:22+00:00","article_modified_time":"2023-11-23T08:51:28+00:00","og_image":[{"width":940,"height":592,"url":"https:\/\/www.cloudwerkstatt.com\/wp-content\/uploads\/2023\/08\/prom_federation_all_vs_specific.jpg","type":"image\/jpeg"}],"author":"Michal Vasko","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Michal Vasko","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/#article","isPartOf":{"@id":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/"},"author":{"name":"Michal Vasko","@id":"https:\/\/www.cloudwerkstatt.com\/en\/#\/schema\/person\/53bd471b478d554f5a5c3e34db52cf9f"},"headline":"Prometheus Federation: All Job Metrics vs. Specific Metrics","datePublished":"2023-08-11T14:38:22+00:00","dateModified":"2023-11-23T08:51:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/"},"wordCount":1842,"commentCount":0,"image":{"@id":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cloudwerkstatt.com\/wp-content\/uploads\/2023\/08\/prom_federation_all_vs_specific.jpg","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/","url":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/","name":"Prometheus Federation: All Job Metrics vs. Specific Metrics - cloudWerkstatt - deine IT Helden","isPartOf":{"@id":"https:\/\/www.cloudwerkstatt.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/#primaryimage"},"image":{"@id":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cloudwerkstatt.com\/wp-content\/uploads\/2023\/08\/prom_federation_all_vs_specific.jpg","datePublished":"2023-08-11T14:38:22+00:00","dateModified":"2023-11-23T08:51:28+00:00","author":{"@id":"https:\/\/www.cloudwerkstatt.com\/en\/#\/schema\/person\/53bd471b478d554f5a5c3e34db52cf9f"},"description":"Comparing Prometheus federation: all jobs metrics vs. specific metrics. Exploring the benefits & trade-offs of each approach","breadcrumb":{"@id":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/#primaryimage","url":"https:\/\/www.cloudwerkstatt.com\/wp-content\/uploads\/2023\/08\/prom_federation_all_vs_specific.jpg","contentUrl":"https:\/\/www.cloudwerkstatt.com\/wp-content\/uploads\/2023\/08\/prom_federation_all_vs_specific.jpg","width":940,"height":592},{"@type":"BreadcrumbList","@id":"https:\/\/www.cloudwerkstatt.com\/en\/prometheus-federation-exploring-all-job-metrics-vs-specific-metrics\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cloudwerkstatt.com\/en\/"},{"@type":"ListItem","position":2,"name":"Prometheus Federation: All Job Metrics vs. Specific Metrics"}]},{"@type":"WebSite","@id":"https:\/\/www.cloudwerkstatt.com\/en\/#website","url":"https:\/\/www.cloudwerkstatt.com\/en\/","name":"cloudWerkstatt - deine IT Helden","description":"We empower your digital transformation","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cloudwerkstatt.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.cloudwerkstatt.com\/en\/#\/schema\/person\/53bd471b478d554f5a5c3e34db52cf9f","name":"Michal Vasko","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c0af3790f5053e71e2a8811a0414067120622c113ec62b6f28f98f189b2e6198?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c0af3790f5053e71e2a8811a0414067120622c113ec62b6f28f98f189b2e6198?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c0af3790f5053e71e2a8811a0414067120622c113ec62b6f28f98f189b2e6198?s=96&d=mm&r=g","caption":"Michal Vasko"},"url":"https:\/\/www.cloudwerkstatt.com\/en\/author\/mvasko\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/posts\/2667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/comments?post=2667"}],"version-history":[{"count":43,"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/posts\/2667\/revisions"}],"predecessor-version":[{"id":3116,"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/posts\/2667\/revisions\/3116"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/media\/2670"}],"wp:attachment":[{"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/media?parent=2667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/categories?post=2667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/tags?post=2667"},{"taxonomy":"dipi_cpt_category","embeddable":true,"href":"https:\/\/www.cloudwerkstatt.com\/en\/wp-json\/wp\/v2\/dipi_cpt_category?post=2667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}