Prometheus is an open-source metrics collection and processing tool. It consists primarily of a timeseries database and a query language to access and process the metrics it stores. Separate services perform metric exposure, from which the Prometheus server can pull. It provides a very minimal web UI out of the box. To get a functional dashboard system, third-party tools like Grafana can be used.
The default configuration monitors the
prometheus process itself, but not much beyond that. To perform system monitoring, you can install or AUR, which performs metric scraping from the local system. You can start and enable the
prometheus-node-exporter service. It will open port 9100 by default.
The Prometheus configuration is done through YAML files, the main one being located at
You can add new places to scrape metrics from by adding them to the
scrape_configs array. To add the local node exporter as a source, next to the prometheus process itself, the configuration would look like this:
scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'localhost' static_configs: - targets: ['localhost:9100']
Using the UI
Prometheus comes with a very limited web UI to verify configuration, query and graph metrics. You can reach it at http://localhost:9090 by default. You can find an in-depth explanation of Prometheus' query language in the Prometheus docs.