8.2 Port Configuration
Dashboard and monitoring tools like Grafana and Prometheus require open access to be viewed from your personal computer or trough a VPN connecting to your node. This section outlines which ports are used, which need to be open, and what additional ports are used internally during further service configurations.
Similar to checking peers or attaching clients, Prometheus can listen to consensus client ports to collect status messages.
Monitoring Ports
Consensus blockchain clients have different monitoring ports that allow Prometheus to gather metrics.
LUKSO CLI PORT | CLIENT | DESCRIPTION | TCP | External |
---|---|---|---|---|
4000 | Lighthouse ↗ | Consensus REST API | ✔️ | ❌ |
5062 | Lighthouse ↗ | Validator REST API | ✔️ | ❌ |
3500 | Prysm ↗ | Consensus and Validator REST API | ✔️ | ❌ |
5051 | Teku ↗ | Consensus and Validator REST API | ✔️ | ❌ |
5052 | Nimbus-Eth2 ↗ | Consensus and Validator REST API | ✔️ | ❌ |
5054 | Lighthouse ↗ | Consensus Metrics | ✔️ | ❌ |
5057 | Lighthouse ↗ | Validator Metrics | ✔️ | ❌ |
8008 | Nimbus-Eth2 ↗ | Consensus and Validator Metrics | ✔️ | ❌ |
8008 | Teku ↗ | Consensus Metrics | ✔️ | ❌ |
8009 | Teku ↗ | Validator Metrics | ✔️ | ❌ |
8080 | Prysm ↗ | Consensus Metrics | ✔️ | ❌ |
8081 | Prysm ↗ | Validator Metrics | ✔️ | ❌ |
Service ports also come with default ports to bundle and present data.
PORT | SERVICE | DESCRIPTION | TCP | External |
---|---|---|---|---|
3000 | Grafana ↗ | Monitoring Dashboard | ✔️ | ✅ |
7979 | JSON-Exporter ↗ | Income Metrics | ✔️ | ❌ |
9090 | Prometheus ↗ | Data Analytics | ✔️ | ✅ |
9100 | Node-Exporter ↗ | Hardware Metrics | ✔️ | ❌ |
9115 | Blackbox-Exporter ↗ | Connectivity Metrics | ✔️ | ❌ |
The LUKSO Network Configuration changed the following client ports:
- Lighthouse: Validator Metrics from Port
5064
to5057
- Teku: Validator Metrics from Port
8008
to8009
Node clients and exporter services are for internal use. All their data is collected by Prometheus, that further sends it to Grafana to create visual graphs to the metrics.
Client port numbers must be defined when creating the Prometheus configuration file.
Firewall Configuration
You can add the Grafana and Prometheus port rules to your firewall as previously done in the Client Setup.
The following step is performed on your 💻 personal computer.
1. Node Connection: Log in to your node if you are not already connected.
ssh <ssh-device-alias>
The following steps are performed on your 📟 node server.
2. Add Port Rules: Allow the TCP ports from both Grafana and Prometheus to allow data access.
sudo ufw allow 3000/tcp
sudo ufw allow 9090/tcp
The output of each command should always show:
Rule added
Rule added (v6)
3. Check Configuration: Verify the new firewall rules.
sudo ufw status
The output should look similar to this:
- Execution Client + Lighthouse, Teku, or Nimbus-Eth2
- Execution Client + Prysm
Status: active
To Action From
---
<preferred-ssh-port>/tcp ALLOW Anywhere
30303/tcp ALLOW Anywhere
30303/udp ALLOW Anywhere
9000/tcp ALLOW Anywhere
3000/tcp ALLOW Anywhere
9090/tcp ALLOW Anywhere
<preferred-ssh-port>/tcp (v6) ALLOW Anywhere (v6)
30303/tcp (v6) ALLOW Anywhere (v6)
30303/udp (v6) ALLOW Anywhere (v6)
9000/tcp (v6) ALLOW Anywhere (v6)
3000/tcp (v6) ALLOW Anywhere (v6)
9090/tcp (v6) ALLOW Anywhere (v6)
Status: active
To Action From
---
<preferred-ssh-port>/tcp ALLOW Anywhere
30303/tcp ALLOW Anywhere
30303/udp ALLOW Anywhere
13000/tcp ALLOW Anywhere
12000/udp ALLOW Anywhere
3000/tcp ALLOW Anywhere
9090/tcp ALLOW Anywhere
<preferred-ssh-port>/tcp (v6) ALLOW Anywhere (v6)
30303/tcp (v6) ALLOW Anywhere (v6)
30303/udp (v6) ALLOW Anywhere (v6)
13000/tcp (v6) ALLOW Anywhere (v6)
12000/udp (v6) ALLOW Anywhere (v6)
3000/tcp (v6) ALLOW Anywhere (v6)
9090/tcp (v6) ALLOW Anywhere (v6)
The <preferred-ssh-port>
property will be exchanged with your actual SSH port.
If something is missing, retry to apply the above rules or have a look into the firewall configuration for further details.
If you need to modify the firewall rules, such as removing an unwanted port rule, you can list them all.
sudo ufw status
To delete
a specific port rule using UFW
, type the <rule-number>
that is no longer required.
sudo ufw delete <rule-number>