Skip to content

Commit

Permalink
Update nerve topic
Browse files Browse the repository at this point in the history
  • Loading branch information
clayton-cornell committed Jan 16, 2025
1 parent fbed1bc commit e8da6c1
Showing 1 changed file with 33 additions and 32 deletions.
65 changes: 33 additions & 32 deletions docs/sources/reference/components/discovery/discovery.nerve.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,42 +15,42 @@ title: discovery.nerve
## Usage

```alloy
discovery.nerve "LABEL" {
servers = [SERVER_1, SERVER_2]
paths = [PATH_1, PATH_2]
discovery.nerve "<LABEL>" {
servers = [<SERVER_1>, <SERVER_2>]
paths = [<PATH_1>, <PATH_2>]
}
```

## Arguments

The following arguments are supported:

Name | Type | Description | Default | Required
------------------ | -------------- | ------------------------------------ | ------------- | --------
`servers` | `list(string)` | The Zookeeper servers. | | yes
`paths` | `list(string)` | The paths to look for targets at. | | yes
`timeout` | `duration` | The timeout to use. | `"10s"` | no

Name | Type | Description | Default | Required
----------|----------------|-----------------------------------|---------|---------
`paths` | `list(string)` | The paths to look for targets at. | | yes
`servers` | `list(string)` | The Zookeeper servers. | | yes
`timeout` | `duration` | The timeout to use. | `"10s"` | no

Each element in the `path` list can either point to a single service, or to the root of a tree of services.

## Blocks

The `discovery.nerve` component does not support any blocks, and is configured fully through arguments.
The `discovery.nerve` component doesn't support any blocks, and is configured fully through arguments.

## Exported fields

The following fields are exported and can be referenced by other components:

Name | Type | Description
--------- | ------------------- | -----------
----------|---------------------|------------------------------------------------
`targets` | `list(map(string))` | The set of targets discovered from Nerve's API.

The following meta labels are available on targets and can be used by the discovery.relabel component
* `__meta_nerve_path`: the full path to the endpoint node in Zookeeper
* `__meta_nerve_endpoint_host`: the host of the endpoint
* `__meta_nerve_endpoint_port`: the port of the endpoint
* `__meta_nerve_endpoint_name`: the name of the endpoint

* `__meta_nerve_endpoint_host`: The host of the endpoint.
* `__meta_nerve_endpoint_name`: The name of the endpoint.
* `__meta_nerve_endpoint_port`: The port of the endpoint.
* `__meta_nerve_path`: The full path to the endpoint node in Zookeeper.

## Component health

Expand All @@ -59,39 +59,40 @@ In those cases, exported fields retain their last healthy values.

## Debug information

`discovery.nerve` does not expose any component-specific debug information.
`discovery.nerve` doesn't expose any component-specific debug information.

## Debug metrics

`discovery.nerve` does not expose any component-specific debug metrics.
`discovery.nerve` doesn't expose any component-specific debug metrics.

## Example

```alloy
discovery.nerve "example" {
servers = ["localhost"]
paths = ["/monitoring"]
timeout = "1m"
servers = ["localhost"]
paths = ["/monitoring"]
timeout = "1m"
}
prometheus.scrape "demo" {
targets = discovery.nerve.example.targets
forward_to = [prometheus.remote_write.demo.receiver]
targets = discovery.nerve.example.targets
forward_to = [prometheus.remote_write.demo.receiver]
}
prometheus.remote_write "demo" {
endpoint {
url = PROMETHEUS_REMOTE_WRITE_URL
basic_auth {
username = USERNAME
password = PASSWORD
}
}
endpoint {
url = <PROMETHEUS_REMOTE_WRITE_URL>
basic_auth {
username = <USERNAME>
password = <PASSWORD>
}
}
}
```

Replace the following:
- `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to.
- `USERNAME`: The username to use for authentication to the remote_write API.
- `PASSWORD`: The password to use for authentication to the remote_write API.

* _`<PROMETHEUS_REMOTE_WRITE_URL>`_: The URL of the Prometheus remote_write-compatible server to send metrics to.
* _`<USERNAME>`_: The username to use for authentication to the `remote_write` API.
* _`<PASSWORD>`_: The password to use for authentication to the `remote_write` API.

<!-- START GENERATED COMPATIBLE COMPONENTS -->

Expand Down

0 comments on commit e8da6c1

Please sign in to comment.