弹性 APM TransactionIgnoreUrls

Elastic-APM TransactionIgnoreUrls

为了降低 apm 日志记录的负载,我们希望排除我们的监控 urls。 我试图在 de config 中使用 TransactionIgnoreUrls 来实现这一点,但出于某种原因,我无法让它工作。根据文档,我应该提供一个字符串列表。 下面是我使用的配置(我的尝试之一)。 我想做的是为初学者排除 ping 端点,但最终以 url

中包含 /status/ 的所有端点结束
"ElasticApm__TransactionSampleRate": "1.0",
"ElasticApm__Enabled": "true",
"ElasticApm__Environment": "Development",
"ElasticApm__SecretToken": "some token",
"ElasticApm__ServerUrls": "serverurl",
"ElasticApm__VerifyServerCert": "FALSE",
"ElasticApm__ServiceName": "MyApi"
"ElasticApm__TransactionIgnoreUrls": [
  "*pin*"
],

Startup.cs

app.UseAllElasticApm(Configuration);

上面没有过滤掉我们的端点(也尝试了 "ping""/ping""status""/status" 和许多其他可能性),因为它仍然是在 apm 仪表板中可见。

我可能做错了什么,但我不知道它可能是什么。

  1. 配置应该是逗号分隔的字符串。我刚刚查看了文档,确实有点令人困惑。所以它必须是 "UrlToIgnore1, UrlToIgnore2"(代理将在内部解析它)而不是像 ["UrlToIgnore1", "UrlToIgnore2"] 这样的数组。因此,在您的情况下,它应该只是 "*pin*",如果您想附加另一个要忽略的值,只需将其添加到逗号后的字符串 (,).
  2. 你把你粘贴的配置放在哪里?这个双下划线格式是你设置的环境变量吧?如果是这样,只需将 "*pin*" 放到 ElasticApm__TransactionIgnoreUrls,如果您使用 appsettings.json,它应该是这样的:
"ElasticApm": {
  "TransactionIgnoreUrls": "*pin*"
}