All Projects → GuillaumeMiralles → prysm-grafana-dashboard

GuillaumeMiralles / prysm-grafana-dashboard

Licence: other
Guide step to step to get a Prysm dashboard using Grafana and Prometheus with mobile alerts

Projects that are alternatives of or similar to prysm-grafana-dashboard

e7mon
Ethereum clients monitor
Stars: ✭ 30 (-47.37%)
Mutual labels:  eth2, prysm
grafana-aws-cost-explorer-backend
Grafana Backend for AWS Cost Explorer
Stars: ✭ 24 (-57.89%)
Mutual labels:  grafana
vagrant-vault-consul-docker-monitoring
No description or website provided.
Stars: ✭ 20 (-64.91%)
Mutual labels:  grafana
synthetic-monitoring-app
Synthetic Monitoring frontend application
Stars: ✭ 80 (+40.35%)
Mutual labels:  grafana
idrac snmp-grafana
SNMP Based Dashboard to Monitor Dell Hosts via iDRAC
Stars: ✭ 88 (+54.39%)
Mutual labels:  grafana
chronos-pipeline
A data pipeline for processing event data
Stars: ✭ 20 (-64.91%)
Mutual labels:  grafana
influx4mqtt
Insert incoming MQTT values into InfluxDB. Follows mqtt-smarthome architecture.
Stars: ✭ 34 (-40.35%)
Mutual labels:  grafana
grafana-sensu-go-datasource
A Grafana data source plugin for querying the Sensu Go API
Stars: ✭ 21 (-63.16%)
Mutual labels:  grafana
raspberry-metrics
Expose Raspberry PI metrics using Prometheus and Grafana. Install with single command.
Stars: ✭ 41 (-28.07%)
Mutual labels:  grafana
burrow-kafka-dashboard
Kubernetes Kafka Overview, Burrow consumer lag stats, Kafka disk usage
Stars: ✭ 37 (-35.09%)
Mutual labels:  grafana
chartjs-plugin-datasource-prometheus
Chart.js plugin for Prometheus data loading
Stars: ✭ 77 (+35.09%)
Mutual labels:  grafana
blogr-pve
Puppet provisioning of HA failover/cluster environment implemented in Proxmox Virtual Environment and Linux boxes.
Stars: ✭ 28 (-50.88%)
Mutual labels:  grafana
kafka-consumer-lag-monitoring
Client tool that exports the consumer lag of Kafka consumer groups to Prometheus or your terminal
Stars: ✭ 45 (-21.05%)
Mutual labels:  grafana
yearn-exporter
Realtime and historical Yearn metrics
Stars: ✭ 80 (+40.35%)
Mutual labels:  grafana
grafana-sqlite-to-postgres
Grafana SQLite to Postgres Database Migrator
Stars: ✭ 70 (+22.81%)
Mutual labels:  grafana
VWsFriend
VW WeConnect visualization and control
Stars: ✭ 130 (+128.07%)
Mutual labels:  grafana
Sofar LSW3
Get MODBUS data from Sofar (K-TLX) inverter through LSW-3 or LSE module
Stars: ✭ 57 (+0%)
Mutual labels:  grafana
pm2-free-monitoring
Pm2 free monitoring with Grafana and InfluxDb!
Stars: ✭ 38 (-33.33%)
Mutual labels:  grafana
skycloud-base
🔥springcloud脚手架,配置中心(apollo/nacos) 注册中心(consul/nacos) 分布式事物(seata) 调用链(skywalking) 日志(ELK)监控(prometheus与grafana) 等,适合学习与快速开发使用
Stars: ✭ 80 (+40.35%)
Mutual labels:  grafana
kubetools
Kubetools - Curated List of Kubernetes Tools
Stars: ✭ 674 (+1082.46%)
Mutual labels:  grafana

Grafana is an open-source data metrics tool that is used to aggregate large amounts of data into a comprehensive visual dashboard for easy analysis. This section includes instructions for installing Grafana on the local machine and configuring Telegram or Discord alerts for monitoring validator status on-the-go.

Grafana dashboard for prysm node and validator

Getting account metrics

Ensure metrics have been activated by visiting the following dashboards:

Note: Slasher isn't mandatory for staking, only people that are running a slasher can find the metrics at the port 8082. For those that doesn't run a slasher, everything that follows remain correct.

Installing Prometheus

Prometheus must first be installed to fetch the data from the beacon node and validator for Grafana to display.

  1. Download the Prometheus files suited for the host system.

  2. Extract the archive and enter it's new directory.

  3. Locate the prometheus.yml file and replace the contents with the following:

global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  - job_name: 'validator'
    static_configs:
      - targets: ['localhost:8081']
  - job_name: 'beacon node'
    static_configs:
      - targets: ['localhost:8080']
  - job_name: 'slasher'
    static_configs:
      - targets: ['localhost:8082']
  1. In the same directory, double-click the prometheus file (with extension .exe in Windows) to start Prometheus, or do so in a terminal by issuing the command:
./prometheus

A terminal will open presenting the Prometheus log.

NOTICE: Prometheus' default data logging time is 15 days. To extend dashboard statistics to 31 days, add --storage.tsdb.retention.time=31d to this startup command.

  1. Navigate to http://localhost:9090/graph in a browser. It will present a page similar to this: Prometheus page

Take note of the validator_statuses and total_voted_target_balances, as they are required later.

(Optional) Windows: Running Prometheus in the background

In a Windows Powershell prompt, navigate to the directory the prometheus.exe file is saved and issue the command:

Start-Process "prometheus.exe" "--storage.tsdb.retention.time=31d" -WindowStyle Hidden

To stop the prometheus process at any time, open the windows task manager and search for prometheus.exe, then end the task.

Installing Grafana

Grafana must now be installed to provide the graphical component of the data analytics.

  1. download Grafana and install it.

  2. Open http://localhost:3000 in a browser. By default, the username and the password to this panel are both ‘admin’.

  3. Create a data source and choose Prometheus, then enter in the URL field http://localhost:9090.

  4. click on Save & Test.

A green notification saying “Datasource updated” should now be visible on the upper right corner.

Enabling mobile alerts

  1. On the left menu of Grafana, select Notification channels under the bell icon.

  2. Click on New channel.

Option 1: Telegram

  1. Select Telegram from the list.

  2. To complete the Telegram API settings, a Telegram channel and bot are required. For instructions on setting up a bot with @Botfather, see this section of the Telegram documentation.

  3. Once completed, invite the bot to the newly created channel.

Option 2: Discord

  1. Select Discord in the type drop down selection.

  2. To complete the set up, a Discord server (and a text channel available) as well as a Webhook URL are required. For instructions on setting up a Discord's Webhooks, see this section of their documentation.

  3. Navigate back to http://localhost:3000 and enter the Webhook URL in the Discord notification settings panel.

  4. Click Send Test, which will push a confirmation message to the Discord channel.

Creating and importing dashboards

  1. The dashboard can now be customised to the users preferences. There are two examples that can be used:
  1. To import this json into the Grafana dashboard, click on the + icon on the left menu and select 'Import',

  2. Paste the json and click the Load button.

Running nodes and validators on separate hardware

For those running their node and validators on separate machines, simply modify the pasted prometheus.yml data from the earlier step and change any instances of localhost to the desired IP. For local networks, the private IP is required. For connections over the internet, the public facing IP will be required.

NOTICE: In case of public IPs, port forwarding may need to be configured.

Activate currency converter feature

A specific guide has been designed for it

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].