Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/m-lab/disco
DIScard COllector. Collects metrics from switches, writes them to disk and exports them.
https://github.com/m-lab/disco
Last synced: about 1 month ago
JSON representation
DIScard COllector. Collects metrics from switches, writes them to disk and exports them.
- Host: GitHub
- URL: https://github.com/m-lab/disco
- Owner: m-lab
- License: apache-2.0
- Created: 2020-06-15T19:14:31.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-06-10T03:05:30.000Z (7 months ago)
- Last Synced: 2024-10-29T15:59:58.568Z (about 2 months ago)
- Language: Go
- Size: 64.5 KB
- Stars: 1
- Watchers: 13
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Coverage Status](https://coveralls.io/repos/github/m-lab/disco/badge.svg?branch=master)](https://coveralls.io/github/m-lab/disco?branch=master)
# DISCOv2
DISCOv2 is a reimplementation of the DISCO parts of
[collectd-mlab](https://github.com/m-lab/collectd-mlab), written in Go. It
differs a bit from DISCO, but fundamentally they are the same in that they
both probe a switch for various traffic metrics every 10s and then
periodically write the results to a file in JSON format. Pusher will upload
those files to GCS where they will be processed and parsed into BigQuery.DISCOv2 supports the following flags:
* `--prometheusx.listen-address`: the IP and TCP port to listen to for
Prometheus metricis requests.
* `--metrics-file`: the path to a YAML-formatted file defining which metrics to
scrape. See file metrics.yaml in this repo for an example.
* `--write-interval`: the interval at which collected metrics are converted to
JSON and written to disk.
* `--target`: the name or IP of the switch to collect metrics from.DISCOv2 requires that an environment variable named `DISCO_COMMUNITY` is set
and contains the SNMP community sting to use when polling the switch.Unlike DISCO, in addition to collecting switch metrics every 10s and writing
out data files, DISCOv2 includes a Prometheus exporter which will expose the
metrics it has collected. This makes DISCOv2 something like the
[snmp_exporter](https://github.com/prometheus/snmp_exporter), but far less
general purpose.# Configuration
The file metrics.yaml.sample is, as the name implies, nothing more than a sample
of how the configuration file should be formatted. The [actual configuration
file for
DISCOv2](https://github.com/m-lab/k8s-support/blob/master/config/disco/metrics.yaml)
(as it runs in the M-Lab kubernetes platform cluster) can be found in the
k8s-support repository.