Exports Speedtest CLI metrics in the prometheus format, caching the results.

Overview
You might also like...
The metrics-agent collects allocation metrics from a Kubernetes cluster system and sends the metrics to cloudability

metrics-agent The metrics-agent collects allocation metrics from a Kubernetes cluster system and sends the metrics to cloudability to help you gain vi

Speedtest - Simple package to measure internet speed

Speedtest Simple package to measure internet speed Provides a simple API to meas

Prometheus metrics for Go database/sql via VictoriaMetrics/metrics

sqlmetrics Prometheus metrics for Go database/sql via VictoriaMetrics/metrics Features Simple API. Easy to integrate. Install Go version 1.16+ go get

Export Prometheus metrics from journald events using Prometheus Go client library

journald parser and Prometheus exporter Export Prometheus metrics from journald events using Prometheus Go client library. For demonstration purposes,

Vilicus is an open source tool that orchestrates security scans of container images(docker/oci) and centralizes all results into a database for further analysis and metrics.
Vilicus is an open source tool that orchestrates security scans of container images(docker/oci) and centralizes all results into a database for further analysis and metrics.

Vilicus Table of Contents Overview How does it work? Architecture Development Run deployment manually Usage Example of analysis Overview Vilicus is an

Prometheus Common Data Exporter can parse JSON, XML, yaml or other format data from various sources (such as HTTP response message, local file, TCP response message and UDP response message) into Prometheus metric data.
Prometheus Common Data Exporter can parse JSON, XML, yaml or other format data from various sources (such as HTTP response message, local file, TCP response message and UDP response message) into Prometheus metric data.

Prometheus Common Data Exporter Prometheus Common Data Exporter 用于将多种来源(如http响应报文、本地文件、TCP响应报文、UDP响应报文)的Json、xml、yaml或其它格式的数据,解析为Prometheus metric数据。

Jswhois - Whois lookup results in json format

jswhois -- whois lookup results in json format jswhois(1) is a tool to look up a

Convert data exports from various services to a single SQLite database
Convert data exports from various services to a single SQLite database

Bionic Bionic is a tool to convert data exports from web apps to a single SQLite database. Bionic currently supports data exports from Google, Apple H

An RRDtool api server that exports a subset of rrdtool commands over http(s).

rrdsrv An RRDtool api server that exports a subset of rrdtool commands over http(s). Be sure to checkout the grafana plugin. Demo video. Usage Usage o

This command line tool exports .eml files from POP3 account.

export-mail This command line tool exports .eml files from POP3 account. Install go get github.com/gonejack/export-mail Usage export-mail --host i

Tfcmt-gitlab is a CLI command to parse and notify Terraform execution results

Tfcmt-gitlab is a CLI command to parse and notify Terraform execution results. This command supports GitLab as a CI and notification platform.

Go http.RoundTripper that emits open telemetry metrics. This helps you easily get metrics for all external APIs you interact with.

go-otelroundtripper This package provides an easy way to collect http related metrics (e.g Response times, Status Codes, number of in flight requests

cluster-api-state-metrics (CASM) is a service that listens to the Kubernetes API server and generates metrics about the state of custom resource objects related of Kubernetes Cluster API.

Overview cluster-api-state-metrics (CASM) is a service that listens to the Kubernetes API server and generates metrics about the state of custom resou

AutoK3s GEO collects metrics about locates remote IP-address and exposes metrics to InfluxDB.

AutoK3s GEO AutoK3s GEO collects metrics about locates remote IP-address and exposes metrics to InfluxDB. Thanks to https://freegeoip.live/ which prov

Flash-metrics - Flash Metrics Storage With Golang

Flash Metrics Storage bootstrap: $ echo -e "max-index-length = 12288" tidb.con

This library provides a metrics package which can be used to instrument code, expose application metrics, and profile runtime performance in a flexible manner.

This library provides a metrics package which can be used to instrument code, expose application metrics, and profile runtime performance in a flexible manner.

Using NFP (Number Format Parser) you can get an Abstract Syntax Tree (AST) from Excel number format expression

NFP (Number Format Parser) Using NFP (Number Format Parser) you can get an Abstract Syntax Tree (AST) from Excel number format expression. Installatio

Type-safe Prometheus metrics builder library for golang

gotoprom A Prometheus metrics builder gotoprom offers an easy to use declarative API with type-safe labels for building and using Prometheus metrics.

Turn Nginx logs into Prometheus metrics

Nginx log parser and Prometheus exporter This service parses incoming syslog messages from Nginx sent over UDP and converts them into Prometheus metri

Comments
  • v1.1.3 exec format error

    v1.1.3 exec format error

    > docker run --network=host --rm ghcr.io/caarlos0/speedtest-exporter:v1.1.3
    5:53PM INF starting speedtest-exporter 1.1.3
    5:53PM INF listening on :9876
    5:53PM ERR failed to collect error="speedtest failed: fork/exec /usr/local/bin/speedtest: exec format error"
    

    Same with sh or any other program

    > docker run --network=host -it --entrypoint sh --rm ghcr.io/caarlos0/speedtest-exporter:v1.1.3
    {"msg":"exec container process `/bin/sh`: Exec format error","level":"error","time":"2021-08-11T17:54:14.000970248Z"}
    
    opened by nahsi 1
  • Adds optional flags to specify a server, and include server details in metrics

    Adds optional flags to specify a server, and include server details in metrics

    --server <ID>, or -s <ID> will force the Speedtest CLI to use the specified server. You can run speedtest -L to get a list of some of your local servers.

    --showServerLabels will include details of the server in the metrics output. For example, without this:

    speedtest_download_bytes 1.31984368e+08
    speedtest_download_bytes_second 2.7792423e+07
    

    And with:

    speedtest_download_bytes{server_country="United Kingdom",server_host="speedtest.tnp.net.uk",server_location="Manchester",server_name="TNP Ltd."} 1.31984368e+08
    speedtest_download_bytes_second{server_country="United Kingdom",server_host="speedtest.tnp.net.uk",server_location="Manchester",server_name="TNP Ltd."} 2.7792423e+07
    

    Closes https://github.com/caarlos0/speedtest-exporter/issues/10

    size/L 
    opened by lucymhdavies 1
  • Allow for optionally specifying the speedtest server ID

    Allow for optionally specifying the speedtest server ID

    For whatever reason, I've found that the nearest speedtest servers cap out at about 100Mbps down, but some others I'm able to get upwards of 550Mbps down (which therefore feels more accurate).

    As such, being able to specify which specific server ID I want to use would be useful.

    Doesn't look particularly complex to implement:

    • A new flag here - https://github.com/caarlos0/speedtest-exporter/blob/main/main.go#L18-L24
    • Optionally specifying the -s ID parameter to the exec.Command

    So happy to provide a PR for this :)

    opened by lucymhdavies 1
  • Build and release for arm7

    Build and release for arm7

    I love your projects @caarlos0 . Currently, I'm setting up my raspi, however, I get the error

    Failed to pull image "ghcr.io/caarlos0/speedtest-exporter:v1.1.4": rpc error: code = NotFound desc = failed to pull and unpack image "ghcr.io/caarlos0/speedtest-exporter:v1.1.4": no match for platform in manifest: not found
    

    and arch gives me armv7l. AFAICS you are using a general file https://github.com/caarlos0/goreleaserfiles/blob/main/docker.yml, so you might know best how to extend it properly because the effect might then be bigger.

    Best Manuel

    opened by mavogel 2
Releases(v1.1.4)
Owner
Carlos Alexandro Becker
Creator @goreleaser; SRE @totvslabs; I try to delete more code than I write.
Carlos Alexandro Becker
A golang implementation of endlessh exporting Prometheus metrics, visualized by a Grafana dashboard.

endlessh-go A golang implementation of endlessh exporting Prometheus metrics, visualized by a Grafana dashboard. Introduction Endlessh is a great idea

Shizun Ge 79 Dec 23, 2022
gosivy - Another visualization tool for Go process metrics

gosivy Another visualization tool for Go process metrics. Gosivy tracks Go process's metrics and plot their evolution over time right into your termin

Ryo Nakao 449 Nov 27, 2022
Plot 3D math equation z=f(x, y) with SVG format.

plot-function-svg Plot 3D math equation z=f(x, y) with SVG format. Some codes are referred from https://github.com/adonovan/gopl.io licensed under a C

HansenH 0 Dec 30, 2021
Exports Fast.com metrics in the prometheus format, caching the results.

fastcom-exporter Exports Fast.com metrics in the prometheus format, caching the results.

Carlos Alexandro Becker 14 Nov 14, 2022
A simple script to run speedtest(offical) CLI tool and store the results in CSV

PeriodicBW A script made to run official speedtest.net binary periodically and store the results in a CSV file Installation Get the official speedtest

Abhinav Krishna C K 6 Aug 10, 2021
LLS-Exporter exports fuel level sensor data (rs-485 lls protocol) as prometheus metrics

LLS Exporter LLS Exporter reads rs485/rs232 data from serial port, decodes lls protocol and exports fuel level sensor data as prometheus metrics. Lice

Viktor Kuzmin 0 Dec 14, 2021
Monitors the expiry time of tls certificates and exports prometheus metrics

Certificate Monitor Monitors the expiry time of tls certificates and exports prometheus metrics. Target domains can be automatically discovered via in

appvia 3 Feb 7, 2022
Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to probe energy related system stats and exports as Prometheus metrics

kepler Kepler (Kubernetes Efficient Power Level Exporter) uses eBPF to probe energy related system stats and exports as Prometheus metrics Architectur

Sustainable Computing 209 Dec 26, 2022
Read metrics from a Message Queue in Json format and expose them in a Prometheus compatible format

mq2prom Read metrics from a Message Queue in Json format and expose them in a Prometheus compatible format. Currently only works for MQTT compatible M

International Business Machines 1 Jan 24, 2022
Sensu-go-postgres-metrics - The sensu-go-postgres-metrics is a sensu check that collects PostgreSQL metrics

sensu-go-postgres-metrics Table of Contents Overview Known issues Usage examples

Scott Cupit 0 Jan 12, 2022