Process metadata
Each process is allocated a unique process identifier (PID), commonly known as a process ID. When a process initiates a network connection, the kernel module requests the agent to perform process metadata collection. The agent collects as many metadata as possible about the process based on its ID and the environment in which the process is running. The collected metadata can be used in policies as selectors.
Supported metadata collectors
Proc FS
Proc FS collector gathers information from procfs. The proc filesystem (procfs) is a unique filesystem found in Unix-like operating systems. It organizes information about processes and other system details in a hierarchical, file-like structure.
Configuration
Field | Type | Required | Description |
---|---|---|---|
extractEnvs | boolean | No | Whether to expose env variables as metadata |
Possible metadata of Proc FS metadata collector
process:binary:hash: sha256:896413e61ff95eea48aa5e5e845a54133a8087271a35d8581d5b1d030beb8f7bprocess:binary:path: /usr/bin/slirp4netnsprocess:cmdline: slirp4netns --mtu 65520 -r 3 --disable-host-loopback --enable-sandbox --enable-seccomp 1774 tap0process:env:PATH: /usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/sbin:/sbinprocess:env:PWD: /home/zsltvrg.linuxprocess:env:SHELL: /bin/bashprocess:env:SYSTEMD_EXEC_PID: 1756process:env:_DOCKERD_ROOTLESS_CHILD: 1process:gid: 1000process:gid:additional: 999process:gid:effective: 1000process:gid:real: 1000process:name: slirp4netnsprocess:pid: 1789process:uid: 501process:uid:effective: 501process:uid:real: 501
Kubernetes
Kubernetes collector gathers metadata from Kubelet which runs on the node besides the agent.
Configuration of Kubernetes metadata collector
Field | Type | Required | Description |
---|---|---|---|
kubeletHost | string | No | Host/IP address of the kubelet. |
kubeletPort | integer | No | Port of the kubelet. |
kubeletCA | string | No | Either the PEM content or a path to a file which contains the trust anchor for the kubelet certificate in PEM format. |
skipKubeletVerification | boolean | No | If enabled the certificate validation of the connection to the kubelet is skipped. |
credentials | string | No | Based on the kubelet configuration either a token, a cert/key content or a comma separated path(s) to cert/key in PEM format can be specified. |
Possible metadata of Kubernetes metadata collector
k8s:annotation:kubernetes.io/config.seen: 2023-11-23T16:37:13.953323037Zk8s:annotation:kubernetes.io/config.source: apik8s:container:image:id: docker.io/ranchermirrored-metrics-server@sha256:c2dfd72bafd6406ed306d9fbd07f55c496b004293d13d3de88a4567eacc36558k8s:container:name: metrics-serverk8s:label:k8s-app: metrics-serverk8s:label:pod-template-hash: 648b5df564k8s:node:name: lima-k3sk8s:pod:ephemeral-image:count: 0k8s:pod:image:count: 1k8s:pod:image:id: docker.io/ranchermirrored-metrics-server@sha256:c2dfd72bafd6406ed306d9fbd07f55c496b004293d13d3de88a4567eacc36558k8s:pod:image:name: rancher/mirrored-metrics-server:v0.6.3k8s:pod:init-image:count: 0k8s:pod:name: metrics-server-648b5df564-drsb2k8s:pod:namespace: kube-systemk8s:pod:owner:kind: replicasetk8s:pod:owner:kind-with-version: apps/v1/replicasetk8s:pod:serviceaccount: metrics-serve
Docker
Docker collector gathers metadata from Docker Engine which runs on the node besides the agent.
Configuration of Docker metadata collector
Field | Type | Required | Description |
---|---|---|---|
socketPath | string | No | Path to the UNIX socket that Docker daemon is listening on. |
Possible metadata of Docker metadata collector
docker:cmdline: /docker-entrypoint.sh nginx -g daemon off;docker:env:NGINX_VERSION: 1.25.3docker:env:NJS_VERSION: 0.8.2docker:env:PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bindocker:env:PKG_RELEASE: 1~bookwormdocker:id: 3ac7ed50c6087bb468fd70d37a6e3ee8d5b554bcbde20bd83f9a9dfa14f0431edocker:image:hash: sha256:c20060033e06f882b0fbe2db7d974d72e0887a3be5e554efdb0dcf8d53512647docker:image:name: nginxdocker:label:maintainer: NGINX Docker Maintainers <docker-maint@nginx.com>docker:name: awesome_sinoussidocker:network:hostname: 3ac7ed50c608docker:network:mode: defaultdocker:port-binding: 8080/tcp
Linux OS
Linux OS collector gathers information about the linux operating system the process is running on.
Possible metadata of Linux OS metadata collector
linuxos:kernel:release: linux-6.2.0-36-genericlinuxos:kernel:version: "#37~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 9 15:34:04 UTC 2"linuxos:name: ubuntulinuxos:version: Ubuntu 22.04.3 LTS
Sys FS DMI
Sysfs DMI collector gathers DMI provided information from Sysfs special file system. Sysfs is a pseudo file system offered by the Linux kernel, designed to expose information regarding different kernel subsystems, hardware devices, and their corresponding device drivers. This information is made accessible to user space applications through virtual files, providing a structured interface to interact with and retrieve essential details about the system’s configuration and components.
Possible metadata of Sys FS DMI metadata collector
sysfsdmi:bios:date: 03/01/2023sysfsdmi:bios:release: 0.0sysfsdmi:bios:vendor: EDK IIsysfsdmi:bios:version: edk2-stable202302-for-qemusysfsdmi:chassis:asset-tag: chassisassettagsysfsdmi:chassis:serial: chassisserialsysfsdmi:chassis:type: 1sysfsdmi:chassis:vendor: QEMUsysfsdmi:chassis:version: pc-q35-8.1sysfsdmi:product:name: Standard PC (Q35 + ICH9, 2009)sysfsdmi:product:version: pc-q35-8.1sysfsdmi:product:family: productfamilysysfsdmi:product:serial: QEMU-0B58FE24533B92D6E93F6607F5E0BF3Csysfsdmi:product:sku: QEMU-SKU-0B58FE24533B92D6E93F6607F5E0BF3C
Azure
Azure collector gathers metadata from the Azure Instance Metadata Service which provides information about running virtual machine instances.
Possible metadata of Azure metadata collector
azure:name: demoazure:network:mac: 000D3A27CA60azure:network:private-ipv4: 10.0.0.4azure:network:public-ipv4: 51.0.0.1azure:ostype: Linuxazure:placement:location: westeuropeazure:placement:zone: 1azure:priority: Spotazure:provider: Microsoft.Computeazure:resourcegroup:name: baseazure:sku: 22_04-lts-gen2azure:subscription:id: aef37fca-5441-4532-a1a9-726b55173ca0azure:tag:department: accountingazure:tag:region: emeaazure:vm:id: afe12e91-33d9-4b5b-b915-ac81fe117b12azure:vm:offer: 0001-com-ubuntu-server-jammyazure:vm:publisher: canonicalazure:vm:scaleset:name: defaultazure:vm:size: Standard_B2ats_v2azure:vm:version: 22.04.202311010
EC2
EC2 collector gathers metadata from the EC2 Instance Metadata Service which provides information about running virtual machine instances.
Possible metadata of EC2 metadata collector
ec2:ami:id: ami-06dd92ecc74fdfb36ec2:instance:id: i-0214fc003bc83bcc1ec2:instance:type: t2.mediumec2:network:hostname: ip-172-31-19-35.eu-central-1.compute.internalec2:network:local-hostname: ip-172-31-19-35.eu-central-1.compute.internalec2:network:local-ipv4: 172.31.19.35ec2:network:mac: 02:80:ac:db:6e:fdec2:network:public-hostname: ec2-18-197-158-100.eu-central-1.compute.amazonaws.comec2:network:public-ipv4: 18.197.158.100ec2:placement:availability-zone: eu-central-1aec2:placement:availability-zone-id: euc1-az2ec2:placement:region: eu-central-1ec2:security-groups: launch-wizard-24ec2:services:domain: amazonaws.comec2:services:partition: aws
GCP
GCP collector gathers metadata from the GCP VM metadata which provides information about running virtual machine instances.
Possible metadata of GCP metadata collector
gcp:attributes:mdkey: mdvaluegcp:cpu-platform: AMD Romegcp:id: 5240495278393851000gcp:image:name: debian-11-bullseye-v20231115gcp:image:project: debian-cloudgcp:machine:project: 758913618900gcp:machine:type: e2-mediumgcp:name: instance-1gcp:network:mac: 42:01:0a:a4:00:02gcp:network:private-ipv4: 10.164.0.2gcp:network:public-ipv4: 35.204.15.15gcp:placement:project: 758913618900gcp:placement:region: europe-west4gcp:placement:zone: europe-west4-agcp:scheduling:automatic-restart: truegcp:scheduling:onHostMaintenance: migrategcp:scheduling:preemptible: falsegcp:serviceaccount:758913618900-compute@developer.gserviceaccount.com:alias: defaultgcp:serviceaccount:758913618900-compute@developer.gserviceaccount.com:email: 758913618900-compute@developer.gserviceaccount.comgcp:serviceaccount:758913618900-compute@developer.gserviceaccount.com:scope: https://www.googleapis.com/auth/devstorage.read_onlygcp:serviceaccount:758913618900-compute@developer.gserviceaccount.com:scope: https://www.googleapis.com/auth/logging.writegcp:serviceaccount:758913618900-compute@developer.gserviceaccount.com:scope: https://www.googleapis.com/auth/monitoring.writegcp:serviceaccount:758913618900-compute@developer.gserviceaccount.com:scope: https://www.googleapis.com/auth/servicecontrolgcp:serviceaccount:758913618900-compute@developer.gserviceaccount.com:scope: https://www.googleapis.com/auth/service.management.readonlygcp:serviceaccount:758913618900-compute@developer.gserviceaccount.com:scope: https://www.googleapis.com/auth/trace.appendgcp:tag: tag-1tcp:tag: tag-2