New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DM-15852] Introduction to Prometheus #1
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The content looks good. Unfortunately the method of starting and stopping the prometheus container in the background from the notebook wasn't entire reliable for me. I'm not sure why. But again, the content is great and just what we need.
LICENSE
Outdated
@@ -0,0 +1,21 @@ | |||
MIT License | |||
|
|||
Copyright (c) 2018 LSST SQuaRE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Better to say
Copyright (c) 2018 Association of Universities for Research in Astronomy
3. Using the virtualenv in the Jupyter notebook | ||
|
||
``` | ||
python -m ipykernel install --user --name=prometheus-intro |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
huh, I hadn't seen something like this before. What's the purpose of having this kernel?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This way I install the python environment in the notebook, so that the python packages installed in the virtualenv environment are also available in the notebook.
prometheus-intro.ipynb
Outdated
"source": [ | ||
"Prometheus is a pull-based monitoring system, which means that a Prometheus client exposes metrics via an HTTP endpoint, and the Prometheus server scrapes them periodically.\n", | ||
"\n", | ||
"Prometheus support different [types of metrics](https://prometheus.io/docs/concepts/metric_types/). A \"metric value\" in Prometheus is called a sample. A single Prometheus server can ingest millions of samples per second. The result is a large number of stored time series, which are uniquely identified by a [metric name]() and a set of labels. The Prometheus project implements its own Time Series DB and query language (PromQL) in Go.\n", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
metric name
looks like an empty link.
Thank you @jonathansick for reviewing this. |
In this notebook we introduce the main concepts of Prometheus. We run a Prometheus server, and look at a few metrics to illustrate the Prometheus interface and the PromQL query language.
Then we use the Prometheus python client to instrument a small app and expose metrics to the Prometheus server.
Finally we exemplify alerting with Prometheus.