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

[FR] - Query node for list of outgoing/incoming connections and its state #5006

Open
Scitz0 opened this issue Jul 22, 2024 · 9 comments
Open
Labels
connection-manager Issues / PRs related to connection-manager high-priority high priority issues / PRs node-to-client Issues & PRs related to node-to-client protocols outbound-governor Issues / PRs related to outbound-governor

Comments

@Scitz0
Copy link

Scitz0 commented Jul 22, 2024

Internal/External
External

Area
Other

Describe the feature you'd like
When in P2P mode, we need a way to query the node for currently established incoming and outgoing connections with their state. State of connection should include hot/warm status for outgoing and uni-directional, bi-directional, duplex mode for all. The current metrics you can get from the node provide the numbers, but not specifically what IP has what state and if its incoming/outgoing. This could be included in Prometheus or EKG metrics, alternatively as a cardano-cli query.

This would be very beneficial when troubleshooting topology issues or just for general health checks that the node has connections to own nodes and in the preferred mode.

Describe alternatives you've considered
Before P2P we could use system tooling to query for established incoming and outgoing connections as they where all uni directional. This is no longer possible with P2P enabled. You can only see 'active connections'.

@rdlrt
Copy link

rdlrt commented Jul 22, 2024

This has been missing since introduction of P2P and raised unofficially across discord/tg channels. In absence of interest/plan to implement, we are forced to drop support for 'direction' on gLiveView peers section - but it is an important information for analyzing and monitoring peer behaviors connecting to the node

@TrevorBenson
Copy link

TrevorBenson commented Jul 22, 2024

Additionally when an SPO uses containers that do not use --network host, and publishes the container ports, this can add additional complexity to confirming the state of node connectivity. Changes in various container network technologies (CNI vs. Aardvark, etc.) may also reduce the visibility of connectivity from the container host point of view, which adds additional complexity for stake pool operators.

While these issues are not limited to containers running a node, this request would provide a solution which could also address issues with limitations in the various technologies/architectures employed to run a node.

@TrevorBenson
Copy link

Additionally when an SPO uses containers that do not use --network host, and publishes the container ports, this can add additional complexity to confirming the state of node connectivity. Changes in various container network technologies (CNI vs. Aardvark, etc.) may also reduce the visibility of connectivity from the container host point of view, which adds additional complexity for stake pool operators.

While these issues are not limited to containers running a node, this request would provide a solution which could also address issues with limitations in the various technologies/architectures employed to run a node.

The issue I mentioned appears to have been resolved with recent updates. However, I'd still love to see this feature implemented as it provides a great amount of additional detail.

🙏

Copy link

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 120 days.

@Scitz0
Copy link
Author

Scitz0 commented Aug 28, 2024

Issue (feature request) is still highly requested by me and the broader community. A response for plan of implementation would be appreciated.

@nabinpkl
Copy link

+1 Currently, the node doesn't provide a query feature to list outgoing/incoming connections in p2p. This feature could be prioritized to see better metrics for the p2p node.

Copy link

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 120 days.

@Scitz0
Copy link
Author

Scitz0 commented Oct 18, 2024

Bump to keep open

@coot coot transferred this issue from IntersectMBO/cardano-node Oct 31, 2024
@coot coot added node-to-client Issues & PRs related to node-to-client protocols connection-manager Issues / PRs related to connection-manager outbound-governor Issues / PRs related to outbound-governor high-priority high priority issues / PRs labels Oct 31, 2024
@coot
Copy link
Contributor

coot commented Oct 31, 2024

This could be included in Prometheus or EKG metrics, alternatively as a cardano-cli query.

I think a new cardano-cli query would be the best approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
connection-manager Issues / PRs related to connection-manager high-priority high priority issues / PRs node-to-client Issues & PRs related to node-to-client protocols outbound-governor Issues / PRs related to outbound-governor
Projects
Status: No status
Development

No branches or pull requests

5 participants