使用 applicationinsights javaagent 3.5.4 过滤掉依赖项遥测

问题描述 投票:0回答:1

我有一个在 OpenShift 中运行的 EAP7 应用程序,其中带有附加了应用程序洞察 (Azure) 的 javaagent。我已按照指南过滤遥测并使用指南配置代理:https://learn.microsoft.com/en-us/azure/azure-monitor/app/java-standalone-confighttps:/ /learn.microsoft.com/en-us/azure/azure-monitor/app/java-standalone-sampling-overrides

我的 applicationinsights.json 文件如下所示:

    {
        "sampling": {
           "percentage": 100,
            "overrides": [
                {
                    "telemetryType": "request",
                    "attributes": [
                        {
                            "key": "http.url",
                            "value": "https?://[^/]+/health.*",
                            "matchType": "regexp"
                        }
                    ],
                    "percentage": 0
                },
                {
                    "telemetryType": "request",
                    "attributes": [
                        {
                            "key": "http.url",
                            "value": "https?://[^/]+/metrics.*",
                            "matchType": "regexp"
                        }
                    ],
                    "percentage": 0
                },
                {
                    "telemetryType": "request",
                    "attributes": [
                        {
                            "key": "http.request.method",
                            "value": "HEAD",
                            "matchType": "strict"
                        }
                    ],
                    "percentage": 0
                },
                {
                    "telemetryType": "trace",
                    "percentage": 0
                },
                
            ]
        },
        "instrumentation": {
            "jdbc": {
                "masking": {
                    "enabled": false
                }
            }
        }
    }

适用于指标和健康端点。 但是我面临着具有一定依赖性的问题:

Dependency in application insights

我尝试过许多过滤器,例如:

{
    "notWorkingFilters": [
        {
            "telemetryType": "dependency",
            "attributes": [
                {
                    "key": "message",
                    "value": "GET \/",
                    "matchType": "strict"
                }
            ],
            "percentage": 0
        },
        {
            "telemetryType": "dependency",
            "attributes": [
                {
                    "key": "message",
                    "value": ".*localhost:5778.*",
                    "matchType": "regexp"
                }
            ],
            "percentage": 0
        },
        {
            "telemetryType": "dependency",
            "attributes": [
                {
                    "key": "name",
                    "value": "GET \/",
                    "matchType": "strict"
                }
            ],
            "percentage": 0
        },
        {
            "telemetryType": "dependency",
            "attributes": [
                {
                    "key": "name",
                    "value": ".*localhost:5778.*",
                    "matchType": "regexp"
                }
            ],
            "percentage": 0
        },
        {
            "telemetryType": "dependency",
            "attributes": [
                {
                    "key": "http.url",
                    "value": "http://localhost:5778.*",
                    "matchType": "regexp"
                }
            ],
            "percentage": 0
        },
        {
            "telemetryType": "dependency",
            "attributes": [
                {
                    "key": "http.url",
                    "value": ".*5778.*",
                    "matchType": "regexp"
                }
            ],
            "percentage": 0
        }
    ]
}

这只是出于格式原因,我添加了“notWorkingFilters”:-)

他们都没有过滤掉这种依赖性。知道我缺少什么以及我可以做什么来删除它吗?

我还尝试将它们添加为 telemetryType“request”并在 HTTP 级别上指定它,但没有运气。

java azure-application-insights open-telemetry open-telemetry-java
1个回答
0
投票

当您想要通过应用程序洞察过滤依赖项遥测时,您所遵循的方法和依赖项会准确给出。检查以下方法尝试解决问题。

根据MSDoc

当调用外部服务时,您需要知道该服务器的身份,以便您可以适当地设置

dependency.target
字段。

如上所述,尝试在遥测依赖项下提供

target
键类型,如下所示。

applicationinsights.json

过滤器

target

{
    "telemetryType": "dependency",
         "attributes": [
             {
                 "key": "target",
                 "value": ".*localhost:5778.*",
                 "matchType": "regexp"
             }
         ],
            "percentage": 0
}

此外,这里的依赖关系可以记录为

HTTP
SQL
或其他类型,并且它可能会根据其进行的外部调用而有所不同。如果依赖关系与
HTTP
相关,请尝试通过
type
属性过滤它。这些都是您可以尝试解决冲突的几种方法,因为这些见解没有发现确切的问题
Json

注意:还要检查缓存问题是否被代理正确加载。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.