2023-03-03 09:53:02 +01:00
|
|
|
---
|
|
|
|
# version of the agent to install
|
|
|
|
grafana_agent_version: latest
|
|
|
|
|
|
|
|
# directory to install the binary to
|
|
|
|
grafana_agent_install_dir: /opt/grafana-agent/bin
|
|
|
|
|
|
|
|
# name to use for the binary
|
|
|
|
grafana_agent_binary: grafana-agent
|
|
|
|
|
|
|
|
# directory to store the configuration files in
|
|
|
|
grafana_agent_config_dir: /etc/grafana-agent
|
|
|
|
|
|
|
|
# name of the configuration file for the agent
|
|
|
|
grafana_agent_config_filename: config.yaml
|
|
|
|
|
|
|
|
# name of the environment file loaded by the system unit file
|
|
|
|
grafana_agent_env_file: service.env
|
|
|
|
|
|
|
|
# temporary directory to create on the controller/localhost where the archive will be downloaded to
|
|
|
|
grafana_agent_local_tmp_dir: /tmp/grafana-agent
|
|
|
|
|
|
|
|
# data directory to create for the wal and positions
|
|
|
|
grafana_agent_data_dir: /var/lib/grafana-agent
|
|
|
|
|
|
|
|
# wal directory to use, should be a sub-folder of grafana_agent_data_dir, will automatically be created when the agent starts
|
|
|
|
grafana_agent_wal_dir: "{{ grafana_agent_data_dir }}/data"
|
|
|
|
|
|
|
|
# positions directory to use, should be a sub-folder of grafana_agent_data_dir, will automatically be created when the agent starts
|
|
|
|
grafana_agent_positions_dir: "{{ grafana_agent_data_dir }}/data"
|
|
|
|
|
|
|
|
# mode to run Grafana Agent in. Can be "flow" or "static".
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/flow/
|
|
|
|
grafana_agent_mode: static
|
|
|
|
|
|
|
|
# os user to create for the agent to run as
|
|
|
|
grafana_agent_user: grafana-agent
|
|
|
|
|
|
|
|
# os user group to create for the agent
|
|
|
|
grafana_agent_user_group: grafana-agent
|
|
|
|
|
|
|
|
# the shell for the user
|
|
|
|
grafana_agent_user_shell: /usr/sbin/nologin
|
|
|
|
|
|
|
|
# whether or not to create a home directory for the user
|
|
|
|
grafana_agent_user_createhome: false
|
|
|
|
|
|
|
|
# full path to the local binary if already downloaded or built on the controller
|
|
|
|
# this should only be set, if ansible is not downloading the binary and you have
|
|
|
|
# manually downloaded the binary
|
|
|
|
grafana_agent_local_binary_file: ""
|
|
|
|
|
|
|
|
# dictionary of additional command-line flags, run grafana-agent --help for a complete list
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/configuration/flags/
|
|
|
|
grafana_agent_flags_extra:
|
|
|
|
config.expand-env: 'true'
|
|
|
|
config.enable-read-api: 'false'
|
|
|
|
server.register-instrumentation: 'true'
|
|
|
|
server.http.address: 127.0.0.1:12345
|
|
|
|
server.grpc.address: 127.0.0.1:12346
|
|
|
|
|
2023-03-27 06:36:27 +02:00
|
|
|
# sets Environment variables in the systemd service configuration.
|
|
|
|
grafana_agent_env_vars: {}
|
|
|
|
|
2023-03-03 09:53:02 +01:00
|
|
|
# dictionary of key/pair values to write to the environment file that is loaded by the service, with the flag --config.expand-env=true
|
|
|
|
# any generated config files will support the expansion of environment variables at runtime by referencing ${ENVVAR}.
|
|
|
|
# be aware of boolean values, when output they will result in the proper-cased string "True" and "False"
|
2023-03-27 06:36:27 +02:00
|
|
|
grafana_agent_env_file_vars: {}
|
2023-03-03 09:53:02 +01:00
|
|
|
|
|
|
|
# path to a config file on the controller that will be used instead of the provided configs below if specified.
|
|
|
|
grafana_agent_provisioned_config_file: ""
|
|
|
|
|
|
|
|
#################################################################################################
|
|
|
|
# Configures the server of the Agent used to enable self-scraping #
|
|
|
|
#################################################################################################
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/configuration/server-config/
|
|
|
|
# the entire dictionary value for this object is copied to the server: block in the config file
|
|
|
|
grafana_agent_server_config:
|
|
|
|
# Log only messages with the given severity or above. Supported values [debug,
|
|
|
|
# info, warn, error]. This level affects logging for all Agent-level logs, not
|
|
|
|
# just the HTTP and gRPC server.
|
|
|
|
#
|
|
|
|
# Note that some integrations use their own loggers which ignore this
|
|
|
|
# setting.
|
|
|
|
log_level: info
|
|
|
|
|
|
|
|
#################################################################################################
|
|
|
|
# Configures metric collection #
|
|
|
|
#################################################################################################
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/configuration/metrics-config/
|
|
|
|
# the entire dictionary value for this object is copied to the metrics: block in the config file
|
|
|
|
grafana_agent_metrics_config:
|
|
|
|
# Configure values for all Prometheus instances
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/configuration/metrics-config/#global_config
|
|
|
|
global:
|
|
|
|
# How frequently should Prometheus instances scrape.
|
|
|
|
scrape_interval: 1m
|
|
|
|
|
|
|
|
# How long to wait before timing out a scrape from a target.
|
|
|
|
scrape_timeout: 10s
|
|
|
|
|
|
|
|
# A dictionary of key/pair static labels to add for all metrics.
|
|
|
|
external_labels: {}
|
|
|
|
|
|
|
|
# Default set of remote_write endpoints. If an instance doesn't define any
|
|
|
|
# remote_writes, it will use this list.
|
|
|
|
# Docs: https://prometheus.io/docs/prometheus/2.34/configuration/configuration/#remote_write
|
|
|
|
remote_write: []
|
|
|
|
|
|
|
|
# The list of Prometheus instances to launch with the agent.
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/configuration/metrics-config/#metrics_instance_config
|
|
|
|
configs: []
|
|
|
|
# - name: name-of-scrape-job
|
|
|
|
# # Docs: https://prometheus.io/docs/prometheus/2.34/configuration/configuration/#scrape_config
|
|
|
|
# scrape_configs: []
|
|
|
|
# # Optional list of remote_write targets, if not specified metrics.global.remote_write is used
|
|
|
|
# # Docs: https://prometheus.io/docs/prometheus/2.34/configuration/configuration/#remote_write
|
|
|
|
# remote_write: []
|
|
|
|
|
|
|
|
# Configure the directory used by instances to store their WAL.
|
|
|
|
#
|
|
|
|
# The Grafana Agent assumes that all folders within wal_directory are managed by
|
|
|
|
# the agent itself.
|
|
|
|
wal_directory: "{{ grafana_agent_wal_dir }}"
|
|
|
|
# Configures how long ago an abandoned (not associated with an instance) WAL
|
|
|
|
# may be written to before being eligible to be deleted
|
|
|
|
wal_cleanup_age: 12h
|
|
|
|
# Configures how often checks for abandoned WALs to be deleted are performed.
|
|
|
|
# A value of 0 disables periodic cleanup of abandoned WALs
|
|
|
|
wal_cleanup_period: 30m
|
|
|
|
|
|
|
|
#################################################################################################
|
|
|
|
# Configures logs collection #
|
|
|
|
#################################################################################################
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/configuration/logs-config/
|
|
|
|
# the entire dictionary value for this object is copied to the logs: block in the config file
|
|
|
|
grafana_agent_logs_config:
|
|
|
|
# Directory to store Loki Promtail positions files in. Positions files are
|
|
|
|
# required to read logs, and are used to store the last read offset of log
|
|
|
|
# sources. The positions files will be stored in
|
|
|
|
# <positions_directory>/<logs_instance_config.name>.yml.
|
|
|
|
#
|
|
|
|
# Optional only if every config has a positions.filename manually provided.
|
|
|
|
#
|
|
|
|
# This directory will be automatically created if it doesn't exist.
|
|
|
|
positions_directory: "{{ grafana_agent_positions_dir }}"
|
|
|
|
# Configure values for all Loki Promtail instances.
|
|
|
|
global:
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/configuration/logs-config/#logs_instance_config
|
|
|
|
clients: []
|
|
|
|
|
|
|
|
#################################################################################################
|
|
|
|
# Configures traces collection #
|
|
|
|
#################################################################################################
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/configuration/traces-config/
|
|
|
|
# the entire dictionary value for this object is copied to the traces: block in the config file
|
|
|
|
grafana_agent_traces_config:
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/configuration/traces-config/#traces_instance_config
|
|
|
|
configs: []
|
|
|
|
|
|
|
|
#################################################################################################
|
|
|
|
# Configures integrations for the agent #
|
|
|
|
#################################################################################################
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/configuration/integrations/
|
|
|
|
# the entire dictionary value for this object is copied to the integrations: block in the config file
|
|
|
|
grafana_agent_integrations_config:
|
|
|
|
# Automatically collect metrics from enabled integrations. If disabled,
|
|
|
|
# integrations will be run but not scraped and thus not remote_written. Metrics
|
|
|
|
# for integrations will be exposed at /integrations/<integration_key>/metrics
|
|
|
|
# and can be scraped by an external process.
|
|
|
|
scrape_integrations: true
|
|
|
|
# Controls the Agent integration
|
|
|
|
agent:
|
|
|
|
# Enables the Agent integration, allowing the Agent to automatically
|
|
|
|
# collect and send metrics about itself.
|
|
|
|
enabled: true
|
|
|
|
# Allows for relabeling labels on the target.
|
|
|
|
relabel_configs: []
|
|
|
|
# Relabel metrics coming from the integration, allowing to drop series
|
|
|
|
# from the integration that you don't care about.
|
|
|
|
metric_relabel_configs: []
|
|
|
|
|
|
|
|
# Controls the node_exporter integration
|
|
|
|
# Docs: https://grafana.com/docs/agent/latest/configuration/integrations/node-exporter-config/
|
|
|
|
node_exporter:
|
|
|
|
enabled: true
|