【问题标题】:How to use prometheusScrap with Datadog to ingest custom metrics如何使用 prometheusScrap 和 Datadog 来摄取自定义指标
【发布时间】:2022-10-05 23:32:22
【问题描述】:

我正在尝试将我的 datadog 代理配置为在我的 values.yaml 文件中使用以下内容进行普罗米修斯检查:

  prometheusScrape:
    enabled: true
    serviceEndpoints: true
    additionalConfigs:
      -
        configurations:
          - collect_histogram_buckets: true

但是在检查代理的状态时,我最终收到以下错误:

      Traceback (most recent call last):
        File \"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py\", line 1091, in run
          initialization()
        File \"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/openmetrics/v2/base.py\", line 83, in configure_scrapers
          scrapers[endpoint] = self.create_scraper(config)
        File \"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/openmetrics/v2/base.py\", line 90, in create_scraper
          return OpenMetricsScraper(self, self.get_config_with_defaults(config))
        File \"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/openmetrics/v2/scraper.py\", line 64, in __init__
          self.metric_transformer = MetricTransformer(self.check, config)
        File \"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/openmetrics/v2/transform.py\", line 50, in __init__
          self.metric_patterns.append((re.compile(raw_metric_name), config))
        File \"/opt/datadog-agent/embedded/lib/python3.8/re.py\", line 252, in compile
          return _compile(pattern, flags)
        File \"/opt/datadog-agent/embedded/lib/python3.8/re.py\", line 304, in _compile
          p = sre_compile.compile(pattern, flags)
        File \"/opt/datadog-agent/embedded/lib/python3.8/sre_compile.py\", line 764, in compile
          p = sre_parse.parse(p, flags)
        File \"/opt/datadog-agent/embedded/lib/python3.8/sre_parse.py\", line 948, in parse
          p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
        File \"/opt/datadog-agent/embedded/lib/python3.8/sre_parse.py\", line 443, in _parse_sub
          itemsappend(_parse(source, state, verbose, nested + 1,
        File \"/opt/datadog-agent/embedded/lib/python3.8/sre_parse.py\", line 668, in _parse
          raise source.error(\"nothing to repeat\",
      re.error: nothing to repeat at position 0

我的配置基于helm chart 中的示例。

我还在我的 pod 中添加了 ADP 2 注释(如下所示来自kubectl describe pod):

Annotations:      ad.datadoghq.com/rpc-node-proxy.checks:
                    {
                                    \"openmetrics\": {
                                      \"instances\": [
                                        {
                                          \"openmetrics_endpoint\": \"http://%%host%%:3000/metrics\",
                                          \"namespace\": \"rpc-node-proxy\",
                                          \"collect_histogram_buckets\": true,
                                          \"metrics\": [\"*\"]
                                        }
                                      ]
                                     }
                                 }
                  kubernetes.io/psp: eks.privileged
                  prometheus.io/scrape: true

查看我的代理的日志,我看到以下内容:

2022-10-05 15:02:53 UTC | CORE | INFO | (pkg/collector/python/datadog_agent.go:127 in LogMessage) | openmetrics:1067ca789343c469 | (base.py:60) | Scraping OpenMetrics endpoint: http://192.168.180.78:3000/metrics
2022-10-05 15:03:00 UTC | CORE | ERROR | (pkg/collector/worker/check_logger.go:69 in Error) | check:openmetrics | Error running check: [{\"message\": \"nothing to repeat at position 0\", \"traceback\": \"Traceback (most recent call last):\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py\\\", line 1091, in run\\n    initialization()\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/openmetrics/v2/base.py\\\", line 83, in configure_scrapers\\n    scrapers[endpoint] = self.create_scraper(config)\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/openmetrics/v2/base.py\\\", line 90, in create_scraper\\n    return OpenMetricsScraper(self, self.get_config_with_defaults(config))\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/openmetrics/v2/scraper.py\\\", line 64, in __init__\\n    self.metric_transformer = MetricTransformer(self.check, config)\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/openmetrics/v2/transform.py\\\", line 50, in __init__\\n    self.metric_patterns.append((re.compile(raw_metric_name), config))\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/re.py\\\", line 252, in compile\\n    return _compile(pattern, flags)\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/re.py\\\", line 304, in _compile\\n    p = sre_compile.compile(pattern, flags)\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/sre_compile.py\\\", line 764, in compile\\n    p = sre_parse.parse(p, flags)\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/sre_parse.py\\\", line 948, in parse\\n    p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/sre_parse.py\\\", line 443, in _parse_sub\\n    itemsappend(_parse(source, state, verbose, nested + 1,\\n  File \\\"/opt/datadog-agent/embedded/lib/python3.8/sre_parse.py\\\", line 668, in _parse\\n    raise source.error(\\\"nothing to repeat\\\",\\nre.error: nothing to repeat at position 0\\n\"}]
2022-10-05 15:03:02 UTC | CORE | INFO | (pkg/serializer/serializer.go:401 in sendMetadata) | Sent metadata payload, size (raw/compressed): 3635/1146 bytes.
2022-10-05 15:03:03 UTC | CORE | INFO | (pkg/serializer/serializer.go:425 in SendProcessesMetadata) | Sent processes metadata payload, size: 1476 bytes.

我已经验证 http://192.168.180.78:3000/metrics 正在通过执行到 pod、安装 curl 并执行 curl http://192.168.180.78:3000/metrics 来发出指标,这会输出许多指标,如下所示:

rpc_request_duration_ms_bucket{le=\"5\",nodeName=\"optimism-alchemy\",nodeUrl=\"https://opt-goerli.g.alchemy.com./v2/rlEHpvxAL--b_Oa\",network=\"optimism-goerli\",rpcMethod=\"eth_getTransactionReceipt\",weight=\"1\",app=\"rpc-node-proxy\"} 0
rpc_request_duration_ms_bucket{le=\"10\",nodeName=\"optimism-alchemy\",nodeUrl=\"https://opt-goerli.g.alchemy.com./v2/rlEHpvxAL--b_Oa\",network=\"optimism-goerli\",rpcMethod=\"eth_getTransactionReceipt\",weight=\"1\",app=\"rpc-node-proxy\"} 0
rpc_request_duration_ms_bucket{le=\"+Inf\",nodeName=\"optimism-alchemy\",nodeUrl=\"https://opt-goerli.g.alchemy.com./v2/rlEHpvxAL--b_Oa\",network=\"optimism-goerli\",rpcMethod=\"eth_getTransactionReceipt\",weight=\"1\",app=\"rpc-node-proxy\"} 9
rpc_request_duration_ms_sum{nodeName=\"optimism-alchemy\",nodeUrl=\"https://opt-goerli.g.alchemy.com./v2/rlEHpvxAL--b_Oa\",network=\"optimism-goerli\",rpcMethod=\"eth_getTransactionReceipt\",weight=\"1\",app=\"rpc-node-proxy\"} 916

这个数据狗代理错误是什么意思,我该如何调试它?

    标签: datadog


    【解决方案1】:

    啊,看起来"metrics": ["*"] 需要是"metrics": [".*"]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 2021-02-22
      • 2021-06-10
      • 2022-11-04
      • 1970-01-01
      • 2017-10-02
      相关资源
      最近更新 更多