• SignalFx
    • PARAMS
    • Params.MetricConfig
    • Params.MetricConfig.Type

    SignalFx

    signalfx 适配器收集 Istio 指标和 tracespan 并将它们发送到 SignalFx。

    此适配器支持指标模板和 tracespan 模板。

    在发送 tracespan 时,该适配器可以对接收到的 tracespan 进行一些配置来生成发送内容。以下是一个适用的 tracespan 示例:

    1. apiVersion: config.istio.io/v1alpha2
    2. kind: tracespan
    3. metadata:
    4. name: signalfx
    5. spec:
    6. traceId: request.headers["x-b3-traceid"] | ""
    7. spanId: request.headers["x-b3-spanid"] | ""
    8. parentSpanId: request.headers["x-b3-parentspanid"] | ""
    9. # 如果路径包含查询参数,它们将被拆分并放入标记中,以便发送到 SignalFx 的范围名称仅包含路径本身。
    10. spanName: request.path | "/"
    11. startTime: request.time
    12. endTime: response.time
    13. # 如果此值 >=500 ,则 span 将获得 `error` 标记
    14. httpStatusCode: response.code | 0
    15. clientSpan: context.reporter.kind == "outbound"
    16. # 下面的注释标签都是可选项。没有注释的的部分会不加修改地传递给 SignalFx。有注释的标签会使用特定方式进行解释。
    17. spanTags:
    18. # 这用于分辨当前 span 是属于客户端还是服务器端。
    19. context.reporter.local: context.reporter.local
    20. # 这将放入 remoteEndpoint.ipv4 字段
    21. destination.ip: destination.ip | ip("0.0.0.0")
    22. # 用 `destination.labels.<key>: <value>` 的形式将标签进行扁平化处理。
    23. destination.labels: destination.labels
    24. # 这将放入 remoteEndpoint.name 字段
    25. destination.name: destination.name | "unknown"
    26. destination.namespace: destination.namespace | "unknown"
    27. request.host: request.host | ""
    28. request.method: request.method | ""
    29. request.path: request.path | ""
    30. request.size: request.size | 0
    31. request.useragent: request.useragent | ""
    32. response.size: response.size | 0
    33. # 这将放入 localEndpoint.name 字段
    34. source.name: source.name | "unknown"
    35. # 这将放入 localEndpoint.ipv4 字段
    36. source.ip: source.ip | ip("0.0.0.0")
    37. source.namespace: source.namespace | "unknown"
    38. # 用 `source.labels.<key>: <value>` 的形式将标签进行扁平化处理。
    39. source.labels: source.labels
    40. source.version: source.labels["version"] | "unknown"

    PARAMS

    signalfx 适配器的配置格式。

    属性类型描述
    metricsParams.MetricConfig[]必选项。要发送到 SignalFx 的指标标准集。如果将 Istio 指标标准配置为发送到此适配器,则此处必须具有相应的描述。
    ingestUrlstring可选项。要使用的 SignalFx 接受服务器的 URL。如果未指定,将默认为全局摄取服务器。
    accessTokenstring必选项。应接收指标的 SignalFx 组织的访问令牌。
    datapointIntervalgoogle.protobuf.Duration可选项。指定将指标发送到 SignalFx 的频率。报告给此适配器的指标标准将作为时间序列进行收集和报告。这将四舍五入到最接近的秒,小于一秒的舍入值无效。如果未指定,则默认为10秒。
    enableMetricsbool可选项。如果设置为 false,则不会发送指标标准(但将发送 trace span ,除非另行禁用)。
    enableTracingbool可选项。如果设置为 false,则不会发送 tracespan (除非另行禁用,否则将发送指标标准)。
    tracingBufferSizeuint32可选项。适配器在丢弃之前将缓冲的 tracespan 数。默认为 1000 个 span ,但如果必选项,可以配置更高。如果删除 span,将记录错误消息。
    tracingSampleProbabilitydouble可选项。如果父 span 尚未被采样的情况下,当前 span 的采样概率为([0.0,1.0])。如果它们的父 span 被采样,子 span 则一定会被采样。如果没有赋值,则默认为发送所有的 span。

    Params.MetricConfig

    描述应以何种形式将哪些指标发送到 SignalFx。

    属性类型描述
    namestring必选项。发送到适配器的指标标准的名称。在 Kubernetes 中,其形式为 “.metric.” 其中双引号中 “ ” 既有指标资源的名称字段, 也有指标资源的命名空间。
    typeParams.MetricConfig.Type指标标准类型

    Params.MetricConfig.Type

    描述这是什么类型的指标。

    名称描述
    NONENONE 是默认值
    COUNTER具有相同维度集的值将作为连续递增值一起添加。
    HISTOGRAM直方图分布。这将导致为每个唯一维度集发出多个指标。