-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Packetbeat - Associate a process with generic TCP/UDP flows #541
Comments
If I get it right, we already have this for Linux, with some limitations, see here. Marked this as an enhancement for Windows, it might be that this can be implemented easier and more accurate on Windows. |
+1 It would be great if we can get the process info on windows as well. |
+1 not sure if there is a way of "upvoting" on feature requests. |
This patch extends the functionality of the processes monitor in packetbeat: - report the full command-line for all processes (not only those configured as `monitored`. - Add support for Windows process monitoring. - Disable the monitor when using file input. - Get rid of refresh delays. Closes elastic#541
This patch extends the functionality of the processes monitor in packetbeat: - report the full command-line for all processes (not only those configured as `monitored`. - Add support for Windows process monitoring. - Disable the monitor when using file input. - Get rid of refresh delays. Closes #541
This got auto-closed by the PR merging. We still need to make the feature work for flows so I'm reopening it. // cc: @adriansr |
Flows are updated to include information about the local processes that generate them. When one or both ends of a flow is identified as a local process, this feature will add the following fields: "proc": Process name for the server-side of the flow, as set up in packetbeat.procs.monitored. "cmdline": Command-line for the local process on the server-side of the flow. "client_proc": Process name for the client-side of the flow, as set up in packetbeat.procs.monitored. "client_cmdline": Command-line for the local process on the client-side of the flow.
Flows are updated to include information about the local processes that generate them. When one or both ends of a flow is identified as a local process, this feature will add the following fields: "proc": Process name for the server-side of the flow, as set up in packetbeat.procs.monitored. "cmdline": Command-line for the local process on the server-side of the flow. "client_proc": Process name for the client-side of the flow, as set up in packetbeat.procs.monitored. "client_cmdline": Command-line for the local process on the client-side of the flow.
This feature will now work with flows on Linux/Windows so closing. |
@andrewkroh it's still missing UDP support, which I was planning to implement (process monitor only supported TCP). WDYT? |
I was doing some testing on Windows. A few comments / questions:
|
I will update the docs and the reference config regarding this. |
This updates the process monitor with UDP support. Until now, it would lookup all ports as TCP. This could result in the wrong process being reported when two different processes used the same port number, one for TCP and one for UDP. The Linux and Windows implementations have been updated to fetch information for UDP ports. Closes elastic#541
* Add UDP support to packetbeat's process monitor (#541) This updates the process monitor with UDP support. Until now, it would lookup all ports as TCP. This could result in the wrong process being reported when two different processes used the same port number, one for TCP and one for UDP. The Linux and Windows implementations have been updated to fetch information for UDP ports. Closes #541 * Document the new process monitor features - Windows support - UDP support - cmdline fields
Yeah, I meant the quotes rather than the JSON escaping. I think we should trim the qoutes. Does Metricbeat’s system process metricset do this too on Windows? |
Yep, I checked metricbeat and its fairly common, including the useless trailing whitespace:
|
Ok, thanks for checking Metricbeat. If Metricbeat does this too then let's leave it alone for now. With ECS, the cmdline will be become |
If Packetbeat is being used to monitor traffic on a single host (rather than consuming a data from a port mirror) it would be nice to associate each flow with a process on that host.
Possible ways to obtain that info:
Windows: GetExtendedTcpTable / GetExtendedUdpTable
The text was updated successfully, but these errors were encountered: