mirror of
https://github.com/ClusterCockpit/cc-metric-collector.git
synced 2025-04-19 19:21:41 +02:00
* DiskstatCollector: cast part_max_used metric to int * Add uint types to GangliaSink and LibgangliaSink * Use new sink instances to allow multiple of same sink type * Update sink README and SampleSink * Use new receiver instances to allow multiple of same receiver type * Fix metric scope in likwid configuration script * Mention likwid config script in LikwidCollector README * Refactor: Embed Init() into New() function * Refactor: Embed Init() into New() function * Fix: MetricReceiver uses uninitialized values, when initialization fails * Use Ganglia configuration (#44) * Copy all metric configurations from original Ganglia code * Use metric configurations from Ganglia for some metrics * Format value string also for known metrics * Numa-aware memstat collector (#45) * Add samples for collectors, sinks and receivers * Ping InfluxDB server after connecting to recognize faulty connections * Add sink for Prometheus monitoring system (#46) * Add sink for Prometheus monitoring system * Add prometheus sink to README * Add scraper for Prometheus clients (#47) Co-authored-by: Holger Obermaier <holgerob@gmx.de> Co-authored-by: Holger Obermaier <40787752+ho-ob@users.noreply.github.com>
38 lines
677 B
Go
38 lines
677 B
Go
package receivers
|
|
|
|
import (
|
|
lp "github.com/ClusterCockpit/cc-metric-collector/internal/ccMetric"
|
|
)
|
|
|
|
type defaultReceiverConfig struct {
|
|
Type string `json:"type"`
|
|
}
|
|
|
|
type ReceiverConfig struct {
|
|
Addr string `json:"address"`
|
|
Port string `json:"port"`
|
|
Database string `json:"database"`
|
|
Organization string `json:"organization,omitempty"`
|
|
Type string `json:"type"`
|
|
}
|
|
|
|
type receiver struct {
|
|
name string
|
|
sink chan lp.CCMetric
|
|
}
|
|
|
|
type Receiver interface {
|
|
Start()
|
|
Close()
|
|
Name() string
|
|
SetSink(sink chan lp.CCMetric)
|
|
}
|
|
|
|
func (r *receiver) Name() string {
|
|
return r.name
|
|
}
|
|
|
|
func (r *receiver) SetSink(sink chan lp.CCMetric) {
|
|
r.sink = sink
|
|
}
|