Giter Club home page Giter Club logo

prometheus-playground's Introduction

The Prometheus Playground

This repo houses a variety of Docker-Compose-based "sandbox" projects showcasing the Prometheus monitoring system. All projects are "turnkey" and require just a single docker-compose up command to run.

Each sandbox project has a README with an explanation of the project, a docker-compose.yml configuration file for Docker Compose, and other necessary resources (config files, Dockerfiles, etc.). To run a project, navigate to the appropriate directory and run make run (which is just an alias for docker-compose up --build). This will run the project in the foreground. To run the project in detached mode, use make run-detached.

Prerequisites

In order to run the sandbox projects you'll need to install Docker and Docker Compose and have a Docker daemon running locally.

Projects

Directory Scenario
alertmanager Prometheus monitors a basic web service and notifies Alertmanager if the service is down; Alertmanager, in turns, notifies a web service via webhook
blackbox-exporter A BlackBox prober exporter probes a simple web service and provides probe-based metrics to Prometheus
cadvisor Prometheus scrapes cAdvisor-gathered metrics for several containers
federation Three Prometheus instances run together as a single federation
file-sd A Prometheus instance discovers a simple instrumented web service via file-based service discovery
go-app An instrumented Go application using the Prometheus Go client
haproxy Prometheus runs behind HAProxy, which acts as a reverse proxy and provides basic auth and TLS encryption
nginx Prometheus runs behind nginx, which acts as a reverse proxy and provides basic auth and TLS encryption
node-exporter Prometheus scrapes Linux host metrics from a Node Exporter
python-flask-app An instrumented Flask application demonstrating the Prometheus Python client

prometheus-playground's People

Contributors

juliusv avatar lucperkins avatar prombot avatar richih avatar simonpasquier avatar superq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

prometheus-playground's Issues

Add remote_write use case

Prometheus provides the ability to replicate locally stored data to remote storage. This helps solving the following issues:

  • Global query view, when you want running a query over data from multiple Prometheus instances.
  • Long-term storage. Local storage size in Prometheus is limited by local disk capacity. Remote storage can provide higher data capacity via clustering and better compression.
  • Scalability. Prometheus instance cannot automatically scale to multiple computers, while certain remote storage solutions can.

I'd recommend using single-node VictoriaMetrics for the use case because of the following features:

  • It is easy to run - just a single binary with the minimum number of command-line flags to set up.
  • It supports PromQL, so it can be used as drop-in replacement for Prometheus in Grafana dashboards.
  • It is resource-efficient and provides good compression ratio for data.

`docker-compose up` is not turnkey on Windows hosts

Seems to be due to bdc046a - the image tag variables in the docker-compose files rely on the makefile executing to populate them. Windows users don't have Make, so they're running docker-compose up directly, so the vars don't load. docker-compose falls back to using empty strings, resulting in an invalid reference format error as they're trying to pull prom/prometheus: for example.

I'm not sure if you'd rather use .env files to apply default tag values rather than store them in a an include in the makefile, or revert the change, or just ignore Windows users.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.