Metrics Config
Configs: main | alerting | metrics | oauth | probes | rds | servers | surfacer | targets | tlsconfig | utils | validators
|
Language: |
cloudprober.metrics.Dist #
[explicit_buckets <string> | exponential_buckets <cloudprober.metrics.ExponentialBuckets>]: <oneof>
cloudprober.metrics.ExponentialBuckets #
scale_factor: <float> base: <float> num_buckets: <uint32>
cloudprober.metrics.payload.HeaderMetric #
header_name: <string># By default, metric is name is the snakecase (all lowercase) version of the # of header_name.metric_name: <string># If type is not specified, it's recorded as a string.type: (UNDEFINED|INT|FLOAT|STRING|HTTP_TIME): <enum>
cloudprober.metrics.payload.JSONMetric #
# JQ filter to extract metrics from JSON. JQ filter should extract a # key-value object where the key is the metric name and the value is the # metric value. The value can be a string, number, or a bool.jq_filter: <string># JQ filter to extract labels from JSON. JQ filter should extract a map of # type map[string]any and each entry in the map is converted to a label.labels_jq_filter: <string>
cloudprober.metrics.payload.OutputMetricsOptions #
metrics_kind: (UNDEFINED|GAUGE|CUMULATIVE): <enum># Additional labels (comma-separated) to attach to the output metrics, e.g. # "region=us-east1,zone=us-east1-d".additional_labels: <string># Whether to aggregate metrics in Cloudprober. If enabled, Cloudprober # will aggregate parsed metrics. # Note that this option is mutually exclusive with GAUGE metrics and # cloudprober will fail during initialization if both options are enabled. # This option doesn't work for header_metric and json_metric.aggregate_in_cloudprober: <bool> | default: false# Metrics that should be treated as distributions. These metrics are present # in the output as comma-separated list of values. For example: # "op_latency 4.7,5.6,5.9,6.1,4.9". # To be able to build distribution from these values, these metrics should # be pre-configured: # dist_metric { # key: "op_latency" # value { # explicit_buckets: "1,2,4,8,16,32,64,128,256" # } # } # Note: This option doesn't work on header_metric and json_metric.dist_metric: <cloudprober.metrics.payload.OutputMetricsOptions.DistMetricEntry># Header to metric mapping. If this mapping is defined and probe's response # is an HTTP response, we will extract the header value and create a metric # from it. # # For example, to track server date: # header_metric { # header_name: "date" # metric_name: "server_date" # type: HTTP_DATE # } # # Note when header_metric is configured, line parsing for metric is # disabled.header_metric: <cloudprober.metrics.payload.HeaderMetric># JSON metrics to create from a JSON output. # Note when json_metric is configured, line parsing for metric is # disabled. # e.g. for JSON output: # {"status": "ok", "data": {"latency": 1.23, "count": 10}} # # { # jq_filter: ".data" # } # will create metrics: "latency=1.23 count=10". # # { # jq_filter: "{\"latency\":.data.latency, \"total\": (.data.count+1)}" # labels_jq_filter: "{\"status\": .status}" # } # will create metrics: "labels=status=ok latency=1.23 total=11.json_metric: <cloudprober.metrics.payload.JSONMetric>
cloudprober.metrics.payload.OutputMetricsOptions.DistMetricEntry #
key: <string> value: <cloudprober.metrics.Dist>
cloudprober.metrics.Dist #
[explicit_buckets <string> | exponential_buckets <cloudprober.metrics.ExponentialBuckets>]: <oneof>
cloudprober.metrics.ExponentialBuckets #
scale_factor: <float> base: <float> num_buckets: <uint32>
cloudprober.metrics.payload.HeaderMetric #
header_name: <string># By default, metric is name is the snakecase (all lowercase) version of the # of header_name.metric_name: <string># If type is not specified, it's recorded as a string.type: (UNDEFINED|INT|FLOAT|STRING|HTTP_TIME): <enum>
cloudprober.metrics.payload.JSONMetric #
# JQ filter to extract metrics from JSON. JQ filter should extract a # key-value object where the key is the metric name and the value is the # metric value. The value can be a string, number, or a bool.jq_filter: <string># JQ filter to extract labels from JSON. JQ filter should extract a map of # type map[string]any and each entry in the map is converted to a label.labels_jq_filter: <string>
cloudprober.metrics.payload.OutputMetricsOptions #
metrics_kind: (UNDEFINED|GAUGE|CUMULATIVE): <enum># Additional labels (comma-separated) to attach to the output metrics, e.g. # "region=us-east1,zone=us-east1-d".additional_labels: <string># Whether to aggregate metrics in Cloudprober. If enabled, Cloudprober # will aggregate parsed metrics. # Note that this option is mutually exclusive with GAUGE metrics and # cloudprober will fail during initialization if both options are enabled. # This option doesn't work for header_metric and json_metric.aggregate_in_cloudprober: <bool> | default: false# Metrics that should be treated as distributions. These metrics are present # in the output as comma-separated list of values. For example: # "op_latency 4.7,5.6,5.9,6.1,4.9". # To be able to build distribution from these values, these metrics should # be pre-configured: # dist_metric { # key: "op_latency" # value { # explicit_buckets: "1,2,4,8,16,32,64,128,256" # } # } # Note: This option doesn't work on header_metric and json_metric.dist_metric: <cloudprober.metrics.payload.OutputMetricsOptions.DistMetricEntry># Header to metric mapping. If this mapping is defined and probe's response # is an HTTP response, we will extract the header value and create a metric # from it. # # For example, to track server date: # header_metric { # header_name: "date" # metric_name: "server_date" # type: HTTP_DATE # } # # Note when header_metric is configured, line parsing for metric is # disabled.header_metric: <cloudprober.metrics.payload.HeaderMetric># JSON metrics to create from a JSON output. # Note when json_metric is configured, line parsing for metric is # disabled. # e.g. for JSON output: # {"status": "ok", "data": {"latency": 1.23, "count": 10}} # # { # jq_filter: ".data" # } # will create metrics: "latency=1.23 count=10". # # { # jq_filter: "{\"latency\":.data.latency, \"total\": (.data.count+1)}" # labels_jq_filter: "{\"status\": .status}" # } # will create metrics: "labels=status=ok latency=1.23 total=11.json_metric: <cloudprober.metrics.payload.JSONMetric>
cloudprober.metrics.payload.OutputMetricsOptions.DistMetricEntry #
key: <string> value: <cloudprober.metrics.Dist>