System process dataset

Warning

This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.

This is the process dataset of the system module. It generates an event when a process starts and stops.

It is implemented for Linux, macOS (Darwin), and Windows.

The process dataset reads process information from /proc (Linux), sysctl (macOS), or the Windows API.

Minimum: Auditbeat can run as a non-root user, but logs a warning that it might not report all processes. Without elevated privileges, it cannot read per-process details (such as open file descriptors, environment variables, or network namespaces) for processes owned by other users.

Recommended: Run as root or grant CAP_SYS_PTRACE for complete visibility across all running processes.

Docker: The container must run in the host PID namespace (--pid=host) so that Auditbeat can see all host processes rather than only those inside the container.

docker run --pid=host --user=root ...
		
Note

Without --pid=host, the process dataset only reports processes running inside the container, not on the host.

process.state.period
The interval at which the dataset sends full state information. If set this will take precedence over state.period. The default value is 12h.
process.hash.max_file_size
The maximum size of a file in bytes for which Auditbeat will compute hashes. Files larger than this size will not be hashed. The default value is 100 MiB. For convenience units can be specified as a suffix to the value. The supported units are b (default), kib, kb, mib, mb, gib, gb, tib, tb, pib, pb, eib, and eb.
process.hash.hash_types
A list of hash types to compute when the file changes. The supported hash types are blake2b_256, blake2b_384, blake2b_512, md5, sha1, sha224, sha256, sha384, sha512, sha512_224, sha512_256, sha3_224, sha3_256, sha3_384, sha3_512, and xxh64. The default value is sha1.

The dataset comes with a sample dashboard:

Auditbeat System Process Dashboard

For a description of each field in the dataset, see the exported fields section.

Here is an example document generated by this dataset:

{
    "@timestamp": "2017-10-12T08:05:34.853Z",
    "event": {
        "action": "process_stopped",
        "dataset": "process",
        "kind": "event",
        "module": "system"
    },
    "message": "Process zsh (PID: 9086) by user elastic STOPPED",
    "process": {
        "args": [
            "zsh"
        ],
        "entity_id": "+fYshazplsMYlr0y",
        "executable": "/bin/zsh",
        "hash": {
            "sha1": "33646536613061316366353134643135613631643363383733653261373130393737633131303364"
        },
        "name": "zsh",
        "pid": 9086,
        "ppid": 9085,
        "start": "2019-01-01T00:00:01Z",
        "working_directory": "/home/elastic"
    },
    "service": {
        "type": "system"
    },
    "user": {
        "effective": {
            "group": {
                "id": "1000"
            },
            "id": "1000"
        },
        "group": {
            "id": "1000",
            "name": "elastic"
        },
        "id": "1000",
        "name": "elastic",
        "saved": {
            "group": {
                "id": "1000"
            },
            "id": "1000"
        }
    }
}