kowabunga.cloud.metrology role – Install and configures client-side and server-side metrology components.

Note

This role is part of the kowabunga.cloud collection (version 0.1.0).

It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it use: ansible-galaxy collection install kowabunga.cloud.

To use it in a playbook, specify: kowabunga.cloud.metrology.

Entry point main – Install and configures client-side and server-side metrology components.

Synopsis

  • Install and configures client-side and server-side metrology components.

Parameters

Parameter

Comments

kowabunga_metrology_agent_logs_enabled

boolean

Enable logs collection agent on host.

Provided by Grafana Alloy.

Choices:

  • false ← (default)

  • true

kowabunga_metrology_agent_logs_files_extra

string

List of external log files to pull from.

Supports globbing.

Example: [‘/var/log/dpkg.log’]

Default: "[]"

kowabunga_metrology_agent_metrics_blacklisted_regex

list / elements=string

List of collected metrics regex to be dropped (i.e. not remotely shipped).

Allows saving bandwidth and processing power, minimizing amount of collected timeseries.

Supports globbing.

Examples: [‘go_.*’, ‘promhttp_.*’] …

Default: []

kowabunga_metrology_agent_metrics_enabled

boolean

Enable metrics collection agent on host.

Provided by Grafana Alloy.

Choices:

  • false ← (default)

  • true

kowabunga_metrology_agent_metrics_extra_exporters

list / elements=dictionary

List of optional external Prometheus exporters to pull metrics from.

Default: []

address

string

IP address of the Prometheus exporter to scrape

Defaults to private network address if unspecified.

extra_labels

list / elements=dictionary

List of key/values labels to be appended to scraped metrics.

key

string

Label name to be appended.

value

string

Label value to be appended.

interval

string

Polling frequency of the Prometheus exporter to scrape.

Default: "15s"

name

string / required

Friendly name of the Prometheus exporter to scrape.

path

string

URL path of the Prometheus exporter to scrape.

Default: "/metrics"

port

integer / required

Port of the Prometheus exporter to scrape.

kowabunga_metrology_agent_metrics_extra_labels

dictionary

Dictionnary of extra labels to be appended each metrics before being shipped to time-series database(s).

Format is ‘label_name: label_value’

Default: {}

kowabunga_metrology_agent_metrics_relabelling_rules

list / elements=dictionary

Optionally defines a list of default metrics relabelling rules after scrapping.

See https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/ for details.

Default: []

action

string

The relabeling action to perform.

Choices:

  • "drop"

  • "dropequal"

  • "hashmod"

  • "keep"

  • "keepequal"

  • "labeldrop"

  • "labelkeep"

  • "labelmap"

  • "lowercase"

  • "replace" ← (default)

  • "uppercase"

regex

string

A valid RE2 expression with support for parenthesized capture groups.

Used to match the extracted value from the combination of the source_label and separator fields or filter labels during the labelkeep/labeldrop/labelmap actions.

replacement

string

The value against which a regular expression replace is performed, if the regular expression matches the extracted value.

Supports previously captured groups.

separator

string

The separator used to concatenate the values present in source_labels.

Default: ";"

sources

list / elements=string

The list of labels whose values are to be selected.

target

string

Label to which the resulting value will be written to.

kowabunga_metrology_agent_target_relabelling_rules

list / elements=dictionary

Optionally defines a list of default target relabelling rules after scrapping.

See https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/ for details.

Default: []

action

string

The relabeling action to perform.

Choices:

  • "drop"

  • "dropequal"

  • "hashmod"

  • "keep"

  • "keepequal"

  • "labeldrop"

  • "labelkeep"

  • "labelmap"

  • "lowercase"

  • "replace" ← (default)

  • "uppercase"

regex

string

A valid RE2 expression with support for parenthesized capture groups.

Used to match the extracted value from the combination of the source_label and separator fields or filter labels during the labelkeep/labeldrop/labelmap actions.

replacement

string

The value against which a regular expression replace is performed, if the regular expression matches the extracted value.

Supports previously captured groups.

separator

string

The separator used to concatenate the values present in source_labels.

Default: ";"

sources

list / elements=string

The list of labels whose values are to be selected.

target

string

Label to which the resulting value will be written to.

kowabunga_metrology_dashboard_admin_password

string

Admin password for dashboard component.

Recommended to be safe and encrypted into Ansible Vault or SOPS.

Empty if unspecified.

Default: "Value of secret_kowabunga_metrology_dashboard_admin_password variable."

kowabunga_metrology_dashboard_admin_user

string

Admin user name for dashboard component.

Default: "kowabunga"

kowabunga_metrology_dashboard_enabled

string

Enable logs/metrics dashboard component.

Provided by Grafana.

kowabunga_metrology_dashboard_extra_users

list / elements=dictionary

A list of extra users to be added to dashboard component.

Default: []

email

string / required

User email address.

login

string / required

User short name (a.k.a. login id).

Example: ‘jdoe’.

name

string / required

Friendly user name.

Example: John Doe.

password

string / required

User password.

Recommended to be safe and encrypted into Ansible Vault or SOPS.

kowabunga_metrology_dashboard_public_url

string

Public FQDN for dashboard component.

Usually something such as “https://grafana.acme.com”.

Default: ""

kowabunga_metrology_enabled

boolean

Enable metrology-related components deployment.

Useless if you do not care about monitoring or are using your own metrology agents.

Choices:

  • false ← (default)

  • true

kowabunga_metrology_server_logs_auth_password

string

User password used by metrology agent to push logs to server.

Used for HTTPS basic authentication (disabled if unspecified).

Recommended to be safe and encrypted into Ansible Vault or SOPS.

Default: "Value of secret_kowabunga_metrology_server_logs_auth_password variable."

kowabunga_metrology_server_logs_auth_user

string

User name used by metrology agent to push logs to server.

Used for HTTPS basic authentication.

Default: "logs"

kowabunga_metrology_server_logs_enabled

boolean

Enable logs collection server on host.

Provided by Victoria Logs.

Choices:

  • false ← (default)

  • true

kowabunga_metrology_server_logs_public_url

string

Public FQDN for logs collection server.

Usually something such as “https://logs.acme.com”.

Default: ""

kowabunga_metrology_server_logs_retention_period

string

Set server-side logs retention period.

Default: "30d"

kowabunga_metrology_server_metrics_auth_password

string

User password used by metrology agent to push metrics to server.

Used for HTTPS basic authentication (disabled if unspecified).

Recommended to be safe and encrypted into Ansible Vault or SOPS.

Default: "Value of secret_kowabunga_metrology_server_metrics_auth_password variable."

kowabunga_metrology_server_metrics_auth_user

string

User name used by metrology agent to push metrics to server.

Used for HTTPS basic authentication.

Default: "metrics"

kowabunga_metrology_server_metrics_enabled

boolean

Enable metrics collection server on host.

Provided by Victoria Metrics.

Choices:

  • false ← (default)

  • true

kowabunga_metrology_server_metrics_public_url

string

Public FQDN for metrics collection server.

Usually something such as “https://metrics.acme.com”.

Default: ""

kowabunga_metrology_server_metrics_retention_period

string

Set server-side metrics retention period.

Default: "30d"