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:
- Chapter 1 - Grafana and PromQL basics
- Intro to Grafana and PromQL
- Grafana Panels
- PromQL Label Operators
- Templating Dashboards
- Chapter 2 - PromQL
- PromQL Functions
- PromQL Aggregations
- Chapter 3
- PromQL Vector Operators
- PromQL Filtering Vector Elements
- Chapter 4
- Prometheus Summary and Histogram
- Chapter 5
- PromQL Advanced Matching
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:
- Grafana http://localhost:3000/
- Prometheus http://localhost:9090/
You are ready to go, the course starts from this page.
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:
- state the objective at the beginning
- explain the topic
- write an assignment to let students put in practice what they read
- 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>