--- modules: default: headers: X-Dummy: my-test-header metrics: - name: example_global_value path: '{ .counter }' help: Example of a top-level global value scrape in the json labels: environment: beta # static label location: 'planet-{.location}' # dynamic label - name: example_timestamped_value type: object path: '{ .values[?(@.state == "INACTIVE")] }' epochTimestamp: '{ .timestamp }' help: Example of a timestamped value scrape in the json labels: environment: beta # static label values: count: '{.count}' # dynamic value - name: example_value type: object help: Example of sub-level value scrapes from a json path: '{.values[?(@.state == "ACTIVE")]}' labels: environment: beta # static label id: '{.id}' # dynamic label values: active: 1 # static value count: '{.count}' # dynamic value boolean: '{.some_boolean}' animals: metrics: - name: animal type: object help: Example of top-level lists in a separate module path: '{ [*] }' labels: name: '{ .noun }' predator: '{ .predator }' values: population: '{ .population }' ## HTTP connection configurations can be set in 'modules..http_client_config' field. For full http client config parameters, ref: https://pkg.go.dev/github.com/prometheus/common/config?tab=doc#HTTPClientConfig # # http_client_config: # tls_config: # insecure_skip_verify: true # basic_auth: # username: myuser # #password: veryverysecret # password_file: /tmp/mysecret.txt ## List of accepted status codes for this probe can be set in 'modules..valid_status_codes' field. Defaults to 2xx. # valid_status_codes: [ , ... | default = 2xx ] ## If 'modueles..body' field is set, it will be sent by the exporter as the body content in the scrape request. The HTTP method will also be set as 'POST' in this case. # body: # content: | # {"time_diff": "1m25s", "anotherVar": "some value"} ## The body content can also be a Go Template (https://golang.org/pkg/text/template), with all the functions from the Sprig library (https://masterminds.github.io/sprig/) available. All the query parameters sent by prometheus in the scrape query to the exporter, are available in the template. # body: # content: | # {"time_diff": "{{ duration `95` }}","anotherVar": "{{ .myVal | first }}"} # templatize: true