Menu
Caution
Grafana Alloy is the new name for our distribution of the OTel collector. Grafana Agent has been deprecated and is in Long-Term Support (LTS) through October 31, 2025. Grafana Agent will reach an End-of-Life (EOL) on November 1, 2025. Read more about why we recommend migrating to Grafana Alloy.
Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
Open source
02 Datasources
Datasources can also access objects.
docker run -v ${PWD}/:/etc/grafana grafana/agentctl:latest template-parse file:///etc/grafana/03_config.yml
Config
The config.yml adds a new field sources
. Sources can be any number of things defined in the gomplate datasources documentation. In this example using fruit.
yaml
template_paths:
- "file:///etc/grafana/03_assets"
datasources:
- name: computers
url: "file:///etc/grafana/03_assets/computers.json"
json
[
{
"name": "webhost1",
"ip" : "192.168.1.1",
"enabled": true
},
{
"name": "webhost2",
"ip" : "192.168.1.2",
"enabled": false
},
{
"name": "webhost3",
"ip" : "192.168.1.3",
"enabled": true
}
]
Usage
yaml
server:
log_level: debug
metrics:
wal_directory: /tmp/grafana-agent-normal
global:
scrape_interval: 60s
remote_write:
- url: https://prometheus-us-central1.grafana.net/api/prom/push
basic_auth:
username: xyz
password: secretpassword
configs:
- name: default
# Check for length so that if it is 0, we dont write any scrape configs
{{ if $length := len (datasource "computers") }}
{{ if gt $length 0 }}
scrape_configs:
{{ end }}
{{ end }}
{{ range (datasource "computers") }}
# Only add if the computers are enabled
# the . references our current object
{{ if eq .enabled true }}
- job_name: {{ .name }}
static_configs:
- targets:
- {{ .ip }}
{{ end }}
{{ end }}
This is a much more complex example, in the above we are doing:
- comparisons
- creating and setting variables
- looping over objects
The final output will only list webhost1
and webhost3
since webhost2
is not enabled.
Was this page helpful?
Related resources from Grafana Labs
Additional helpful documentation, links, and articles:
Video
GrafanaCON 2024 Keynote Recap
Catch up on GrafanaCON 2024 highlights! Explore Grafana 11 features, LGTM Stack innovations, and community achievements in this recap webinar.
Video
Getting started with the Grafana LGTM Stack
In this webinar, we’ll demo how to get started using the LGTM Stack: Loki for logs, Grafana for visualization, Tempo for traces, and Mimir for metrics.
Video
Getting started with Grafana dashboard design
In this webinar, you'll learn how to design stylish and easily accessible Grafana dashboards that tell a story.