Instana 标签过滤表达式

通过标签过滤器表达式,您可以指定条件, Instana 将根据这些条件有选择地显示或分析数据。

什么是标记?

Instana 中的标签可以包含元数据,例如环境(例如生产环境、预发布环境)、位置、应用程序版本,或您定义的任何自定义属性。

什么是标签过滤表达式?

标签过滤器表达式指定了 Instana 用于有选择地显示或分析数据的条件。 例如,您可以创建一个过滤表达式,以显示只与标记为 "生产 "和 "后台 "的服务相关的数据。 或者,您可以创建一个过滤表达式,专门监控带有“ AWS ”和“ us-east-1 ”标签的主机的指标。

标签过滤表达式通常使用逻辑运算符(AND、OR)和比较运算符(等于、不等于)来组合标签并有效定义过滤规则。 标签过滤表达式对于将监控重点放在基础架构或应用程序的特定子集上至关重要,可帮助您高效管理性能问题并排除故障。

Instana 中标签过滤表达式的结构

在 Instana 中,标签过滤表达式的数据模型采用结构化格式,用于根据与受监控实体关联的标签来定义条件。

标签过滤表达式(TFE)的组成部分

使用标签过滤表达式,您可以通过标签以及“ AND 和”、 OR“或”等逻辑运算符对查询进行过滤。 您还可以在用户界面中应用这些表达式来完善数据视图。

要使用 TFE,可以添加以下信息:

  • tagFilterExpression: 使用标记和运算符过滤查询。 逻辑运算符(如 ANDOR )可用于组合多个标签条件。
  • name: 目录返回的标记名称(例如,beacon.metabeacon.http.path)。
  • value: 标记的过滤值,例如
    • 字符串:字母数字值。 有效操作符如 EQUALSCONTAINSNOT_EQUALNOT_CONTAINNOT_EMPTYIS_EMPTY
    • NUMBER: 数值。 有效操作符,如 EQUALSLESS_THANGREATER_THAN
    • KEY_VALUE_PAIR: 对于像 beacon.meta 这样的元标记,您可以通过在值域中设置 yourMetaTagName=foo 来进行筛选。 有效操作符如 EQUALSCONTAINSNOT_EQUALNOT_CONTAINNOT_EMPTYIS_EMPTY
  • 操作符: 所选标记类型的有效操作符之一。

要获取所有可用标记的列表,可以查询标记目录。

如何构建标签过滤表达式

  1. 标签键和值:

    • 标签以键值对的形式表示
    • 例如: environment:production,其中 environment 是标签键, production 是标签值
  2. 逻辑运算符:

    • “与”运算符 (&&): 将多个条件组合在一起,所有条件都必须为真
    • “或”运算符 (||): 将多个条件组合在一起,其中至少有一个条件必须为真
    • NOT 运算符 (!): 取条件之反
  3. 比较运算符:

    • 等于 (=): 匹配特定的标签值
    • 不等于 (!=): 不匹配特定的标签值
    • Exists(exists):检查实体是否存在标签

标签过滤表达式的示例

  1. 简单的双打比赛:

    • 筛选带有标签的服务environment:production
    • 表达式: environment:production
  2. 使用 AND 运算符的多个标签:

    • 筛选同时带有以下标记的主机environment:productionservice:backend
    • 表达式: environment:production && service:backend
  3. 用于替代标签的“或”运算符:

    • 筛选带有以下标记的服务environment:production或者environment:staging
    • 表达式: environment:production || environment:staging
  4. “与”和“或”的组合:

    • 筛选带有以下标签的服务environment:production并且要么service:frontend或者service:backend
    • 表达式: environment:production && (service:frontend || service:backend)
  5. 使用 NOT 运算符进行否定:

    • 过滤未标记的主机environment:development
    • 表达式: !environment:development
  6. 检查标签是否存在:

    • 筛选服务,其中version标签已存在。
    • 表达式: version:exists

注意

  • 可以使用 () 圆括号来分组条件以提高清晰度,并指定运算顺序。
  • Instana 的标签过滤表达式支持使用复杂的条件,从而精确指定哪些受监控的实体和指标应被纳入或排除在分析或监控视图之外。 可以根据您的监控需求和基础设施设置动态进行调整。