Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SLA monitoring of nodes #2

Open
dcolley opened this issue Jan 27, 2023 · 1 comment
Open

SLA monitoring of nodes #2

dcolley opened this issue Jan 27, 2023 · 1 comment
Labels
help wanted Extra attention is needed

Comments

@dcolley
Copy link
Contributor

dcolley commented Jan 27, 2023

Please add additional tests for each node:

availability

  • "ping" for network sockets (equivalents of: 30333, 9900, 9933, 9944)
  • syncing? is the node up-to-date?

performance

  • RPC connection, query
  • #peers (api.rpc.sytem.health)
{
  "peers": 16
  "isSyncing": false
  "shouldHavePeers": true
}
  • telemetry: we can subscribe to performance data

reliability

  • software version - get from telemetry
  • (get this from the latest release from paritytech/polkadot)
get_latest_release() {
  curl --silent "https://api.github.com/repos/paritytech/polkadot/releases/latest" | # Get latest release from GitHub api
    grep '"tag_name":' |                                            # Get tag line
    sed -E 's/.*"([^"]+)".*/\1/'                                    # Pluck JSON value
}

member rank

security

  • --rpc-methods="safe"

other

  • ssl certificate expired?
@dcolley
Copy link
Contributor Author

dcolley commented Feb 22, 2023

Tom | Stake.Plus
Basically, we need to connect to an ip address of a member, talk in websockets and have that connection think it's communicating with rpc.dotters.network or rpc.ibp.network, etc.
Just like a host files rewrite or using the resolve function on the curl command. Then instead of monitoring rpc.stake.plus it would monitor rpc.dotters.network at 192.96.202.175 or rpc.dotters.network at 195.144.22.136. We need to track not only the websockets functionality of the node but also that it's responsive on the urls it's supposed to be responsive on (still processing SSL validation).

derek // metaspan
there are 2 methods for doing this: either

write to /etc/hosts and then make the http request, or
inject a custom dnsResolver into the request.
here is an example:

axios/axios#94
that way you can connect to rpc.stake.plus and have control over the underlying ip address

@dcolley dcolley added the help wanted Extra attention is needed label Jun 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant