You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[8.13](backport #38199) [Auditbeat] fim(ebpf): enrich file events with process data (#38742)
* [Auditbeat] fim(ebpf): enrich file events with process data (#38199)
* fim(ebpf): enrich file events with process data
* apply review suggestions
* apply review suggestions
* fix(fim/ebpf): move process fields to event root and insert them so keys do not contain dots
* fix(fim/ebpf): refactor HostID to utilise sync.OnceValue and expose boot time
* fix(fim/ebpf): refactor TicksPerSecond to utilise sync.OnceValue
* fix(fim/ebpf): remove empty slice allocation
* chore: go mod tidy
* fix: explicitly set go 1.21.8 in go.mod
* fix(fim/ebpf): nil slice of errors in TestNewEventFromEbpfEvent
* fix(fim/ebpf): remove re-declaration of already ecs included fields
* fix(fim/ebpf): utilise OnceValues to declutter the code
* fix(fim/ebpf): remove x-pack import from OSS package
* fix(fim/ebpf): propagate process fields changes to integration tests
* chore: go mod tidy
* ci: temporary solution to outdated docker compose python library
* ci: transition to a fixed tag for docker image instead of a rolling one
---------
Co-authored-by: Panos Koutsovasilis <[email protected]>
Co-authored-by: Pierre HILBERT <[email protected]>
(cherry picked from commit dbdaac3)
# Conflicts:
# go.mod
# go.sum
* fix: resolve conflicts
---------
Co-authored-by: Mattia Meleleo <[email protected]>
Co-authored-by: Panos Koutsovasilis <[email protected]>
Contents of probable licence file $GOMODCACHE/github.com/pkg/[email protected]/LICENSE:
49551
-
49552
-
Copyright 2018 Joshua Bleecher Snyder
49553
-
49554
-
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
49555
-
49556
-
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
49557
-
49558
-
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
49559
-
49560
-
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
49561
-
49562
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ParserResults mapstr.M`json:"file,omitempty"`// Results from running file parsers.
137
+
Process*Process`json:"process,omitempty"`// Process data. Available only on Linux when using the eBPF backend.
137
138
138
139
// Metadata
139
140
rtt time.Duration// Time taken to collect the info.
140
141
errors []error// Errors that occurred while collecting the info.
141
142
hashFailedbool// Set when hashing the file failed.
142
143
}
143
144
145
+
// Process contain information about a process.
146
+
// These fields can help you correlate metrics information with a process id/name from a log message. The `process.pid` often stays in the metric itself and is copied to the global field for correlation.
147
+
typeProcessstruct {
148
+
// Unique identifier for the process.
149
+
// The implementation of this is specified by the data source, but some examples of what could be used here are a process-generated UUID, Sysmon Process GUIDs, or a hash of some uniquely identifying components of a process.
150
+
// Constructing a globally unique identifier is a common practice to mitigate PID reuse as well as to identify a specific process over time, across multiple monitored hosts.
151
+
EntityIDstring`json:"entity_id,omitempty"`
152
+
// Process name. Sometimes called program name or similar.
153
+
Namestring`json:"name,omitempty"`
154
+
// The effective user (euid).
155
+
Userstruct {
156
+
// Unique identifier of the user.
157
+
IDstring`json:"id,omitempty"`
158
+
// Short name or login of the user.
159
+
Namestring`json:"name,omitempty"`
160
+
} `json:"user,omitempty"`
161
+
// The effective group (egid).
162
+
Groupstruct {
163
+
// Unique identifier for the group on the system/platform.
0 commit comments