From a22c83ca196b2654290d34c51fa3b33a42e65e95 Mon Sep 17 00:00:00 2001 From: netdatabot <43409846+netdatabot@users.noreply.github.com> Date: Fri, 10 Jul 2026 21:28:21 +0000 Subject: [PATCH] Ingest new documentation --- .../AWS EC2 Compute instances.mdx | 11 +- .../Collectors/Cloud and DevOps/AWS Quota.mdx | 11 +- .../Cloud and DevOps/Amazon CloudWatch.mdx | 78 +-- .../Cloud and DevOps/Cloud and DevOps.mdx | 4 - .../Cloud and DevOps/CloudWatch.mdx | 493 ------------------ .../Collectors/Cloud and DevOps/Concourse.mdx | 2 +- .../Collectors/Cloud and DevOps/Dynatrace.mdx | 2 +- .../Collectors/Cloud and DevOps/GCP GCE.mdx | 2 +- .../Cloud and DevOps/GitLab Runner.mdx | 2 +- .../Google Cloud Platform.mdx | 2 +- .../Cloud and DevOps/Google Stackdriver.mdx | 2 +- .../Collectors/Cloud and DevOps/Hubble.mdx | 2 +- .../Collectors/Cloud and DevOps/Jenkins.mdx | 2 +- .../Collectors/Cloud and DevOps/Linode.mdx | 2 +- .../Collectors/Cloud and DevOps/Puppet.mdx | 2 +- .../Collectors/Cloud and DevOps/Spacelift.mdx | 2 +- .../Collectors/Cloud and DevOps/Zerto.mdx | 2 +- .../Collectors/Collectors.mdx | 4 - .../OpenTelemetry/OpenTelemetry Metrics.mdx | 30 +- docs/Dashboards and Charts/Tabs/Logs.mdx | 2 +- .../OpenTelemetry Logs/OpenTelemetry Logs.mdx | 12 +- docs/Welcome to Netdata/Monitor Anything.mdx | 7 +- ingest/generated_map.yaml | 15 +- ingest/one_commit_back_file-dict.yaml | 6 +- netlify.toml | 12 - 25 files changed, 90 insertions(+), 619 deletions(-) delete mode 100644 docs/Collecting Metrics/Collectors/Cloud and DevOps/CloudWatch.mdx diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS EC2 Compute instances.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS EC2 Compute instances.mdx index 73b2fad64..a47bc1aa5 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS EC2 Compute instances.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS EC2 Compute instances.mdx @@ -26,10 +26,17 @@ Module: prometheus ## Overview -Track AWS EC2 instances key metrics for optimized performance and cost management. +Monitor Amazon EC2 inventory and capacity information exposed by AWS EC2 Exporter. +This integration complements the +[Amazon CloudWatch](/docs/collecting-metrics/collectors/cloud-and-devops/amazon-cloudwatch) collector, +which queries runtime metrics from CloudWatch. The integrations use different AWS data sources and do +not replace one another. -Metrics are gathered by periodically sending HTTP requests to [AWS EC2 Exporter](https://github.com/O1ahmad/aws_ec2_exporter). + +Netdata periodically scrapes Prometheus metrics from +[AWS EC2 Exporter](https://github.com/O1ahmad/aws_ec2_exporter), which obtains inventory and capacity +information from Amazon EC2 APIs rather than CloudWatch. This collector is supported on all platforms. diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS Quota.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS Quota.mdx index 9bf40e689..e5d7d3c52 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS Quota.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/AWS Quota.mdx @@ -26,10 +26,17 @@ Module: prometheus ## Overview -Monitor AWS service quotas for effective resource usage and cost management. +Monitor AWS Service Quotas exposed by aws_quota_exporter. +This integration complements the +[Amazon CloudWatch](/docs/collecting-metrics/collectors/cloud-and-devops/amazon-cloudwatch) collector, +which queries runtime metrics from CloudWatch. The integrations use different AWS data sources and do +not replace one another. -Metrics are gathered by periodically sending HTTP requests to [aws_quota_exporter](https://github.com/emylincon/aws_quota_exporter). + +Netdata periodically scrapes Prometheus metrics from +[aws_quota_exporter](https://github.com/emylincon/aws_quota_exporter), which obtains quota information +from AWS Service Quotas rather than CloudWatch. This collector is supported on all platforms. diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Amazon CloudWatch.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Amazon CloudWatch.mdx index 3a989f978..a6d42920d 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Amazon CloudWatch.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Amazon CloudWatch.mdx @@ -58,6 +58,12 @@ Monitored services: - AWS Site-to-Site VPN (VPN connections) - Amazon EKS (Kubernetes control plane: API server, scheduler, etcd) +This collector queries runtime metrics from Amazon CloudWatch. It complements the +[AWS EC2 Compute instances](/docs/collecting-metrics/collectors/cloud-and-devops/aws-ec2-compute-instances) +integration, which exposes EC2 inventory and capacity information, and the +[AWS Quota](/docs/collecting-metrics/collectors/cloud-and-devops/aws-quota) integration, which exposes +AWS Service Quotas. These integrations use different AWS data sources and do not replace one another. + [Each service is defined by a profile](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/config/go.d/cloudwatch.profiles/default) -- a YAML file declaring its CloudWatch namespace, the metrics and statistics to collect, and a chart template -- so coverage can be extended without code changes. :::tip Need a service that isn't listed? @@ -388,42 +394,42 @@ The following alerts are available: | Alert name | On metric | Description | |:------------|:----------|:------------| -| [ cw_ec2_status_check_failed ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ec2.status_check_failed | EC2 status check failed on $\{label:instance_id} | -| [ cw_ec2_attached_ebs_status_check_failed ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ec2.status_check_failed | EC2 attached EBS status check failed on $\{label:instance_id} | -| [ cw_alb_target_group_unhealthy_hosts ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.alb_target_health.unhealthy_hosts | ALB target group has unhealthy targets on $\{label:load_balancer}/$\{label:target_group} | -| [ cw_nlb_target_group_unhealthy_hosts ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.nlb_target_health.unhealthy_hosts | NLB target group has unhealthy targets on $\{label:load_balancer}/$\{label:target_group} | -| [ cw_ebs_stalled_io_check_failed ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ebs_stalled_io.stalled_io_check | EBS volume stalled I/O check failed on $\{label:volume_id}; requires the opt-in ebs_stalled_io profile | -| [ cw_nat_gateway_port_allocation_errors ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.nat_gateway.errors | NAT Gateway port allocation errors on $\{label:nat_gateway_id} | -| [ cw_efs_io_limit_reached ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.efs.io_limit | EFS I/O limit reached on $\{label:file_system_id} | -| [ cw_efs_burst_credits_exhausted ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.efs.burst_credit | EFS burst credits exhausted on $\{label:file_system_id} | -| [ cw_ecs_cpu_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ecs.utilization | ECS service CPU utilization high on $\{label:cluster_name}/$\{label:service_name} | -| [ cw_ecs_memory_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ecs.utilization | ECS service memory utilization high on $\{label:cluster_name}/$\{label:service_name} | -| [ cw_ecs_ebs_filesystem_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ecs.ebs_filesystem_utilization | ECS EBS filesystem utilization high on $\{label:cluster_name}/$\{label:service_name} | -| [ cw_opensearch_cluster_status_red ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.cluster_status | OpenSearch cluster red on $\{label:domain_name} | -| [ cw_opensearch_cluster_status_yellow ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.cluster_status | OpenSearch cluster yellow on $\{label:domain_name} | -| [ cw_opensearch_index_writes_blocked ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.index_writes_blocked | OpenSearch index writes blocked on $\{label:domain_name} | -| [ cw_opensearch_jvm_memory_pressure ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.jvm_memory_pressure | OpenSearch JVM memory pressure high on $\{label:domain_name} | -| [ cw_opensearch_cpu_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.cpu | OpenSearch CPU utilization high on $\{label:domain_name} | -| [ cw_opensearch_automated_snapshot_failure ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.automated_snapshot_failure | OpenSearch automated snapshot failed on $\{label:domain_name} | -| [ cw_opensearch_old_gen_jvm_memory_pressure ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.old_gen_jvm_memory_pressure | OpenSearch old-gen JVM memory pressure high on $\{label:domain_name} | -| [ cw_elasticache_engine_cpu_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.elasticache.cpu | ElastiCache engine CPU utilization high on $\{label:cache_cluster_id}/$\{label:cache_node_id} | -| [ cw_msk_active_controller_missing ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk_cluster.active_controllers | MSK cluster has no active controller on $\{label:cluster_name} | -| [ cw_msk_multiple_active_controllers ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk_cluster.active_controllers | MSK cluster has multiple active controllers on $\{label:cluster_name} | -| [ cw_msk_offline_partitions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk_cluster.offline_partitions | MSK cluster has offline partitions on $\{label:cluster_name} | -| [ cw_msk_cpu_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk.cpu | MSK broker CPU utilization high on $\{label:cluster_name}/$\{label:broker_id} | -| [ cw_msk_data_logs_disk_used ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk.disk_used | MSK broker data-log disk utilization high on $\{label:cluster_name}/$\{label:broker_id} | -| [ cw_msk_heap_memory_after_gc ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk.heap_memory_after_gc | MSK broker heap memory after GC high on $\{label:cluster_name}/$\{label:broker_id} | -| [ cw_msk_under_replicated_partitions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk.partitions | MSK broker has sustained under-replicated partitions on $\{label:cluster_name}/$\{label:broker_id} | -| [ cw_msk_under_min_isr_partitions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk.under_min_isr | MSK broker has partitions below minimum ISR on $\{label:cluster_name}/$\{label:broker_id} | -| [ cw_rds_replica_lag ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.rds.replica_lag | RDS replica lag high on $\{label:db_instance_identifier} | -| [ cw_rds_maximum_used_transaction_ids ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.rds.maximum_used_transaction_ids | RDS transaction ID usage high on $\{label:db_instance_identifier} | -| [ cw_rds_ebs_byte_balance ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.rds.ebs_balance | RDS EBS byte balance low on $\{label:db_instance_identifier} | -| [ cw_rds_ebs_io_balance ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.rds.ebs_balance | RDS EBS I/O balance low on $\{label:db_instance_identifier} | -| [ cw_vpn_tunnel_down ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.vpn.tunnel_state | VPN tunnel down on $\{label:vpn_id} | -| [ cw_sns_invalid_notification_attributes ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.sns.invalid_notifications | SNS invalid notification attributes on $\{label:topic_name} | -| [ cw_sns_invalid_notification_body ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.sns.invalid_notifications | SNS invalid notification message body on $\{label:topic_name} | -| [ cw_sns_notifications_redriven_to_dlq ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.sns.dlq_redrive | SNS notifications redriven to DLQ on $\{label:topic_name} | -| [ cw_sns_notifications_failed_to_redrive_to_dlq ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.sns.dlq_redrive | SNS notifications failed to redrive to DLQ on $\{label:topic_name} | +| [ aws_cloudwatch_ec2_status_check_failed ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ec2.status_check_failed | EC2 status check failed on $\{label:instance_id} | +| [ aws_cloudwatch_ec2_attached_ebs_status_check_failed ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ec2.status_check_failed | EC2 attached EBS status check failed on $\{label:instance_id} | +| [ aws_cloudwatch_alb_target_group_unhealthy_hosts ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.alb_target_health.unhealthy_hosts | ALB target group has unhealthy targets on $\{label:load_balancer}/$\{label:target_group} | +| [ aws_cloudwatch_nlb_target_group_unhealthy_hosts ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.nlb_target_health.unhealthy_hosts | NLB target group has unhealthy targets on $\{label:load_balancer}/$\{label:target_group} | +| [ aws_cloudwatch_ebs_stalled_io_check_failed ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ebs_stalled_io.stalled_io_check | EBS volume stalled I/O check failed on $\{label:volume_id}; requires the opt-in ebs_stalled_io profile | +| [ aws_cloudwatch_nat_gateway_port_allocation_errors ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.nat_gateway.errors | NAT Gateway port allocation errors on $\{label:nat_gateway_id} | +| [ aws_cloudwatch_efs_io_limit_reached ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.efs.io_limit | EFS I/O limit reached on $\{label:file_system_id} | +| [ aws_cloudwatch_efs_burst_credits_exhausted ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.efs.burst_credit | EFS burst credits exhausted on $\{label:file_system_id} | +| [ aws_cloudwatch_ecs_cpu_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ecs.utilization | ECS service CPU utilization high on $\{label:cluster_name}/$\{label:service_name} | +| [ aws_cloudwatch_ecs_memory_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ecs.utilization | ECS service memory utilization high on $\{label:cluster_name}/$\{label:service_name} | +| [ aws_cloudwatch_ecs_ebs_filesystem_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.ecs.ebs_filesystem_utilization | ECS EBS filesystem utilization high on $\{label:cluster_name}/$\{label:service_name} | +| [ aws_cloudwatch_opensearch_cluster_status_red ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.cluster_status | OpenSearch cluster red on $\{label:domain_name} | +| [ aws_cloudwatch_opensearch_cluster_status_yellow ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.cluster_status | OpenSearch cluster yellow on $\{label:domain_name} | +| [ aws_cloudwatch_opensearch_index_writes_blocked ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.index_writes_blocked | OpenSearch index writes blocked on $\{label:domain_name} | +| [ aws_cloudwatch_opensearch_jvm_memory_pressure ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.jvm_memory_pressure | OpenSearch JVM memory pressure high on $\{label:domain_name} | +| [ aws_cloudwatch_opensearch_cpu_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.cpu | OpenSearch CPU utilization high on $\{label:domain_name} | +| [ aws_cloudwatch_opensearch_automated_snapshot_failure ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.automated_snapshot_failure | OpenSearch automated snapshot failed on $\{label:domain_name} | +| [ aws_cloudwatch_opensearch_old_gen_jvm_memory_pressure ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.opensearch.old_gen_jvm_memory_pressure | OpenSearch old-gen JVM memory pressure high on $\{label:domain_name} | +| [ aws_cloudwatch_elasticache_engine_cpu_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.elasticache.cpu | ElastiCache engine CPU utilization high on $\{label:cache_cluster_id}/$\{label:cache_node_id} | +| [ aws_cloudwatch_msk_active_controller_missing ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk_cluster.active_controllers | MSK cluster has no active controller on $\{label:cluster_name} | +| [ aws_cloudwatch_msk_multiple_active_controllers ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk_cluster.active_controllers | MSK cluster has multiple active controllers on $\{label:cluster_name} | +| [ aws_cloudwatch_msk_offline_partitions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk_cluster.offline_partitions | MSK cluster has offline partitions on $\{label:cluster_name} | +| [ aws_cloudwatch_msk_cpu_utilization ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk.cpu | MSK broker CPU utilization high on $\{label:cluster_name}/$\{label:broker_id} | +| [ aws_cloudwatch_msk_data_logs_disk_used ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk.disk_used | MSK broker data-log disk utilization high on $\{label:cluster_name}/$\{label:broker_id} | +| [ aws_cloudwatch_msk_heap_memory_after_gc ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk.heap_memory_after_gc | MSK broker heap memory after GC high on $\{label:cluster_name}/$\{label:broker_id} | +| [ aws_cloudwatch_msk_under_replicated_partitions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk.partitions | MSK broker has sustained under-replicated partitions on $\{label:cluster_name}/$\{label:broker_id} | +| [ aws_cloudwatch_msk_under_min_isr_partitions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.msk.under_min_isr | MSK broker has partitions below minimum ISR on $\{label:cluster_name}/$\{label:broker_id} | +| [ aws_cloudwatch_rds_replica_lag ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.rds.replica_lag | RDS replica lag high on $\{label:db_instance_identifier} | +| [ aws_cloudwatch_rds_maximum_used_transaction_ids ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.rds.maximum_used_transaction_ids | RDS transaction ID usage high on $\{label:db_instance_identifier} | +| [ aws_cloudwatch_rds_ebs_byte_balance ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.rds.ebs_balance | RDS EBS byte balance low on $\{label:db_instance_identifier} | +| [ aws_cloudwatch_rds_ebs_io_balance ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.rds.ebs_balance | RDS EBS I/O balance low on $\{label:db_instance_identifier} | +| [ aws_cloudwatch_vpn_tunnel_down ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.vpn.tunnel_state | VPN tunnel down on $\{label:vpn_id} | +| [ aws_cloudwatch_sns_invalid_notification_attributes ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.sns.invalid_notifications | SNS invalid notification attributes on $\{label:topic_name} | +| [ aws_cloudwatch_sns_invalid_notification_body ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.sns.invalid_notifications | SNS invalid notification message body on $\{label:topic_name} | +| [ aws_cloudwatch_sns_notifications_redriven_to_dlq ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.sns.dlq_redrive | SNS notifications redriven to DLQ on $\{label:topic_name} | +| [ aws_cloudwatch_sns_notifications_failed_to_redrive_to_dlq ](https://github.com/netdata/netdata/blob/master/src/health/health.d/cloudwatch.conf) | cloudwatch.sns.dlq_redrive | SNS notifications failed to redrive to DLQ on $\{label:topic_name} | ## Metrics diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud and DevOps.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud and DevOps.mdx index 899feaecc..085b38159 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud and DevOps.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Cloud and DevOps.mdx @@ -202,10 +202,6 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - - - - diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/CloudWatch.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/CloudWatch.mdx deleted file mode 100644 index b9ce7e0fa..000000000 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/CloudWatch.mdx +++ /dev/null @@ -1,493 +0,0 @@ ---- -custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/metadata.yaml" -sidebar_label: "CloudWatch" -learn_status: "Published" -toc_max_heading_level: "6" -toc_collapsible: "true" -learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" -keywords: [cloud services, cloud computing, scalability] -message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "470" -learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/cloudwatch" -slug: "/collecting-metrics/collectors/cloud-and-devops/cloudwatch" ---- - - -# CloudWatch - - - - - -Plugin: go.d.plugin -Module: prometheus - - - -## Overview - -Monitor AWS CloudWatch metrics for comprehensive AWS resource management and performance optimization. - - -Metrics are gathered by periodically sending HTTP requests to [CloudWatch exporter](https://github.com/prometheus/cloudwatch_exporter). - - -This collector is supported on all platforms. - -This collector supports collecting metrics from multiple instances of this integration, including remote instances. - - -### Default Behavior - -#### Auto-Detection - -By default, it detects instances running on the local host by trying to connect to known ports that are [allocated to exporters](https://github.com/prometheus/prometheus/wiki/Default-port-allocations). - - -#### Limits - -The default configuration for this integration does not impose any limits on data collection. - -#### Performance Impact - -The default configuration for this integration is not expected to impose a significant performance impact on the system. - -## Setup - - -You can configure the **prometheus** collector in two ways: - -| Method | Best for | How to | -|-----------------------|------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------| -| [**UI**](#via-ui) | Fast setup without editing files | Go to **Nodes → Configure this node → Collectors → Jobs**, search for **prometheus**, then click **+** to add a job. | -| [**File**](#via-file) | If you prefer configuring via file, or need to automate deployments (e.g., with Ansible) | Edit `go.d/prometheus.conf` and add a job. | - -:::important - -UI configuration requires paid Netdata Cloud plan. - -::: - - -### Prerequisites - -#### Install Exporter - -Install [CloudWatch exporter](https://github.com/prometheus/cloudwatch_exporter) by following the instructions mentioned in the exporter README. - - - -### Configuration - -#### Options - -The following options can be defined globally: update_every, autodetection_retry. - - -
-Config options - - - -| Group | Option | Description | Default | Required | -|:------|:-----|:------------|:--------|:---------:| -| **Collection** | update_every | Data collection interval (seconds). | 10 | no | -| | autodetection_retry | Autodetection retry interval (seconds). Set 0 to disable. | 0 | no | -| **Target** | url | Target endpoint URL. | | yes | -| | timeout | HTTP request timeout (seconds). | 10 | no | -| | expected_prefix | If set, the job's check passes only when at least one scraped metric name starts with this prefix. Guards against scraping an unexpected endpoint. | | no | -| **Customization** | app | Application name used as the app segment of chart contexts (`prometheus..`). When unset, it is taken from a matched profile, otherwise it falls back to the job name. | | no | -| **Filters** | [selector](#option-filters-selector) | Time series selector (filter). | | no | -| **Limits** | max_time_series | Global time series limit. If an endpoint returns more time series than this, the data is not processed. | 2000 | no | -| | max_time_series_per_metric | Per-metric time series limit. Metrics with more time series than this are skipped. | 200 | no | -| **Customization** | [fallback_type](#option-customization-fallback-type) | Fallback type rules for untyped metrics. | | no | -| | [relabeling](#option-customization-relabeling) | Prometheus-compatible metric relabeling, applied before charts are built. | | no | -| | [profiles](#option-customization-profiles) | Curated, exporter-specific chart profiles. Disable with mode `none`. | auto | no | -| **HTTP Auth** | username | Username for Basic HTTP authentication. | | no | -| | password | Password for Basic HTTP authentication. | | no | -| | bearer_token_file | Path to a file containing a bearer token (used for `Authorization: Bearer`). | | no | -| **TLS** | tls_skip_verify | Skip TLS certificate and hostname verification (insecure). | no | no | -| | tls_ca | Path to CA bundle used to validate the server certificate. | | no | -| | tls_cert | Path to client TLS certificate (for mTLS). | | no | -| | tls_key | Path to client TLS private key (for mTLS). | | no | -| **Proxy** | proxy_url | HTTP proxy URL. | | no | -| | proxy_username | Username for proxy Basic HTTP authentication. | | no | -| | proxy_password | Password for proxy Basic HTTP authentication. | | no | -| **Request** | method | HTTP method to use. | GET | no | -| | body | Request body (e.g., for POST/PUT). | | no | -| | headers | Additional HTTP headers (one per line as key: value). | | no | -| | not_follow_redirects | Do not follow HTTP redirects. | no | no | -| | force_http2 | Force HTTP/2 (including h2c over TCP). | no | no | -| **Virtual Node** | vnode | Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes). | | no | - - -##### selector - -This option allows you to filter out unwanted time series. Only metrics matching the selector will be collected. - -- Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4) -- Pattern syntax: [selector](https://github.com/netdata/netdata/blob/master/src/go/pkg/prometheus/selector/README.md). -- Option syntax: - -```yaml -selector: - allow: - - pattern1 - - pattern2 - deny: - - pattern3 - - pattern4 -``` - - - -##### fallback_type - -This option allows you to process Untyped metrics as Counter or Gauge instead of ignoring them. - -- Metric name pattern syntax: [shell file name pattern](https://golang.org/pkg/path/filepath/#Match). -- Option syntax: - -```yaml -fallback_type: - counter: - - metric_name_pattern1 - - metric_name_pattern2 - gauge: - - metric_name_pattern3 - - metric_name_pattern4 -``` - - - -##### relabeling - -A list of relabeling blocks. Each block applies a list of Prometheus -`metric_relabel_configs` rules to the metrics whose name matches `match`. See the -[relabeling reference](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/relabel/README.md) -for the full action set and more examples. - -- `match`: Netdata simple patterns matched against the full metric name — including - any `_bucket`/`_sum`/`_count` suffix, so prefer globs like `app_lat*` over an exact - `app_lat` (space-separated; `*` matches any sequence, `?` any character, a leading - `!` negates). Use `*` to target every metric. Required. -- `metric_relabel_configs`: Prometheus relabel rules (`source_labels`, `separator`, - `regex`, `modulus`, `target_label`, `replacement`, `action`), applied in order to - the scraped samples before charts are built. - -Relabeling that would corrupt a histogram or summary — splitting it, dropping a -component, mutating the `le`/`quantile` label, or merging two families — is rejected. - -```yaml -relabeling: - - match: 'http_*' - metric_relabel_configs: - - source_labels: [code] - regex: '(\d)\d\d' - target_label: code_class - replacement: '${1}xx' -``` - - - -##### profiles - -Profiles ship curated charts for recognized exporters. `profiles.mode` selects them: - -- `auto` (default): every profile whose `match` hits at least one scraped metric. -- `exact`: only the profiles named in `mode_exact.entries` (each must match, or the job fails its check). -- `combined`: `auto` plus the profiles named in `mode_combined.entries`. -- `none`: no profiles — generic autogen charts only (the pre-profile behavior). - -Only the block matching the selected mode (`mode_exact` or `mode_combined`) is read; entries under the other block are ignored. Metrics not covered by a selected profile keep their generic autogen charts. - -```yaml -profiles: - mode: exact - mode_exact: - entries: - - name: haproxy -``` - - - -
- - -#### via UI - -Configure the **prometheus** collector from the Netdata web interface: - -1. Go to **Nodes**. -2. Select the node **where you want the prometheus data-collection job to run** and click the :gear: (**Configure this node**). That node will run the data collection. -3. The **Collectors → Jobs** view opens by default. -4. In the Search box, type _prometheus_ (or scroll the list) to locate the **prometheus** collector. -5. Click the **+** next to the **prometheus** collector to add a new job. -6. Fill in the job fields, then click **Test** to verify the configuration and **Submit** to save. - - **Test** runs the job with the provided settings and shows whether data can be collected. - - If it fails, an error message appears with details (for example, connection refused, timeout, or command execution errors), so you can adjust and retest. - - -#### via File - -The configuration file name for this integration is `go.d/prometheus.conf`. - -The file format is YAML. Generally, the structure is: - -```yaml -update_every: 1 -autodetection_retry: 0 -jobs: - - name: some_name1 - - name: some_name2 -``` -You can edit the configuration file using the [`edit-config`](/docs/netdata-agent/configuration#edit-configuration-files) script from the -Netdata [config directory](/docs/netdata-agent/configuration#locate-your-config-directory). - -```bash -cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata -sudo ./edit-config go.d/prometheus.conf -``` - -##### Examples - -###### Basic - -> **Note**: Change the port of the monitored application on which it provides metrics. - -A basic example configuration. - - -```yaml -jobs: - - name: local - url: http://127.0.0.1:9090/metrics - -``` -###### Read metrics from a file - -An example configuration to read metrics from a file. - -
-Config - -```yaml -# use "file://" scheme -jobs: - - name: myapp - url: file:///opt/metrics/myapp/metrics.txt - -``` -
- -###### HTTP authentication - -> **Note**: Change the port of the monitored application on which it provides metrics. - -Basic HTTP authentication. - - -
-Config - -```yaml -jobs: - - name: local - url: http://127.0.0.1:9090/metrics - username: username - password: password - -``` -
- -###### HTTPS with self-signed certificate - -> **Note**: Change the port of the monitored application on which it provides metrics. - -Do not validate server certificate chain and hostname. - - -
-Config - -```yaml -jobs: - - name: local - url: https://127.0.0.1:9090/metrics - tls_skip_verify: yes - -``` -
- -###### Multi-instance - -> **Note**: When you define multiple jobs, their names must be unique. -> **Note**: Change the port of the monitored application on which it provides metrics. - -Collecting metrics from local and remote instances. - - -
-Config - -```yaml -jobs: - - name: local - url: http://127.0.0.1:9090/metrics - - - name: remote - url: http://192.0.2.1:9090/metrics - -``` -
- -###### Metric relabeling - -Derive a `code_class` label (2xx, 4xx, ...) on metrics named `http_*`. - -
-Config - -```yaml -jobs: - - name: local - url: http://127.0.0.1:9090/metrics - relabeling: - - match: 'http_*' - metric_relabel_configs: - - source_labels: [code] - regex: '(\d)\d\d' - target_label: code_class - replacement: '${1}xx' - -``` -
- -###### Rename labels that collide with Netdata's reserved labels - -When these metrics are re-exported in Prometheus format, Netdata adds its own `instance`, -`family`, `chart`, and `dimension` labels. If the scraped endpoint already uses one of those -names, the re-export emits a duplicate label and a downstream Prometheus rejects the scrape. -Rename the colliding labels to avoid it (the use case the former `label_prefix` option served). - - -
-Config - -```yaml -jobs: - - name: coredns - url: http://127.0.0.1:9153/metrics - relabeling: - - match: '*' - metric_relabel_configs: - - regex: '(instance|family)' - action: labelmap - replacement: 'coredns_$1' - - regex: '(instance|family)' - action: labeldrop - -``` -
- - - -## Alerts - -There are no alerts configured by default for this integration. - - -## Metrics - -This collector has built-in grouping logic based on the [type of metrics](https://prometheus.io/docs/concepts/metric_types/). - -| Metric | Chart | Dimension(s) | Algorithm | -|---------------------------|-------------------------------------------|----------------------|-------------| -| Gauge | for each label set | one, the metric name | absolute | -| Counter | for each label set | one, the metric name | incremental | -| Summary (quantiles) | for each label set (excluding 'quantile') | for each quantile | absolute | -| Summary (sum and count) | for each label set | the metric name | incremental | -| Histogram (buckets) | for each label set (excluding 'le') | for each bucket | incremental | -| Histogram (sum and count) | for each label set | the metric name | incremental | - -Untyped metrics (have no '# TYPE') processing: - -- As Counter or Gauge depending on pattern match when 'fallback_type' is used. -- As Counter if it has suffix '_total'. -- As Summary if it has 'quantile' label. -- As Histogram if it has 'le' label. - -**The rest are ignored**. - - - -## Troubleshooting - -### Debug Mode - -**Important**: Debug mode is not supported for data collection jobs created via the UI using the Dyncfg feature. - -To troubleshoot issues with the `prometheus` collector, run the `go.d.plugin` with the debug option enabled. The output -should give you clues as to why the collector isn't working. - -- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on - your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. - - ```bash - cd /usr/libexec/netdata/plugins.d/ - ``` - -- Switch to the `netdata` user. - - ```bash - sudo -u netdata -s - ``` - -- Run the `go.d.plugin` to debug the collector: - - ```bash - ./go.d.plugin -d -m prometheus - ``` - - To debug a specific job: - - ```bash - ./go.d.plugin -d -m prometheus -j jobName - ``` - -### Getting Logs - -If you're encountering problems with the `prometheus` collector, follow these steps to retrieve logs and identify potential issues: - -- **Run the command** specific to your system (systemd, non-systemd, or Docker container). -- **Examine the output** for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem. - -#### System with systemd - -Use the following command to view logs generated since the last Netdata service restart: - -```bash -journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep prometheus -``` - -#### System without systemd - -Locate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name: - -```bash -grep prometheus /var/log/netdata/collector.log -``` - -**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues. - -#### Docker Container - -If your Netdata runs in a Docker container named "netdata" (replace if different), use this command: - -```bash -docker logs netdata 2>&1 | grep prometheus -``` - -### Disappearing or sparse metrics not clearing alerts - -When a metric disappears from the Prometheus endpoint response (for example, a gauge that is only exposed when its value is greater than 0), Netdata does not require any special value to stop tracking it. The Prometheus collector automatically detects metrics that are no longer present in the scrape response. After 10 consecutive collection cycles where the metric is absent, the associated chart is automatically removed and any alerts on that chart will clear. You do not need to send a special value (such as 0, NaN, or StaleNaN) — simply omitting the metric from the response is sufficient. Note that during the 10-cycle grace period, the last known value remains and alerts may not clear immediately. diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Concourse.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Concourse.mdx index 3ee3f70f0..bb97da3f2 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Concourse.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Concourse.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "480" +sidebar_position: "470" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/concourse" slug: "/collecting-metrics/collectors/cloud-and-devops/concourse" --- diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Dynatrace.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Dynatrace.mdx index 4fd1bcb1e..6b54af1ae 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Dynatrace.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Dynatrace.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "490" +sidebar_position: "480" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/dynatrace" slug: "/collecting-metrics/collectors/cloud-and-devops/dynatrace" --- diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/GCP GCE.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/GCP GCE.mdx index e58b5eccd..e8caef726 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/GCP GCE.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/GCP GCE.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "500" +sidebar_position: "490" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/gcp-gce" slug: "/collecting-metrics/collectors/cloud-and-devops/gcp-gce" --- diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/GitLab Runner.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/GitLab Runner.mdx index 1e95fc531..d8eb1c680 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/GitLab Runner.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/GitLab Runner.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "510" +sidebar_position: "500" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/gitlab-runner" slug: "/collecting-metrics/collectors/cloud-and-devops/gitlab-runner" --- diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Cloud Platform.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Cloud Platform.mdx index 30fe97869..e5780be8e 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Cloud Platform.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Cloud Platform.mdx @@ -7,7 +7,7 @@ toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" keywords: [cloud services, cloud computing, scalability] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "520" +sidebar_position: "510" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/google-cloud-platform" slug: "/collecting-metrics/collectors/cloud-and-devops/google-cloud-platform" --- diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Stackdriver.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Stackdriver.mdx index 48bc6eb4e..bf88991cd 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Stackdriver.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Google Stackdriver.mdx @@ -7,7 +7,7 @@ toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" keywords: [cloud services, cloud computing, google cloud services] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "530" +sidebar_position: "520" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/google-stackdriver" slug: "/collecting-metrics/collectors/cloud-and-devops/google-stackdriver" --- diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Hubble.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Hubble.mdx index 4da2c4933..748434f89 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Hubble.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Hubble.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "540" +sidebar_position: "530" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/hubble" slug: "/collecting-metrics/collectors/cloud-and-devops/hubble" --- diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Jenkins.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Jenkins.mdx index ebbc2199a..07de66b66 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Jenkins.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Jenkins.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "550" +sidebar_position: "540" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/jenkins" slug: "/collecting-metrics/collectors/cloud-and-devops/jenkins" --- diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Linode.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Linode.mdx index 1ab60a8ab..7facb3b18 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Linode.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Linode.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "560" +sidebar_position: "550" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/linode" slug: "/collecting-metrics/collectors/cloud-and-devops/linode" --- diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Puppet.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Puppet.mdx index f5ebec252..ef2bd2e2f 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Puppet.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Puppet.mdx @@ -7,7 +7,7 @@ toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" keywords: [puppet] message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "570" +sidebar_position: "560" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/puppet" slug: "/collecting-metrics/collectors/cloud-and-devops/puppet" --- diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Spacelift.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Spacelift.mdx index 09ab67f19..744869886 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Spacelift.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Spacelift.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "580" +sidebar_position: "570" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/spacelift" slug: "/collecting-metrics/collectors/cloud-and-devops/spacelift" --- diff --git a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Zerto.mdx b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Zerto.mdx index fbdc269de..743db5d01 100644 --- a/docs/Collecting Metrics/Collectors/Cloud and DevOps/Zerto.mdx +++ b/docs/Collecting Metrics/Collectors/Cloud and DevOps/Zerto.mdx @@ -6,7 +6,7 @@ toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Cloud and DevOps" message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" -sidebar_position: "590" +sidebar_position: "580" learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/cloud-and-devops/zerto" slug: "/collecting-metrics/collectors/cloud-and-devops/zerto" --- diff --git a/docs/Collecting Metrics/Collectors/Collectors.mdx b/docs/Collecting Metrics/Collectors/Collectors.mdx index 6b94e8cc3..aaa9c6ddb 100644 --- a/docs/Collecting Metrics/Collectors/Collectors.mdx +++ b/docs/Collecting Metrics/Collectors/Collectors.mdx @@ -1414,10 +1414,6 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - - - - diff --git a/docs/Collecting Metrics/OpenTelemetry/OpenTelemetry Metrics.mdx b/docs/Collecting Metrics/OpenTelemetry/OpenTelemetry Metrics.mdx index 8aeb115bb..df091d265 100644 --- a/docs/Collecting Metrics/OpenTelemetry/OpenTelemetry Metrics.mdx +++ b/docs/Collecting Metrics/OpenTelemetry/OpenTelemetry Metrics.mdx @@ -1,5 +1,5 @@ --- -custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/crates/netdata-otel/otel-plugin/README.md" +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/crates/otel-plugin/README.md" sidebar_label: "OpenTelemetry Metrics" learn_status: "Published" toc_max_heading_level: "6" @@ -30,8 +30,8 @@ via the OTLP/gRPC protocol from any compatible source — collectors, SDKs, or instrumented applications. Metrics are automatically visualized as Netdata charts with full alerting support. -Logs are stored in systemd-compatible journal files and can be explored through -the Netdata Logs tab. +OpenTelemetry logs received on the same endpoint are covered by the separate +"OpenTelemetry Logs" integration. The plugin listens on a configurable gRPC endpoint for incoming OTLP data. @@ -52,9 +52,6 @@ data are automatically expired and removed. | `interval_secs` | Per-metric collection interval override (1–3600 seconds) | | `grace_period_secs` | Per-metric grace period override | -Incoming logs are written to journal files with configurable rotation and retention -policies. - This collector is only supported on the following platforms: @@ -119,14 +116,6 @@ dots replaced by underscores — e.g. `endpoint.tls_cert_path` becomes | metrics.grace_period_secs | Grace period in seconds. After the last data point, the plugin waits this long before gap-filling. | 60 | no | | metrics.expiry_duration_secs | Expiry duration in seconds. Charts with no data for this long are removed. | 900 | no | | [metrics.max_new_charts_per_request](#option-metrics-max-new-charts-per-request) | Maximum new charts created per gRPC request. | 100 | no | -| logs.journal_dir | Directory to store journal files for ingested logs. | | yes | -| logs.size_of_journal_file | Maximum file size before rotating to a new journal file. | 100MB | no | -| logs.entries_of_journal_file | Maximum log entries per journal file. | 50000 | no | -| logs.duration_of_journal_file | Maximum time span within a single journal file. | 2 hours | no | -| logs.number_of_journal_files | Maximum number of journal files to keep. | 10 | no | -| logs.size_of_journal_files | Maximum total size of all journal files. | 1GB | no | -| logs.duration_of_journal_files | Maximum age of journal files. | 7 days | no | -| [logs.store_otlp_json](#option-logs-store-otlp-json) | Store the complete OTLP JSON in each log entry. | no | no | ##### metrics.chart_configs_dir @@ -143,12 +132,6 @@ ships stock mappings; user files in this directory take priority. Limits cardinality explosion from high-cardinality label combinations. - -##### logs.store_otlp_json - -Useful for debugging and reprocessing, but increases storage usage. - - @@ -182,8 +165,6 @@ metrics: grace_period_secs: 60 expiry_duration_secs: 900 max_new_charts_per_request: 100 -logs: - journal_dir: /var/log/netdata/otel-journals ``` ###### Partial user override @@ -199,9 +180,6 @@ forward compatibility. ```yaml endpoint: path: "0.0.0.0:4317" -logs: - number_of_journal_files: 20 - duration_of_journal_files: "14 days" ``` @@ -255,8 +233,6 @@ metrics: grace_period_secs: 60 expiry_duration_secs: 900 max_new_charts_per_request: 100 -logs: - journal_dir: /var/log/netdata/otel-journals ``` diff --git a/docs/Dashboards and Charts/Tabs/Logs.mdx b/docs/Dashboards and Charts/Tabs/Logs.mdx index 38307afb8..3c9875d89 100644 --- a/docs/Dashboards and Charts/Tabs/Logs.mdx +++ b/docs/Dashboards and Charts/Tabs/Logs.mdx @@ -17,7 +17,7 @@ The Logs tab provides a structured, searchable view of logs collected from acros The Logs tab displays log entries from the following sources: - **systemd-journal** — reads logs from `systemd` journald on Linux Nodes. See the [Systemd Journal Plugin Reference](/docs/logs/systemd-journal-logs/systemd-journal-plugin-reference) for details on journal sources, fields, and query performance. -- **otel-logs** — displays logs received via OpenTelemetry (OTLP) log ingestion. See the [OpenTelemetry Signal Viewer plugin](https://github.com/netdata/netdata/blob/master/src/crates/netdata-log-viewer/otel-signal-viewer-plugin/README.md) for setup and configuration. +- **otel-logs** — displays logs ingested via OpenTelemetry (OTLP/gRPC) by the [OpenTelemetry plugin](/docs/collecting-metrics/opentelemetry/opentelemetry-metrics), which indexes them for fast querying in this tab. - **Windows Event Logs** — reads Windows event logs on Windows Nodes. See the [Windows Events Plugin Reference](/docs/logs/windows-event-logs/windows-events-plugin-reference) for supported event channels and configuration. - **macOS Unified Logs** — reads native macOS unified logs through Apple's OSLog framework. See the [macOS Logs Plugin Reference](https://github.com/netdata/netdata/blob/master/src/collectors/macos-logs.plugin/README.md) for supported fields and query behavior. diff --git a/docs/Logs/OpenTelemetry Logs/OpenTelemetry Logs.mdx b/docs/Logs/OpenTelemetry Logs/OpenTelemetry Logs.mdx index ba571d42e..925ec8485 100644 --- a/docs/Logs/OpenTelemetry Logs/OpenTelemetry Logs.mdx +++ b/docs/Logs/OpenTelemetry Logs/OpenTelemetry Logs.mdx @@ -19,11 +19,10 @@ slug: "/logs/opentelemetry-logs" -The OpenTelemetry log viewer plugin by Netdata makes viewing, exploring and analyzing OpenTelemetry logs simple and efficient. +The OpenTelemetry plugin by Netdata makes viewing, exploring and analyzing OpenTelemetry logs simple and efficient. -It works with logs ingested by the `otel.plugin`, which receives OTLP-formatted log data and stores them in -systemd-compatible journal files. The log viewer provides the same powerful exploration interface used for -systemd journal logs. +It receives OTLP-formatted log data and indexes it for fast querying. The logs are explored from the "Logs" +tab of the Netdata UI, using the same powerful exploration interface used for systemd journal logs. @@ -47,8 +46,9 @@ You can start exploring OpenTelemetry logs on the "Logs" tab of the Netdata UI. ### Prerequisites -- A Netdata Cloud account -- The `otel.plugin` configured to ingest OpenTelemetry logs +- A Netdata Cloud account (the `otel-logs` view is access-gated and requires a Netdata Cloud sign-in). +- The `otel.plugin` enabled, with its OTLP/gRPC endpoint configured in `otel.yaml` (see the plugin's README). +- An OpenTelemetry exporter (an OTel Collector or an SDK) pointed at that endpoint to send OTLP logs. ### Configuration diff --git a/docs/Welcome to Netdata/Monitor Anything.mdx b/docs/Welcome to Netdata/Monitor Anything.mdx index 060ac0d88..9b174fdd9 100644 --- a/docs/Welcome to Netdata/Monitor Anything.mdx +++ b/docs/Welcome to Netdata/Monitor Anything.mdx @@ -327,8 +327,8 @@ Need a dedicated integration? [Submit a feature request](https://github.com/netd | Integration | Description | |-------------|-------------| | [Amazon CloudWatch](/docs/collecting-metrics/collectors/cloud-and-devops/amazon-cloudwatch) | Monitor AWS infrastructure through Amazon CloudWatch. | -| [AWS EC2 Compute instances](/docs/collecting-metrics/collectors/cloud-and-devops/aws-ec2-compute-instances) | Track AWS EC2 instances key metrics for optimized performance and cost management. | -| [AWS Quota](/docs/collecting-metrics/collectors/cloud-and-devops/aws-quota) | Monitor AWS service quotas for effective resource usage and cost management. | +| [AWS EC2 Compute instances](/docs/collecting-metrics/collectors/cloud-and-devops/aws-ec2-compute-instances) | Monitor Amazon EC2 inventory and capacity information exposed by AWS EC2 Exporter. | +| [AWS Quota](/docs/collecting-metrics/collectors/cloud-and-devops/aws-quota) | Monitor AWS Service Quotas exposed by aws_quota_exporter. | | [Azure API Management](/docs/collecting-metrics/collectors/cloud-and-devops/azure-api-management) | :::info | | [Azure App Service](/docs/collecting-metrics/collectors/cloud-and-devops/azure-app-service) | :::info | | [Azure Application Gateway](/docs/collecting-metrics/collectors/cloud-and-devops/azure-application-gateway) | :::info | @@ -372,7 +372,6 @@ Need a dedicated integration? [Submit a feature request](https://github.com/netd | [BOSH](/docs/collecting-metrics/collectors/cloud-and-devops/bosh) | Keep an eye on BOSH deployment metrics for improved cloud orchestration and resource management. | | [Cloud Foundry](/docs/collecting-metrics/collectors/cloud-and-devops/cloud-foundry) | Track Cloud Foundry platform metrics for optimized application deployment and management. | | [Cloud Foundry Firehose](/docs/collecting-metrics/collectors/cloud-and-devops/cloud-foundry-firehose) | Monitor Cloud Foundry Firehose metrics for comprehensive platform diagnostics and management. | -| [CloudWatch](/docs/collecting-metrics/collectors/cloud-and-devops/cloudwatch) | Monitor AWS CloudWatch metrics for comprehensive AWS resource management and performance optimization. | | [Concourse](/docs/collecting-metrics/collectors/cloud-and-devops/concourse) | Monitor Concourse CI/CD pipeline metrics for optimized workflow management and deployment. | | [Dynatrace](/docs/collecting-metrics/collectors/cloud-and-devops/dynatrace) | Monitor Dynatrace APM metrics for comprehensive application performance management. | | [GCP GCE](/docs/collecting-metrics/collectors/cloud-and-devops/gcp-gce) | Keep an eye on Google Cloud Platform Compute Engine metrics for efficient cloud resource management and performance. | @@ -382,7 +381,7 @@ Need a dedicated integration? [Submit a feature request](https://github.com/netd | [Hubble](/docs/collecting-metrics/collectors/cloud-and-devops/hubble) | Monitor Hubble network observability metrics for efficient network visibility and management. | | [Jenkins](/docs/collecting-metrics/collectors/cloud-and-devops/jenkins) | Track Jenkins continuous integration server metrics for efficient development and build management. | | [Linode](/docs/collecting-metrics/collectors/cloud-and-devops/linode) | Monitor Linode cloud hosting metrics for efficient virtual server management and performance. | -| [OpenTelemetry](https://github.com/netdata/netdata/blob/master/src/crates/netdata-otel/otel-plugin/integrations/opentelemetry.md) | This plugin enables the Netdata Agent to receive OpenTelemetry metrics and logs via the OTLP/gRPC protocol from any compatible source — collectors, SDKs, or instrumented applications. | +| [OpenTelemetry](https://github.com/netdata/netdata/blob/master/src/crates/otel-plugin/integrations/opentelemetry.md) | This plugin enables the Netdata Agent to receive OpenTelemetry metrics and logs via the OTLP/gRPC protocol from any compatible source — collectors, SDKs, or instrumented applications. | | [Puppet](/docs/collecting-metrics/collectors/cloud-and-devops/puppet) | This collector monitors Puppet metrics, including JVM heap and non-heap memory, CPU usage, and file descriptors. | | [Spacelift](/docs/collecting-metrics/collectors/cloud-and-devops/spacelift) | Track Spacelift infrastructure-as-code (IaC) platform metrics for efficient infrastructure automation and management. | | [Zerto](/docs/collecting-metrics/collectors/cloud-and-devops/zerto) | Monitor Zerto disaster recovery and data protection metrics for efficient backup and recovery management. | diff --git a/ingest/generated_map.yaml b/ingest/generated_map.yaml index af93d7950..2299c0582 100644 --- a/ingest/generated_map.yaml +++ b/ingest/generated_map.yaml @@ -1052,7 +1052,7 @@ name resolution for Docker, Kubernetes, Podman, LXC, libvirt, Proxmox, and more. meta_yaml: .nan message: .nan -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netdata-otel/otel-plugin/README.md +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/otel-plugin/README.md sidebar_label: OpenTelemetry Metrics learn_status: Published learn_rel_path: Collecting Metrics/OpenTelemetry @@ -2201,15 +2201,6 @@ meta_yaml: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/metadata.yaml message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cloudwatch.md - sidebar_label: CloudWatch - learn_status: Published - learn_rel_path: Collecting Metrics/Collectors/Cloud and DevOps - keywords: '[''cloud services'', ''cloud computing'', ''scalability'']' - description: .nan - meta_yaml: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/metadata.yaml - message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml - FILE - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/concourse.md sidebar_label: Concourse learn_status: Published @@ -16935,14 +16926,14 @@ meta_yaml: https://github.com/netdata/netdata/edit/master/src/go/plugin/ibm.d/modules/websphere/pmi/metadata.yaml message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netdata-otel/otel-plugin/README.md +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/otel-plugin/README.md sidebar_label: OpenTelemetry learn_status: Published learn_rel_path: Collecting Metrics/Collectors/Cloud and DevOps keywords: '[''opentelemetry'', ''otel'', ''otlp'', ''grpc'', ''metrics'', ''logs'', ''observability'']' description: .nan - meta_yaml: https://github.com/netdata/netdata/edit/master/src/crates/netdata-otel/otel-plugin/metadata.yaml + meta_yaml: https://github.com/netdata/netdata/edit/master/src/crates/otel-plugin/metadata.yaml message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/ibm.d/modules/db2/README.md diff --git a/ingest/one_commit_back_file-dict.yaml b/ingest/one_commit_back_file-dict.yaml index 853f3c8aa..53cf8ec5c 100644 --- a/ingest/one_commit_back_file-dict.yaml +++ b/ingest/one_commit_back_file-dict.yaml @@ -672,8 +672,6 @@ learn_path: /docs/collecting-metrics/collectors/synthetic-testing/site-24x7 - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/aws_rds.md learn_path: /docs/collecting-metrics/collectors/databases/aws-rds -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cloudwatch.md - learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/cloudwatch - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/cryptowatch.md learn_path: /docs/collecting-metrics/collectors/applications/cryptowatch - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/aws_ec2_compute_instances.md @@ -3582,8 +3580,6 @@ learn_path: /docs/developer-and-contributor-corner/external-plugins/functions-v3-protocol-reference - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/plugins.d/FUNCTION_UI_DEVELOPER_GUIDE.md learn_path: /docs/developer-and-contributor-corner/external-plugins/functions-developer-guide -- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netdata-otel/otel-plugin/README.md - learn_path: /docs/collecting-metrics/opentelemetry/opentelemetry-metrics - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/classifiers.md learn_path: /docs/network-performance-monitoring/network-flows/enrichment-methods/classifiers - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/db-ip_ip_intelligence.md @@ -3626,6 +3622,8 @@ learn_path: /docs/network-performance-monitoring/network-flows/enrichment-methods/static-metadata - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/netflow-plugin/integrations/custom_mmdb_database.md learn_path: /docs/network-performance-monitoring/network-flows/enrichment-methods/custom-mmdb-database +- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/crates/otel-plugin/README.md + learn_path: /docs/collecting-metrics/opentelemetry/opentelemetry-metrics - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/README.md learn_path: /docs/exporting-metrics/exporting-reference - custom_edit_url: https://github.com/netdata/netdata/edit/master/src/exporting/mongodb/README.md diff --git a/netlify.toml b/netlify.toml index 703587ae2..ed4e77072 100644 --- a/netlify.toml +++ b/netlify.toml @@ -6397,10 +6397,6 @@ from="/docs/data-collection/cloud-provider-managed/google-cloud-platform" to="/docs/collecting-metrics/collectors/cloud-and-devops/google-cloud-platform" -[[redirects]] - from="/docs/data-collection/cloud-provider-managed/cloudwatch" - to="/docs/collecting-metrics/collectors/cloud-and-devops/cloudwatch" - [[redirects]] from="/docs/data-collection/cloud-provider-managed/aws-quota" to="/docs/collecting-metrics/collectors/cloud-and-devops/aws-quota" @@ -10037,10 +10033,6 @@ from="/docs/collecting-metrics/cloud-provider-managed/gcp-gce" to="/docs/collecting-metrics/collectors/cloud-and-devops/gcp-gce" -[[redirects]] - from="/docs/collecting-metrics/cloud-provider-managed/cloudwatch" - to="/docs/collecting-metrics/collectors/cloud-and-devops/cloudwatch" - [[redirects]] from="/docs/collecting-metrics/cloud-provider-managed/aws-quota" to="/docs/collecting-metrics/collectors/cloud-and-devops/aws-quota" @@ -12185,10 +12177,6 @@ from="/docs/collecting-metrics/cloud-and-devops/concourse" to="/docs/collecting-metrics/collectors/cloud-and-devops/concourse" -[[redirects]] - from="/docs/collecting-metrics/cloud-and-devops/cloudwatch" - to="/docs/collecting-metrics/collectors/cloud-and-devops/cloudwatch" - [[redirects]] from="/docs/collecting-metrics/cloud-and-devops/cloud-foundry-firehose" to="/docs/collecting-metrics/collectors/cloud-and-devops/cloud-foundry-firehose"