日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用Jaeger進(jìn)行遠(yuǎn)程采樣策略配置

更新時(shí)間:

通過(guò)遠(yuǎn)程采樣策略配置,您可以直接在可觀測(cè)鏈路 OpenTelemetry 版控制臺(tái)上配置采樣策略,而不需要修改代碼。

背景信息

采樣指從全量采集的所有鏈路數(shù)據(jù)中,采集部分?jǐn)?shù)據(jù)進(jìn)行分析。采樣決策包括采集數(shù)據(jù)和不采集數(shù)據(jù)。采樣有以下類型:

  • 事前采樣:在用戶訪問(wèn)開始時(shí)進(jìn)行采樣決策,Jaeger的采樣是事前采樣。

  • 事后采樣:在用戶訪問(wèn)執(zhí)行過(guò)程中或者訪問(wèn)過(guò)程后進(jìn)行采樣決策。

采樣流程

以一個(gè)簡(jiǎn)單的調(diào)用關(guān)系為例:A->B->C(服務(wù)A調(diào)用服務(wù)B,同時(shí),服務(wù)B調(diào)用服務(wù)C),服務(wù)A為頭節(jié)點(diǎn)。當(dāng)服務(wù)A收到不包含跟蹤信息的請(qǐng)求時(shí),Jaeger跟蹤器將開始新的跟蹤:

  1. Jaeger跟蹤器將為服務(wù)A、服務(wù)B以及服務(wù)C分配同一個(gè)隨機(jī)Trace ID,并根據(jù)當(dāng)前配置的采樣策略做出采樣決策。

  2. 采樣決策將與請(qǐng)求一起傳播到服務(wù)B和服務(wù)C,這些服務(wù)將不做采樣決策,而是接受頭節(jié)點(diǎn)服務(wù)A的采樣決策。

這種方法保證鏈路上所有Span都被記錄在后端。 如果每個(gè)服務(wù)都做出自己的采樣決策,那么您將很難在后端獲得完整的調(diào)用鏈路。

說(shuō)明

只有頭節(jié)點(diǎn)的采樣策略會(huì)生效,例如服務(wù)A、B、C中都配置采樣策略:

  • 對(duì)于調(diào)用鏈路為A->B->C,只有A的采樣策略會(huì)生效。

  • 對(duì)于調(diào)用鏈路為B->C->A,只有B的采樣策略會(huì)生效。

配置客戶端

您需要在構(gòu)建Trace對(duì)象時(shí),將采樣類型配置成Remote,采樣的服務(wù)地址配置成可觀測(cè)鏈路 OpenTelemetry 版的采樣地址。詳情請(qǐng)參見通過(guò)Jaeger上報(bào)Java應(yīng)用數(shù)據(jù)。將控制臺(tái)上的接入點(diǎn)信息做簡(jiǎn)單修改后,您可以得到采樣地址:

  • api/traces改成/api/sampling

  • 去掉http://

例如,將

http://tracing-analysis-dc-hz.aliyuncs.com/adapt_******_******/api/traces

修改為

tracing-analysis-dc-hz.aliyuncs.com/adapt_******_******/api/sampling

代碼示例如下:

 io.jaegertracing.Configuration config = new io.jaegertracing.Configuration("your application name");
config.withSampler(new Configuration.SamplerConfiguration().withType("remote")
.withManagerHostPort("tracing-analysis-dc-hz.aliyuncs.com/adapt_ao123458@abcdefg_ao123458@fghijklm/api/sampling")
.withParam(0.1));
說(shuō)明

如果您在客戶端配置成遠(yuǎn)程采樣方式,但是沒有在服務(wù)端配置采樣策略,系統(tǒng)將會(huì)按照固定比例0.001(0.1%)進(jìn)行采樣。

配置服務(wù)端

您需要先在客戶端完成配置,才能在服務(wù)端配置采樣策略。您的配置將對(duì)所有配置了遠(yuǎn)程采樣方式的Jaeger Client生效。

功能入口

  1. 登錄可觀測(cè)鏈路 OpenTelemetry 版控制臺(tái)

  2. 在左側(cè)導(dǎo)航欄單擊集群配置,然后在右側(cè)頁(yè)面單擊采樣上報(bào)頁(yè)簽。

采樣策略級(jí)別

  • default_strategy:默認(rèn)策略,必須配置。它還包括共享的per-operation策略,這些per-operation策略將適用于配置中未列出的、沒有Service級(jí)別和Span級(jí)別的所有服務(wù)。

  • service_strategies:Service級(jí)別的采樣策略,可選。

  • operation_strategies:Span級(jí)別的采樣策略,可選。

采樣策略類型

  • 比例采樣:default_strategyservice_strategies以及operation_strategies可配置。

  • 速率采樣:default_strategy以及service_strategies可配置。

示例如下:

{
  "service_strategies": [
    {
      "service": "foo",
      "type": "probabilistic",
      "param": 0.8,
      "operation_strategies": [
        {
          "operation": "op1",
          "type": "probabilistic",
          "param": 0.2
        },
        {
          "operation": "op2",
          "type": "probabilistic",
          "param": 0.4
        }
      ]
    },
    {
      "service": "bar",
      "type": "ratelimiting",
      "param": 5
    }
  ],
  "default_strategy": {
    "type": "probabilistic",
    "param": 0.5,
    "operation_strategies": [
      {
        "operation": "/health",
        "type": "probabilistic",
        "param": 0.0
      },
      {
        "operation": "/metrics",
        "type": "probabilistic",
        "param": 0.0
      }
    ]
  }
}

在示例中:

  • 應(yīng)用foo的所有操作均以0.8的比例進(jìn)行采樣,但op1op2分別以0.2的比例和0.4的比例進(jìn)行采樣。

  • 應(yīng)用bar的所有Span埋點(diǎn)均以每秒5條鏈路的速率進(jìn)行采樣。

  • 其他應(yīng)用將以default_strategy定義的概率0.5進(jìn)行采樣。

另外,在此示例中,我們通過(guò)使用概率0禁用了對(duì)所有服務(wù)的/health和/metrics端點(diǎn)的跟蹤。