Troubleshooting
SSV Node health endpoint
In order to troubleshoot any issues with the SSV Node, it's a good start to use the /health
endpoint.
First and foremost, the SSV_API
port environment variable, or configuration parameter must be set. For that, refer to the Node Configuration Reference page.
Assuming that the SSV node is running on the local machine, and that the SSV_API
port is set to 16000
, the health check endpoint can be reached using the curl
command, for example, just as shown below:
This request will provide a JSON response, here is an example of a response from a node in good state:
This "self-diagnose" report of the node can be useful to make sure that some essential indicators have the correct values:
p2p_listen_addresses
should show the correct public IP & port and the TCP port should be open when checking this IP with a port checker (they have been rendered anonymous for the purpose of this page)peers
should be at least 60 for operators with more than 100 validatorsinbound_conns
should be at least 20% of the peers (though not an exact number, this is a good indication of healthy connections from the node)
Below, an example of the same report, from a node in bad state:
FAQ
Common error/warning messages
This section is a collection of common warnings, error messages, statuses and other unexpected behaviours you might encounter and the possible related known causes.
failed to create beacon go-client
failed to create beacon go-client
This is likely due to issues with the Beacon layer Node. Verify that BeaconNodeAddr
has the correct address and port in config.yaml
configuration file.
could not connect to execution client
could not connect to execution client
This is likely due to issues with the Execution layer Node. Verify that ETH1Addr
has the correct address and port in config.yaml
configuration file.
Finally, make sure that your ETH1 endpoint is running using Websocket. This is required in order to stream events from the network contracts.
could not setup operator private key
could not setup operator private key
Verify that the Operator Private Key is correctly set in config.yaml
configuration file. In particular, if using unencrypted (raw) keys, that the private (secret) key was copied in the configuration file and that it contains all characters (sometimes it contains a =
character that can easily be left out).
If the node has been stopped and restart, verify that the same configuration has been applied, that the private key has not been changed, and that the db.Path
configuration points to the same directory as before.
could not setup network
could not setup network
In the example above, the Network
in config.yaml
configuration file was wrongly set to jatov2
instead of jato-v2
, so be sure to look for thinks like spelling mistakes.
could not create loggerlogging.SetGlobalLogger
could not create loggerlogging.SetGlobalLogger
In the example above, the LogLevel
variable in config.yaml
configuration file was wrongly set to infor
instead of info
, so be sure to look for thinks like spelling mistakes.
failed to get attestation data
failed to get attestation data
This error could be caused by using multiple SSV nodes within one Nimbus setup. It is advised to only run one SSV node per Nimbus instance.
Node Metrics not showing up in Prometheus/Grafana
Please verify that the MetricsAPIPort
variable is correctly set in config.yaml
configuration file.
For a more in-depth guide on how to set up Node monitoring, refer to the dedicated page in this section.
Node does not generate a log file
Please verify that the LogFilePath
variable is correctly set in config.yaml
configuration file. Be sure to look for thinks like spelling mistakes.
Node takes a long time to become active
Please verify that the Path
under the db
section is correctly set in config.yaml
configuration file. Be sure to look for thinks like spelling mistakes.
If the Node was working correctly and becomes inactive after a configuration change, make sure that Path
wasn't accidentally changed. This will cause the database to be recostructed and will lead to a slower startup.
“port 13000 already running”
“port 13000 already running”
This could happen if you run both consensus node and SSV node on the same machine - please make sure to change your SSV node port to any other port. Refer to the p2p section of the installation guide for details.
After updating your port, please restart the SSV node and confirm the error does not appear.
failed to check address
failed to check address
Port 13000 is closed - please make sure it is open (on both docker and machine level) and restart your node.
For confirmation, you should see "Address was checked successfully"
message.
"no indices, duties won’t be fetched"
message
"no indices, duties won’t be fetched"
messageThis could be due to one of the following causes:
No validator has chosen your operator as one of its operators (for testing purposes you can always open one and select yourself as one of its managing operators).
Your node uses a different operator public key than the one you have registered to the network (using the SSV webapp).
Steps to confirm you use the same key:
Find the operator key that you have registered to the network in the ssv explorer.
Find the operator public key you have generated in your node during setup.
Compare between the keys - if they do not match you must update your private key in the node config.yaml file, according to the key generated during your node installation.
{"level":"info","time":"2021-12-13T06:45:14.466457Z","caller":"operator/storage.go:122","message":
"setup operator privateKey is DONE!"
,"app":"SSV-Node:v0.1.7","who":"operatorKeys","
public-key
":"
LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBOHRXRG0xbTNtYW5Ra0xweVpLMzcKMGNHRGoydlBTWStRWVFBd3BWOXZpWThKVlgzT2J0VjNLL24xNy9peGZ2VEx5aGZKckgzYStpS1NIcDl5WEU4cQp6N2RhOTlaVzU4RzAyeDF0ZnpuV1REMmFpbklpMDAwdjQ5RjFTdzlYOUttQUg5VzNGdjBaREpadzZKVFd3R0ZiCmZiTmM2cGVvTG5ucnllWlVXb09ZQms0TVg2Um9QV2ZXNUJEaURaeHFqVjdvbFV3ZnFBMW5OeU96RXFCMEtkSW8KbExSZFA4ODZBNFJrZGpjUDc5aWdrM0RjVVdCMDhpZlM4SFlvS012ZUZrek0yR2dmOG5LRnFmSnFYNzlybFR4cApSTnlheUZOYXhZWEY4enBBMHlYRGFHQ0I1TitzZ1N2Yjg1WDAydWVCa1NadFFUMUMyTGMxWlZkbERFZVpGNFNlCkh3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K
"}
Didn't find the answer you are looking for? Reach out to other network operators on our Discord channel
Last updated