3e42160426
* initialise wg perf docs * fix paths to absolute * fix paths to absolute * vpn coloring guide * improve quic script dwl way * refactor operators menu structure * create probe-details page * wg syntax change * modified time * fix link paths * remove redundancy * fix comments & bump stats
38 lines
2.4 KiB
Plaintext
38 lines
2.4 KiB
Plaintext
# Prometheus & Grafana
|
|
|
|
Besides monitoring node performance, it's quite useful to setup monitoring system for servers on which operators run their nodes.
|
|
|
|
The combination of Prometheus and Grafana is a common stack used by Nym team for internal monitoring as well as by core community operators like [ExploreNym](https://github.com/ExploreNYM/self-hosted-monitor).
|
|
|
|
## Prometheus
|
|
|
|
[Prometheus](https://prometheus.io) is a free and open source monitoring systems. It allows operators to have their metrics, events, and alerts under full control. This ecosystem offers multiple advantages:
|
|
|
|
- Collects and records metrics from servers, containers, and applications
|
|
- Provides a [flexible query language (PromQL)](https://prometheus.io/docs/prometheus/latest/querying/basics/)
|
|
- Multiple modes visualization tools
|
|
- An alerting mechanism that sends notifications
|
|
|
|
Prometheus collects and stores its metrics as time series data, i.e. metrics information is stored with the timestamp at which it was recorded, alongside optional key-value pairs called labels.
|
|
|
|
## Grafana
|
|
|
|
[Grafana](https://grafana.com/docs/grafana/latest/) is an open-source analytics and interactive front end. It is widely used for its easy to manage dashboards with visualizations like graphs, charts and alerts, all connected to live data sources.
|
|
|
|
## Setup Guides
|
|
|
|
There are various ways how to setup this stack. You can chose based on your preferences to do your own flow or follow some of the documented ones:
|
|
|
|
- [ExploreNYM scripts](prometheus-grafana/explorenym-scripts.mdx) for self-hosted monitoring
|
|
- Setup monitoring in a Docker container (*Under review - will be out soon*)
|
|
|
|
## References and further reading
|
|
|
|
* [Prometheus release page](https://prometheus.io/download/)
|
|
* [Prometheus documentation](https://prometheus.io/docs/introduction/overview/)
|
|
* Installation [guide to install Prometheus](https://www.cherryservers.com/blog/install-prometheus-ubuntu) on Ubuntu by cherryservers
|
|
* [Grafana installation guide](https://grafana.com/docs/grafana/latest/setup-grafana/installation/debian/)
|
|
* Nym's script [`prom_targets.py`](https://github.com/nymtech/nym/blob/develop/scripts/prom_targets.py) - a python program to request data from API and can be plugged to this stack
|
|
* [Nym-node CPU cron service](https://gist.github.com/tommyv1987/97e939a7adf491333d686a8eaa68d4bd) - an easy bash script by Nym core developer [@tommy1987](https://gist.github.com/tommyv1987), designed to monitor a CPU usage of your node, running locally
|
|
|