exporter-edgecast

command module
v0.0.0-...-5267608 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2019 License: Apache-2.0 Imports: 14 Imported by: 0

README

Exporter-Edgecast

What is this repository for?

This is a Prometheus Exporter/Collector for Edgecast CDN.

Exporter-Edgecast uses the edgecast-client created by Matthias Endler to fetch metrics from the EdgeCast CDN API and then transforms and exposes them to be scraped and displayed by Prometheus.

Package Management
  • This project uses dep as package manager
  • versions are tracked in Gopkg.lock
  • glide settings are included in Gopkg.toml
  • get dep here: https://github.com/golang/dep
Static Analysis
  • make lint (uses gometalinter, downloads and installs it in case of absence)
Build
  • make build (builds for Windows or Unix, after checking $(OS),Windows_NT)
Configure
  • You need to set two environment-variables to configure your Edgecast-Account:
    • EDGECAST_ACCOUNT_ID
    • EDGECAST_TOKEN
  • e.g. on Linux: export EDGECAST_TOKEN=B12AC
  • Optionally, you can also configure the queried platforms (see below for possible values), e.g.:
    • EDGECAST_PLATFORMS=3,8
Run
  • ./bin/main (Unix) or .\bin\main.exe (Windows)
  • via Docker:
    • build Docker image: make docker
    • run Docker image: (sudo) docker run -p=<some_free_port>:80 trivago/monitoring:edgecast-v1 -e "EDGECAST_TOKEN=<your_token>" -e "EDGECAST_ACCOUNTID=<your_id>"
      • NOTE: <some_free_port> must be the same as specified in the job-description in prometheus.yml
View Exposed Metrics:
  • via Browser on the same machine: visit http://localhost:80/metrics
    • via Browser on different machine: change "localhost" to endpoint address
  • via existing Prometheus server installation:
    • start new server locally using the provided configuration file:
    • copy & paste job from provided prometheus.yml to running server's configuration to scrape the service metrics
Exposed Metrics

See information to all the possible metrics offered by the API in the official documentation.

EdgeCast Metrics
  • Edgecast_metrics_bandwidth_bps
    • HELP: Current amount of bandwidth usage per platform (bits per second)
    • TYPE: GaugeValue
    • Labels:
      • platform = [http_small|http_large|adn|flash]
  • Edgecast_metrics_cachestatus
    • HELP: Breakdown of the cache statuses currently being returned for requests to CDN account.
    • TYPE: GaugeValue
    • Labels:
      • platform = [http_small|http_large|adn|flash]
      • CacheStatus = [TCP_HIT|TCP_MISS|...]
  • Edgecast_metrics_connections
    • HELP: Total active connections per second per platform.
    • TYPE: GaugeValue
    • Labels:
      • platform = [http_small|http_large|adn|flash]
  • Edgecast_metrics_statuscodes
    • HELP: Breakdown of the HTTP status codes currently being returned for requests to CDN account.
    • TYPE: GaugeValue
    • Labels:
      • platform = [http_small|http_large|adn|flash]
      • StatusCode = [2xx|3xx|404|...]
Service Metrics
  • Edgecast_service_metrics_request_count
    • HELP: Number of requests received.
    • TYPE: CounterValue
    • Labels:
      • method
      • error
  • Edgecast_service_metrics_request_latency_seconds
    • HELP: Duration of request in seconds.
    • TYPE: GaugeValue
    • Labels:
      • method
      • error
  • Edgecast_service_metrics_request_latency_distribution_seconds
    • HELP: Total duration of requests in seconds.
    • TYPE: Summary
    • Labels:
      • method
      • error
Queried Platforms:
MediaTypeId Platform Naming
2 Flash Media Streaming flash
3 HTTP Large http_large
7 SSL HTTP Large ssl_http_large
8 HTTP Small http_small
9 SSL HTTP Small ssl_http_small
14 Application Delivery Network adn
15 SSL Application Delivery Network ssl_adn

Note: MediaTypeId 7, 9, 15 refer to SSL-Traffic only for the platforms 3, 8, 14 respectively (Docs page 467).

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL