Skip to content

Latest commit

 

History

History
67 lines (53 loc) · 2.18 KB

README.md

File metadata and controls

67 lines (53 loc) · 2.18 KB

PromQL Scenario

This is the right place if you want to learn basics of monitoring with Prometheus and Grafana.

This scenario is divided in chapters which cover the following topics:

  1. Chapter 1 - Grafana and PromQL basics
    1. Intro to Grafana and PromQL
    2. Grafana Panels
    3. PromQL Label Operators
    4. Templating Dashboards
  2. Chapter 2 - PromQL
    1. PromQL Functions
    2. PromQL Aggregations
  3. Chapter 3
    1. PromQL Vector Operators
    2. PromQL Filtering Vector Elements
  4. Chapter 4
    1. Prometheus Summary and Histogram
  5. Chapter 5
    1. PromQL Advanced Matching

Students

To follow this course, you will need a laptop with Docker installed.

To start the learning environment, you need to execute the following commands (make sure that your docker environment is running beforehand).

For linux/mac:

$: ./start-learning-environment.sh

For Windows:

$: cd path\to\promql\folder
$: set PROMQLWD="path\\to\\promql\\folder"
$: docker-compose up

If everything went ok, you are now able to access the applications:

You are ready to go, the course starts from this page.

How to add content

It's quite easy to add a new chapter or assignment. The content needs to be written into a Markdown file named after the topic. When creating content consider these simple rules:

  • keep things simple for the student
  • split a chapter in multiple possibly small topics
  • the focus of each assignment should be on a specific result or learning objective (i.e. Objective: understand time series filtering)
  • chapters and assignments should go from basic level to more advanced or expert level

New content should respect the format of the scenario:

  1. state the objective at the beginning
  2. explain the topic
  3. write an assignment to let students put in practice what they read
  4. provide a solution which is hidden by default, use the snippet below
<details>
  <summary>Show solution</summary>

  **Solution**. You should have filled in: ```rate(api_request_count[1m])*10 > 150```
</details>