Skip to content

Metric Output

Time-series outputs provide an extensible method for publishing TenXSummary instances generated by an aggregator as metric counters to a variety of time-series DBs (e.g., Prometheus, Datadog).

Supported outputs

Pick one. No metric output is active until a pipeline names it, and every destination below is one you own.

Output Writes to Module
Prometheus remote write Prometheus, Grafana Cloud, Mimir, Thanos, VictoriaMetrics, Cortex remote-write
Prometheus scrape any Prometheus that scrapes targets scrape
Prometheus Push Gateway batch and short-lived jobs push-gateway
Datadog a Datadog account, by API key datadog
Elastic Elasticsearch or OpenSearch elastic
AWS CloudWatch CloudWatch metrics, by IAM role cloudwatch
Log4j2 a local appender, no time-series database needed log

Logs to Metrics

TenXSummary metrics provide an effective way of delivering data to ML tools like CloudWatch and Datadog to detect surges and prevent over-billing.

Extensions

Output modules utilize the extensible Micrometer observability framework. To learn more about creating custom metrics outputs, see metric extensions.

Modules

  • Prometheus Output


    Write TenXSummary instances to Prometheus.

    More info

  • AWS CloudWatch Metrics Outputs


    Publish TenXSummary metrics to AWS CloudWatch metrics.

    More info

  • Datadog Metrics Outputs


    Publish TenXSummary metrics to Datadog.

    More info

  • ElasticSearch Metrics Outputs


    Publish TenXSummary metrics to ElasticSearch.

    More info

  • Log4j2 Metrics Outputs


    Publish TenXSummary metrics to a log4j2 appender in Micrometer 'simple' format.

    More info

Options

Specify the options below to configure the Metric output:

Name Description
metricFieldNames List of names to give fields when reported as metrics

metricFieldNames

List of names to give fields when reported as metrics.

Type Default
List []

Defines a mapping from original field names to alternative names used when reporting metrics. This option accepts a list of strings with an even number of elements, structured as pairs: the first element of each pair is the original field name, and the second is the desired metric field name (e.g., ["originalField1", "metricName1", "originalField2", "metricName2"]). When metrics are generated and reported, any field whose name matches an original field in this mapping is renamed to the corresponding metric field name for the report. Fields not included in the mapping are reported using their original names.

Each initializer module appends its assigned metric field names to the global metricFieldNames.

Metric outputs can use this values to change the names of aggregated fields names to aligning names with external monitoring systems or simplifying aggregated data views.

log10xMetrics:
  # 'tagFieldNames' allows setting custom names to aggregated fields for metrics reporting.
  #  Defaults to https://doc.log10x.com/run/initialize/#metricFieldNames
  tagFieldNames:
    - $=yield TenXEnv.get("metricFieldNames")


This module is defined in metric/module.yaml.