prometheus Config

Index

Params

FieldTypeDescription
metrics[]repeated MetricInfoThe set of metrics to represent in Prometheus. If a metric is defined in Istio but doesn't have a corresponding shape here, it will not be populated at runtime.

MetricInfo

Describes how a metric should be represented in Prometheus.

FieldTypeDescription
namestringRecommended. The name is used to register the prometheus metric. It must be unique across all prometheus metrics as prometheus does not allow duplicate names. If name is not specified a sanitized version of instanceName is used.
instanceNamestringRequired. The name is the fully qualified name of the Istio metric instance that this MetricInfo processes.
descriptionstringOptional. A human readable description of this metric.
kindKind
bucketsBucketsDefinitionFor metrics with a metric kind of DISTRIBUTION, this provides a mechanism for configuring the buckets that will be used to store the aggregated values. This field must be provided for metrics declared to be of type DISTRIBUTION. This field will be ignored for non-distribution metric kinds.
labelNames[]repeated stringThe names of labels to use: these need to match the dimensions of the Istio metric.

BucketsDefinition

Describes buckets for DISTRIBUTION kind metrics.

FieldTypeDescription
linearBucketsLinear (oneof )The linear buckets.
exponentialBucketsExponential (oneof )The exponential buckets.
explicitBucketsExplicit (oneof )The explicit buckets.

Explicit

Specifies a set of buckets with arbitrary widths.

There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:

  • Upper bound (0 <= i < N-1): bounds[i]
  • Lower bound (1 <= i < N): bounds[i - 1]

The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.

FieldTypeDescription
bounds[]repeated doubleThe values must be monotonically increasing.

Exponential

Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.

There are numFiniteBuckets + 2 (= N) buckets. The two additional buckets are the underflow and overflow buckets.

Bucket i has the following boundaries:

  • Upper bound (0 <= i < N-1): scale * (growthFactor ^ i)
  • Lower bound (1 <= i < N): scale * (growthFactor ^ (i - 1))
FieldTypeDescription
numFiniteBucketsint32Must be greater than 0.
growthFactordoubleMust be greater than 1.
scaledoubleMust be greater than 0.

Linear

Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.

There are numFiniteBuckets + 2 (= N) buckets. The two additional buckets are the underflow and overflow buckets.

Bucket i has the following boundaries:

  • Upper bound (0 <= i < N-1): offset + (width * i)
  • Lower bound (1 <= i < N): offset + (width * (i - 1))
FieldTypeDescription
numFiniteBucketsint32Must be greater than 0.
widthdoubleMust be greater than 0.
offsetdoubleLower bound of the first bucket.

Kind

Describes what kind of metric this is.

ValueDescription
UNSPECIFIED
GAUGE
COUNTER
DISTRIBUTION