prysm-pulse/monitoring/prometheus
Radosław Kapka 5569a68452
Code cleanup (#9992)
* Value assigned to a variable is never read before being overwritten

* The result of append is not used anywhere

* Suspicious assignment of range-loop vars detected

* Unused method receiver detected

* Revert "Auxiliary commit to revert individual files from 54edcb445484a2e5d79612e19af8e949b8861253"

This reverts commit bbd1e1beabf7b0c5cfc4f514dcc820062ad6c063.

* Method modifies receiver

* Fix test

* Duplicate imports detected

* Incorrectly formatted error string

* Types of function parameters can be combined

* One more "Unused method receiver detected"

* Unused parameter detected in function
2021-12-07 17:52:39 +00:00
..
BUILD.bazel Move Shared/Testutil into Testing (#9659) 2021-09-23 18:53:46 +00:00
content_negotiation.go Move Shared/ Subpackages Into Monitoring/ Folder (#9591) 2021-09-14 20:59:51 +00:00
logrus_collector_test.go Move Shared/Testutil into Testing (#9659) 2021-09-23 18:53:46 +00:00
logrus_collector.go Code cleanup (#9992) 2021-12-07 17:52:39 +00:00
README.md Move Shared/ Subpackages Into Monitoring/ Folder (#9591) 2021-09-14 20:59:51 +00:00
service_test.go Code cleanup (#9992) 2021-12-07 17:52:39 +00:00
service.go Code cleanup (#9992) 2021-12-07 17:52:39 +00:00
simple_server.go Move Shared/ Subpackages Into Monitoring/ Folder (#9591) 2021-09-14 20:59:51 +00:00

How to monitor with prometheus

Prerequisites:

Start scrapping services

To start scrapping with prometheus you must create or edit the prometheus config file and add all the services you want to scrap, like these:

global:
  scrape_interval:     15s # By default, scrape targets every 15 seconds.

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
    monitor: 'codelab-monitor'

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 5s

    static_configs:
      - targets: ['localhost:9090']
+  - job_name: 'beacon-chain'
+    static_configs:
+      - targets: ['localhost:8080']

After creating/updating the prometheus file run it:

$ prometheus --config.file=your-prometheus-file.yml

Now, you can add the prometheus server as a data source on grafana and start building your dashboards.

How to add additional metrics

The prometheus service export the metrics from the DefaultRegisterer so just need to register your metrics with the prometheus or promauto libraries. To know more Go application guide