mirror of
https://github.com/ClusterCockpit/cc-metric-collector.git
synced 2024-11-10 04:27:25 +01:00
Update README and receiver-specific pages
This commit is contained in:
parent
33fec95eac
commit
d40163cf8f
@ -9,32 +9,20 @@ The configuration file for the receivers is a list of configurations. The `type`
|
|||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"myreceivername" : {
|
"myreceivername" : {
|
||||||
|
"type": "receiver-type",
|
||||||
<receiver-specific configuration>
|
<receiver-specific configuration>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Type `nats`
|
This allows to specify
|
||||||
|
|
||||||
```json
|
## Available receivers
|
||||||
{
|
|
||||||
"type": "nats",
|
|
||||||
"address": "<nats-URI or hostname>",
|
|
||||||
"port" : "<portnumber>",
|
|
||||||
"subject": "<subscribe topic>"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
The `nats` receiver subscribes to the topic `database` and listens on `address` and `port` for metrics in the InfluxDB line protocol.
|
- [`nats`](./natsReceiver.md): Receive metrics from the NATS network
|
||||||
|
- [`prometheus`](./prometheusReceiver.md): Scrape data from a Prometheus client
|
||||||
|
|
||||||
# Contributing own receivers
|
# Contributing own receivers
|
||||||
A receiver contains a few functions and is derived from the type `Receiver` (in `metricReceiver.go`):
|
A receiver contains a few functions and is derived from the type `Receiver` (in `metricReceiver.go`):
|
||||||
* `Start() error`
|
|
||||||
* `Close()`
|
|
||||||
* `Name() string`
|
|
||||||
* `SetSink(sink chan lp.CCMetric)`
|
|
||||||
* `New<Typename>(name string, config json.RawMessage)`
|
|
||||||
|
|
||||||
The data structures should be set up in `Init()` like opening a file or server connection. The `Start()` function should either start a go routine or issue some other asynchronous mechanism for receiving metrics. The `Close()` function should tear down anything created in `Init()`.
|
For an example, check the [sample receiver](./sampleReceiver.go)
|
||||||
|
|
||||||
Finally, the receiver needs to be registered in the `receiveManager.go`. There is a list of receivers called `AvailableReceivers` which is a map (`receiver_type_string` -> `pointer to NewReceiver function`). Add a new entry with a descriptive name and the new receiver.
|
|
||||||
|
21
receivers/natsReceiver.md
Normal file
21
receivers/natsReceiver.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
## `nats` receiver
|
||||||
|
|
||||||
|
The `nats` receiver can be used receive metrics from the NATS network. The `nats` receiver subscribes to the topic `database` and listens on `address` and `port` for metrics in the InfluxDB line protocol.
|
||||||
|
|
||||||
|
### Configuration structure
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"<name>": {
|
||||||
|
"type": "nats",
|
||||||
|
"address" : "nats-server.example.org",
|
||||||
|
"port" : "4222",
|
||||||
|
"subject" : "subject"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
- `type`: makes the receiver a `nats` receiver
|
||||||
|
- `address`: Address of the NATS control server
|
||||||
|
- `port`: Port of the NATS control server
|
||||||
|
- `subject`: Subscribes to this subject and receive metrics
|
@ -10,7 +10,7 @@ The `prometheus` receiver can be used to scrape the metrics of a single `prometh
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"address" : "testpromhost",
|
"address" : "testpromhost",
|
||||||
"port" : "12345",
|
"port" : "12345",
|
||||||
"port" : "/prometheus",
|
"path" : "/prometheus",
|
||||||
"interval": "5s",
|
"interval": "5s",
|
||||||
"ssl" : true,
|
"ssl" : true,
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user