Cilium Tetragon
编辑Cilium Tetragon
编辑概述
编辑Cilium Tetragon 集成使您能够监视和分析来自 Tetragon 的事件,Tetragon 是一个由 CNCF 支持的 Kubernetes 感知安全可观测性和运行时强制执行工具。此集成提供对 Tetragon 安全事件日志的洞察,使您能够在 Kibana 中可视化数据、设置警报,并快速响应 Kubernetes 环境中的安全事件。
数据流
编辑Cilium Tetragon 集成将 Tetragon 的安全事件日志收集到 Elasticsearch 中的 logs 数据流中。
要求
编辑要使用 Cilium Tetragon 集成,请确保以下事项
- Elastic Stack:Elasticsearch 和 Kibana 是数据存储、搜索和可视化所必需的。您可以使用托管的 Elastic Cloud 上的 Elasticsearch 服务(推荐)或在您自己的硬件上部署 Elastic Stack。
- Kubernetes 环境:Tetragon 必须在 Kubernetes 集群中运行。
设置
编辑步骤 1:安装集成资产
编辑在从 Tetragon 收集数据之前,请在 Kibana 中安装此集成所需的资产
- 在 Kibana 中,导航至 设置 > 安装 Cilium Tetragon 集成。
- 或者,转到 ⊕ 添加 Cilium Tetragon > 仅添加集成(跳过此集成不支持的 Elastic Agent 安装)。
步骤 2:配置 Tetragon 进行 JSON 导出
编辑需要配置 Tetragon 以将其事件数据导出为 JSON 日志。然后,您将使用 Filebeat 将这些日志发送到 Elasticsearch。最简单的方法是使用 Tetragon Helm 图表以及 Helm 值文件。
有关常规 Helm 安装指南,请参阅 Tetragon 文档。
2.1:设置 Filebeat 配置映射
编辑首先,在 kube-system
命名空间中创建一个带有 Filebeat 配置的 ConfigMap。更新提供的配置文件中的 Elasticsearch 用户名和密码。
将以下内容另存为 filebeat-cfgmap.yaml
apiVersion: v1 kind: ConfigMap metadata: name: filebeat-configmap namespace: kube-system data: filebeat.yml: | filebeat.inputs: - type: filestream id: tetragon-log enabled: true paths: - /var/run/cilium/tetragon/*.log path.data: /usr/share/filebeat/data processors: - timestamp: field: "time" layouts: - '2006-01-02T15:04:05Z' - '2006-01-02T15:04:05.999Z' - '2006-01-02T15:04:05.999-07:00' test: - '2019-06-22T16:33:51Z' - '2019-11-18T04:59:51.123Z' - '2020-08-03T07:10:20.123456+02:00' setup.template.name: logs setup.template.pattern: "logs-cilium_tetragon.*" output.elasticsearch: hosts: ["https://<elasticsearch host>"] username: "<elasticsearch username>" password: "<elasticsearch password>" index: logs-cilium_tetragon.log-default
要应用此配置,请运行
kubectl create -f filebeat-cfgmap.yaml
2.2:使用 Filebeat Sidecar 安装 Tetragon
编辑接下来,使用 Helm 安装 Tetragon,使用覆盖文件配置 Filebeat sidecar 以导出日志。将以下配置另存为 filebeat-helm-values.yaml
export: securityContext: runAsUser: 0 runAsGroup: 0 stdout: enabledCommand: false enabledArgs: false image: override: "docker.elastic.co/beats/filebeat:8.15.3" extraVolumeMounts: - name: filebeat-config mountPath: /usr/share/filebeat/filebeat.yml subPath: filebeat.yml - name: filebeat-data mountPath: /usr/share/filebeat/data extraVolumes: - name: filebeat-data hostPath: path: /var/run/cilium/tetragon/filebeat type: DirectoryOrCreate - name: filebeat-config configMap: name: filebeat-configmap items: - key: filebeat.yml path: filebeat.yml
然后,使用以下命令安装 Tetragon
helm repo add cilium https://helm.cilium.io helm repo update helm install tetragon -f filebeat-helm-values.yaml ${EXTRA_HELM_FLAGS[@]} cilium/tetragon -n kube-system
故障排除
编辑如果预期事件未出现在 Elasticsearch 中,请确保已将 Tetragon 配置为导出正确的事件
- 检查
tetragon.exportAllowList
和tetragon.exportDenyList
Helm 值。可以通过将它们添加到filebeat-helm-values.yaml
来调整这些值,以控制 JSON 导出中包含哪些事件。
参考
编辑有关安装或配置 Tetragon 的更多指南,请访问 Tetragon 文档。
日志
编辑日志数据流
编辑log
数据流捕获来自 Tetragon 的事件日志。这些事件在 Elasticsearch 中以 logs-cilium_tetragon.log-default
索引。
导出的字段
字段 | 描述 | 类型 |
---|---|---|
@timestamp |
事件时间戳。 |
日期 |
cilium_tetragon.log.cluster_name |
关键字 |
|
cilium_tetragon.log.node_name |
关键字 |
|
cilium_tetragon.log.process_exec.parent.auid |
长整型 |
|
cilium_tetragon.log.process_exec.parent.docker |
关键字 |
|
cilium_tetragon.log.process_exec.parent.exec_id |
关键字 |
|
cilium_tetragon.log.process_exec.parent.flags |
关键字 |
|
cilium_tetragon.log.process_exec.parent.parent_exec_id |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.container.id |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.container.image.id |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.container.image.name |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.container.name |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.container.pid |
长整型 |
|
cilium_tetragon.log.process_exec.parent.pod.container.start_time |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.name |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.namespace |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.pod_labels.app.kubernetes.io/name |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.pod_labels.class |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.pod_labels.org |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.pod_labels.pod-template-hash |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.workload |
关键字 |
|
cilium_tetragon.log.process_exec.parent.pod.workload_kind |
关键字 |
|
cilium_tetragon.log.process_exec.parent.refcnt |
长整型 |
|
cilium_tetragon.log.process_exec.parent.start_time |
关键字 |
|
cilium_tetragon.log.process_exec.parent.tid |
长整型 |
|
cilium_tetragon.log.process_exec.process.auid |
长整型 |
|
cilium_tetragon.log.process_exec.process.docker |
关键字 |
|
cilium_tetragon.log.process_exec.process.exec_id |
关键字 |
|
cilium_tetragon.log.process_exec.process.flags |
关键字 |
|
cilium_tetragon.log.process_exec.process.parent_exec_id |
关键字 |
|
cilium_tetragon.log.process_exec.process.pod.container.image.id |
关键字 |
|
cilium_tetragon.log.process_exec.process.pod.container.pid |
长整型 |
|
cilium_tetragon.log.process_exec.process.pod.container.start_time |
关键字 |
|
cilium_tetragon.log.process_exec.process.pod.name |
关键字 |
|
cilium_tetragon.log.process_exec.process.pod.namespace |
关键字 |
|
cilium_tetragon.log.process_exec.process.pod.pod_labels.app |
关键字 |
|
cilium_tetragon.log.process_exec.process.pod.pod_labels.app.kubernetes.io/name |
关键字 |
|
cilium_tetragon.log.process_exec.process.pod.pod_labels.class |
关键字 |
|
cilium_tetragon.log.process_exec.process.pod.pod_labels.org |
关键字 |
|
cilium_tetragon.log.process_exec.process.pod.pod_labels.pod-template-hash |
关键字 |
|
cilium_tetragon.log.process_exec.process.pod.workload |
关键字 |
|
cilium_tetragon.log.process_exec.process.pod.workload_kind |
关键字 |
|
cilium_tetragon.log.process_exec.process.start_time |
关键字 |
|
cilium_tetragon.log.process_exec.process.uid |
长整型 |
|
cilium_tetragon.log.process_exit.parent.auid |
长整型 |
|
cilium_tetragon.log.process_exit.parent.docker |
关键字 |
|
cilium_tetragon.log.process_exit.parent.exec_id |
关键字 |
|
cilium_tetragon.log.process_exit.parent.flags |
关键字 |
|
cilium_tetragon.log.process_exit.parent.parent_exec_id |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.container.id |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.container.image.id |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.container.image.name |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.container.name |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.container.pid |
长整型 |
|
cilium_tetragon.log.process_exit.parent.pod.container.start_time |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.name |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.namespace |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.pod_labels.app.kubernetes.io/name |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.pod_labels.class |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.pod_labels.org |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.pod_labels.pod-template-hash |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.workload |
关键字 |
|
cilium_tetragon.log.process_exit.parent.pod.workload_kind |
关键字 |
|
cilium_tetragon.log.process_exit.parent.refcnt |
长整型 |
|
cilium_tetragon.log.process_exit.parent.start_time |
关键字 |
|
cilium_tetragon.log.process_exit.parent.tid |
长整型 |
|
cilium_tetragon.log.process_exit.process.auid |
长整型 |
|
cilium_tetragon.log.process_exit.process.docker |
关键字 |
|
cilium_tetragon.log.process_exit.process.exec_id |
关键字 |
|
cilium_tetragon.log.process_exit.process.flags |
关键字 |
|
cilium_tetragon.log.process_exit.process.parent_exec_id |
关键字 |
|
cilium_tetragon.log.process_exit.process.pod.container.image.id |
关键字 |
|
cilium_tetragon.log.process_exit.process.pod.container.pid |
长整型 |
|
cilium_tetragon.log.process_exit.process.pod.container.start_time |
关键字 |
|
cilium_tetragon.log.process_exit.process.pod.name |
关键字 |
|
cilium_tetragon.log.process_exit.process.pod.namespace |
关键字 |
|
cilium_tetragon.log.process_exit.process.pod.pod_labels.app.kubernetes.io/name |
关键字 |
|
cilium_tetragon.log.process_exit.process.pod.pod_labels.class |
关键字 |
|
cilium_tetragon.log.process_exit.process.pod.pod_labels.org |
关键字 |
|
cilium_tetragon.log.process_exit.process.pod.pod_labels.pod-template-hash |
关键字 |
|
cilium_tetragon.log.process_exit.process.pod.workload |
关键字 |
|
cilium_tetragon.log.process_exit.process.pod.workload_kind |
关键字 |
|
cilium_tetragon.log.process_exit.process.refcnt |
长整型 |
|
cilium_tetragon.log.process_exit.process.start_time |
关键字 |
|
cilium_tetragon.log.process_exit.process.uid |
长整型 |
|
cilium_tetragon.log.process_exit.signal |
关键字 |
|
cilium_tetragon.log.process_exit.status |
浮点数 |
|
cilium_tetragon.log.process_exit.time |
关键字 |
|
cilium_tetragon.log.process_kprobe.action |
关键字 |
|
cilium_tetragon.log.process_kprobe.args.capability_arg.name |
关键字 |
|
cilium_tetragon.log.process_kprobe.args.capability_arg.value |
长整型 |
|
cilium_tetragon.log.process_kprobe.args.file_arg.path |
关键字 |
|
cilium_tetragon.log.process_kprobe.args.file_arg.permission |
关键字 |
|
cilium_tetragon.log.process_kprobe.args.int_arg |
长整型 |
|
cilium_tetragon.log.process_kprobe.args.user_ns_arg.gid |
长整型 |
|
cilium_tetragon.log.process_kprobe.args.user_ns_arg.level |
长整型 |
|
cilium_tetragon.log.process_kprobe.args.user_ns_arg.ns.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.args.user_ns_arg.ns.is_host |
布尔型 |
|
cilium_tetragon.log.process_kprobe.args.user_ns_arg.uid |
长整型 |
|
cilium_tetragon.log.process_kprobe.function_name |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.auid |
长整型 |
|
cilium_tetragon.log.process_kprobe.parent.docker |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.flags |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.parent_exec_id |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.pod.container.id |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.pod.container.image.id |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.pod.container.image.name |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.pod.container.name |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.pod.container.pid |
长整型 |
|
cilium_tetragon.log.process_kprobe.parent.pod.container.start_time |
日期 |
|
cilium_tetragon.log.process_kprobe.parent.pod.name |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.pod.namespace |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.pod.pod_labels.app.kubernetes.io/name |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.pod.pod_labels.class |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.pod.pod_labels.org |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.pod.workload |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.pod.workload_kind |
关键字 |
|
cilium_tetragon.log.process_kprobe.parent.refcnt |
长整型 |
|
cilium_tetragon.log.process_kprobe.policy_name |
关键字 |
|
cilium_tetragon.log.process_kprobe.process.auid |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.docker |
关键字 |
|
cilium_tetragon.log.process_kprobe.process.flags |
关键字 |
|
cilium_tetragon.log.process_kprobe.process.ns.cgroup.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.ns.ipc.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.ns.mnt.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.ns.net.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.ns.pid.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.ns.pid.pid_for_children.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.ns.pid_for_children.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.ns.time.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.ns.time.is_host |
布尔型 |
|
cilium_tetragon.log.process_kprobe.process.ns.time.time_for_children.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.ns.time.time_for_children.is_host |
布尔型 |
|
cilium_tetragon.log.process_kprobe.process.ns.time_for_children.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.ns.time_for_children.is_host |
布尔型 |
|
cilium_tetragon.log.process_kprobe.process.ns.user.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.ns.user.is_host |
布尔型 |
|
cilium_tetragon.log.process_kprobe.process.ns.uts.inum |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.parent_exec_id |
关键字 |
|
cilium_tetragon.log.process_kprobe.process.pod.container.image.id |
关键字 |
|
cilium_tetragon.log.process_kprobe.process.pod.container.pid |
长整型 |
|
cilium_tetragon.log.process_kprobe.process.pod.container.start_time |
日期 |
|
cilium_tetragon.log.process_kprobe.process.pod.pod_labels.app.kubernetes.io/name |
关键字 |
|
cilium_tetragon.log.process_kprobe.process.pod.pod_labels.class |
关键字 |
|
cilium_tetragon.log.process_kprobe.process.pod.pod_labels.org |
关键字 |
|
cilium_tetragon.log.process_kprobe.process.pod.workload |
关键字 |
|
cilium_tetragon.log.process_kprobe.process.refcnt |
长整型 |
|
cilium_tetragon.log.process_kprobe.return.int_arg |
长整型 |
|
cilium_tetragon.log.process_kprobe.return_action |
关键字 |
|
cilium_tetragon.log.time |
关键字 |
|
cloud.image.id |
云实例的镜像 ID。 |
关键字 |
container.labels |
镜像标签。 |
object |
data_stream.dataset |
数据流数据集名称。 |
constant_keyword |
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
data_stream.type |
数据流类型。 |
constant_keyword |
event.dataset |
事件数据集 |
constant_keyword |
event.module |
事件模块 |
constant_keyword |
host.containerized |
主机是否为容器。 |
布尔型 |
host.os.build |
操作系统构建信息。 |
关键字 |
host.os.codename |
操作系统代号(如果有)。 |
关键字 |
input.type |
Filebeat 输入类型。 |
关键字 |
log.file.device_id |
包含文件所在文件系统的设备的 ID。 |
关键字 |
log.file.fingerprint |
启用指纹识别时,文件的 sha256 指纹标识。 |
关键字 |
log.file.idxhi |
与文件关联的唯一标识符的高位部分。(仅限 Windows) |
关键字 |
log.file.idxlo |
与文件关联的唯一标识符的低位部分。(仅限 Windows) |
关键字 |
log.file.inode |
日志文件的 Inode 编号。 |
关键字 |
log.file.vol |
包含文件的卷的序列号。(仅限 Windows) |
关键字 |
log.flags |
日志文件的标志。 |
关键字 |
log.offset |
日志文件中条目的偏移量。 |
长整型 |
更新日志
编辑更新日志
版本 | 详情 | Kibana 版本 |
---|---|---|
0.1.0 |
增强 (查看拉取请求) |
— |