Skip to content

Log10x

Publish TenXSummary instance values as metric counters to a Prometheus Micrometer registry connected to the 10x metric backend.

Configuration

To configure the log10x managed Prometheus output module, Edit these settings.

Below is the default configuration from: log10x/config.yaml.

Edit Online

Edit config.yaml Locally

# 🔟❎ 'run' 10x-hosted metrics backend output configuration

# Configuration 10x-hosted metrics backend counter outputs.
# To learn more see https://doc.log10x.com/run/output/metric/log10x/

# Set the 10x pipeline to 'run'
tenx: run

# =============================== Dependencies ================================

include: run/modules/output/metric/log10x

# =========================== Log10x Metrics output ===========================

# Define multiple log10x metric outputs below
log10xMetrics:

    # ---------------------------- Counter Options ----------------------------

    # 'nameField' sets the TenXSummary field whose value identifies the micrometer counter to increment.
    #  The 'inputName' field returns the name of the aggregator that produced the target TenXSummary instance.
    #  To learn more see https://doc.log10x.com/run/aggregate
  - nameField: inputName

    # 'counterFields' specifies the TenXSummary fields whose values are used to increment the counter.
    #  To learn more see https://doc.log10x.com/run/aggregate/#summary-fields
    counterFields:
      - summaryVolume
      - summaryBytes
      - summaryTotals

    # 'tagFields' sets the TenXSummary fields used as the counter tag dimension values.
    #  Defaults to https://doc.log10x.com/run/initialize/#enrichmentFields
    tagFields:
      - $=yield TenXEnv.get("enrichmentFields")

    # '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")

    # 'filter' sets a JavaScript expression that TenXSummaries must evaluate as truthy to write to the output.
    #  To learn more see https://doc.log10x.com/run/output/regulate/#filter-expressions
    filter: isSummary

Options

Specify the options below to configure multiple log10x managed Prometheus output:

Name Description Category
log10xMetricsEnabled Enable this output General
log10xMetricsNameField Name of the TenXSummary field identifying the metric Counter
log10xMetricsCounterFields Names of the TenXSummary fields used to increment the metric counter value Counter
log10xMetricsTagFields List of TenXSummary fields to use as metric tag values Counter
log10xMetricsTagFieldNames List of custom names to use for TenXSummary fields. Counter
log10xMetricsFilter A JavaScript expression an TenXSummary must evaluate as 'truthy' against to be written to this output Counter

General

log10xMetricsEnabled

Enable this output.

Type Default Category
Boolean true General

Enable or disable this output.

Counter

log10xMetricsNameField

Name of the TenXSummary field identifying the metric.

Type Default Category
String summaryValues Counter

Defines the name of the TenXSummary field whose value identifies a metric counter. Defaults to the summaryValues field which holds the value(s) by which TenXObjects are grouped into the current TenXSummary instance. To learn more see micrometer counters.

log10xMetricsCounterFields

Names of the TenXSummary fields used to increment the metric counter value.

Type Default Category
List summaryVolume Counter

Defines the name of the TenXSummary field by whose value to increment the counter.

log10xMetricsTagFields

List of TenXSummary fields to use as metric tag values.

Type Default Category
List [] Counter

Defines the TenXSummary field names to use as tag values. Tags are dimensions that enable slicing a particular named metric to drill down to reason about its value. To learn more see micrometer tags.

log10xMetricsTagFieldNames

List of custom names to use for TenXSummary fields.

Type Default Category
List [] Counter

Defines the a list of custom names to give fields when reporting them. Format as a list of name1, custom1, name2, custom2.

For example, to set a custom name of 'My-Custom-Field' to an existing 'intrinsic-field':

log10xMetrics:
  tagFieldNames:
    - intrinsic-field
    - My-Custom-Field.

log10xMetricsFilter

A JavaScript expression an TenXSummary must evaluate as 'truthy' against to be written to this output.

Type Default Category
String "" Counter

Specifies a JavaScript expression that an TenXSummary must evaluate as truthy to write its instance/template field values to the target counter.

For example, to only emit TenXSummaries produced by the 'myMetric' aggregator, specify:

log10xMetrics: 
  filter: this.inputName == "myMetric"

To learn more see inputName.


This module is defined in log10x/module.yaml.