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.
Open source
declare block
declare
is an optional configuration block used to define a new custom component.
declare
blocks must be given a label that determines the name of the custom component.
Example
river
declare "COMPONENT_NAME" {
COMPONENT_DEFINITION
}
Arguments
The declare
block has no predefined schema for its arguments; the body of the
declare
block is used as the component definition. The body may contain:
- argument blocks
- export blocks
- declare blocks
- import blocks
- Component definitions (either built-in or custom components)
The declare
block may not contain any configuration blocks that are not
listed above.
Exported fields
The declare
block has no predefined schema for its exports; the fields
exported by the declare
block are determined by the export blocks
found in its definition.
Example
This example creates and uses a custom component that self-collects process metrics and forwards them to an argument specified by the user of the custom component:
river
declare "self_collect" {
argument "metrics_output" {
optional = false
comment = "Where to send collected metrics."
}
prometheus.scrape "selfmonitor" {
targets = [{
__address__ = "127.0.0.1:12345",
}]
forward_to = [argument.metrics_output.value]
}
}
self_collect "example" {
metrics_output = prometheus.remote_write.example.receiver
}
prometheus.remote_write "example" {
endpoint {
url = REMOTE_WRITE_URL
}
}
Was this page helpful?
Related resources from Grafana Labs
Additional helpful documentation, links, and articles:
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.
Video
Building advanced Grafana dashboards
In this webinar, we’ll demo how to build and format Grafana dashboards.
Video
Intro to Alerting with Grafana
Master alerting with Grafana: Navigate the complexities, reduce false positives, and boost reliability for your systems.