首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将prometheusScrap与Datadog一起使用以获取自定义度量

如何将prometheusScrap与Datadog一起使用以获取自定义度量
EN

Stack Overflow用户
提问于 2022-10-05 15:05:54
回答 1查看 131关注 0票数 0

我正在尝试配置我的datadog代理,以便使用我的values.yaml文件中的以下内容进行prometheus检查:

代码语言:javascript
复制
  prometheusScrape:
    enabled: true
    serviceEndpoints: true
    additionalConfigs:
      -
        configurations:
          - collect_histogram_buckets: true

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

代码语言:javascript
复制
      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

我的配置是基于舵图中的示例。

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

代码语言:javascript
复制
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

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

代码语言:javascript
复制
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是通过在吊舱中执行、安装curl和执行curl http://192.168.180.78:3000/metrics来释放度量指标的,curl http://192.168.180.78:3000/metrics输出了许多度量标准,如下所示:

代码语言:javascript
复制
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代理错误意味着什么,我如何调试它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-05 15:32:22

啊,看来"metrics": ["*"]需要成为"metrics": [".*"]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73962473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档