Skip to content

Latest commit

 

History

History
106 lines (71 loc) · 3.34 KB

README.md

File metadata and controls

106 lines (71 loc) · 3.34 KB

fastly-dashboards

All singing, all dancing Fastly dashboards!

mrnetops/fastly-dashboards contains a Docker Compose setup, which boots up a full fastly-exporter + Prometheus + Alertmanager + Grafana + Fastly dashboard stack with Slack alerting integration.

Fastly Altitude 2020 presentation

Magic tricks with Docker (or how to monitor Fastly in about five minutes)

Fastly Service Fastly Top Services Fastly Top Datacenters
Fastly Service Fastly Top Services Fastly Top Datacenters
Fastly Top Origins Slack Alerts
Fastly Top Origins Slack Alerts

Getting started

export FASTLY_API_TOKEN=$YOUR_TOKEN
export SLACK_API_URL=$YOUR_URL
export SLACK_CONFIG_CHANNEL=$YOUR_CHANNEL

git clone https://github.com/mrnetops/fastly-dashboards.git
cd fastly-dashboards

Running with docker

Prerequisites

  • docker
docker compose up

Running with docker-compose

Prerequisites

  • docker
  • docker-compose >= 1.29
docker-compose up

Running with containerd & nerdctl

Note: we have to work around nerdctl not supporting

  • environmental variable interpolation from the parent environment
  • depends_on: service_completed_successfully
env > .env
nerdctl run envsubst
nerdctl compose up

Jumping in

Access the Grafana dashboard at http://localhost:3000.

Troubleshooting

no configuration file provided: not found

Per https://github.com/docker-archive/docker-snap#usage

Docker Snap requires that all files that docker needs access to live within your $HOME folder.

You may run into this if you attempt to run under /tmp for example.

Graphs are broken and my system is dying!

Processing Fastly metrics can be intensive, especially if you have a lot of services.

Try adding this when running to only harvest stats for 1/10th of yer services

export FASTLY_EXPORTER_OPTIONS="-service-shard 1/10"

No slack alerts

channel \"#NO_SLACK_CONFIG_CHANNEL\": unexpected status code 404: 404 page not found

Check that the the following are being exported and have the correct values

  • $SLACK_API_URL
  • $SLACK_CONFIG_CHANNEL