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

Spike Network Viewer #6764

Closed
thiagoftsm opened this issue Sep 3, 2019 · 3 comments
Closed

Spike Network Viewer #6764

thiagoftsm opened this issue Sep 3, 2019 · 3 comments
Assignees
Labels
feature request New features needs triage Issues which need to be manually labelled
Milestone

Comments

@thiagoftsm
Copy link
Contributor

Feature idea summary

After the meet up I began to work again with libpcap to monitor outgoing Network packages, the first part of this spike was already done and I could get all the packages moving from a specific host, now it is necessary to create the rules automatic for libpcap only delivers results when the destination package is another host of the network.

Expected behavior

When this is done, we will have conditions to detect all the hosts that a specific host is communicating inside the network.

@thiagoftsm thiagoftsm added feature request New features needs triage Issues which need to be manually labelled labels Sep 3, 2019
@thiagoftsm thiagoftsm added this to the v1.18-Sprint1 milestone Sep 3, 2019
@thiagoftsm thiagoftsm self-assigned this Sep 3, 2019
@cakrit cakrit mentioned this issue Sep 3, 2019
11 tasks
@thiagoftsm thiagoftsm changed the title Spike Network Viewer (libpcap and winpcap) Spike Network Viewer Sep 5, 2019
@thiagoftsm
Copy link
Contributor Author

thiagoftsm commented Sep 5, 2019

After to read some papers and a talk with @ktsaou , I am discarding the libpcap as a possibility to monitor the sockets and to do Network Viewer based on it.

I am also discarding the possibility to parse /proc/net/tcp and /proc/net/tcp6, due two important motives, the first is the fact that the official documentation ( https://www.kernel.org/doc/Documentation/networking/proc_net_tcp.txt ) says that it is deprecated the second and no less important is an old paper ( https://kristrev.github.io/2013/07/26/passive-monitoring-of-sockets-on-linux ) where the writer had to do something near we will do in Netdata. The author argues correctly that is a problem to work with servers with a big number of sockets opened.

A good example of the tcp_diag interface is the software ss(https://www.cyberciti.biz/files/ss.html) , that uses the same sockets that were described in the links of the previous paragraph.

On FreeBSD it looks like that sockstat is analogous to ss.

@thiagoftsm
Copy link
Contributor Author

Hi @ilyam8 ,

Did you already work with a software different of ss to monitor opened sockets on Linux?

Best Regards!

@amoss
Copy link
Contributor

amoss commented Oct 2, 2019

Some comments from the meeting about the Network Viewer, I'll leave them here although the issue is closed as a record - they may apply to the work in PR#6958.

  1. There are several different technical decisions to make about how to send the network socket status to the cloud. But these decisions depend largely on the target use-cases for the Network Viewer. Working on refining the use-cases for the Network Viewer first (user stories?) would be useful to guide these technical decisions.
  2. The decisions about what data to send, how to send it (e.g. should it be polled every second and send a view of currently established sockets, or should it send open/close events to match the interface in the AF_NETLINK) can be better decided with a view of the target interface to the cloud (e.g. it comes up in the Groom on Friday).
  3. Sending the raw binary socket info is not guaranteed to be stable across all nodes - and the ntop() calls are inexpensive. If bandwidth is a concern then the connection could be compressed (e.g. zlib).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New features needs triage Issues which need to be manually labelled
Projects
None yet
Development

No branches or pull requests

2 participants