关于 tenzir
Tenzir 文档导航技能,供使用 Tenzir 的开发者和安全数据团队查找操作指南、TQL 参考、集成说明与概念文档。它按问题类型组织文档,并要求先查阅相关页面再作答。
主要功能
- 01按任务类型定位文档
- 02提供 TQL 操作符与函数索引
- 03涵盖数据源和目的地集成
- 04整理安全数据流水线指南
- 05包含教程与架构概念
适用场景
- 01查找 TQL 语法与示例
- 02配置数据采集和输出集成
- 03规划安全事件处理流水线
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tenzir/ skills --skill tenzir安装后在 Claude Code 中输入/tenzir确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
explanations.mdguides.mdexplanations/configuration.mddata-model.mddeployment.mddetections.mdencryption.mdenrichment.mdexecutor.mdglossary.mdlanguage.mdnode.mdnormalization.mdpackages.mdpipeline.mdplatform.mdsecrets.mdexplanations/platform/data-flow.mdguides/ai-workbench.mdanalyze.mdguides/ai-workbench/use-agent-skills.mdguides/analyze/aggregate-event-streams.mdcalculate-aggregate-statistics.mdfind-cardinality-spikes.mdfind-unseen-and-rare-values.mdidentify-distribution-drift.mdset-adaptive-thresholds-from-a-baseline.mdshape-aggregation-results.mdwindow-event-streams.mdguides/basic-usage/manage-a-pipeline.md详细介绍
Tenzir 文档导航
安全数据流水线平台。
如何使用此技能
根据问题类型浏览文档:
| 问题类型 | 查阅位置 |
|---|---|
| “如何……”类任务 | 指南 — 按任务分类的分步说明 |
| 运算符或函数语法 | 运算符索引 或 函数索引,然后查看具体页面 |
| 集成设置(Splunk、Kafka、S3……) | 集成 — 各产品的设置说明和流水线示例 |
| 概念(节点、流水线、部署) | 说明 — 架构和设计 |
| 从零开始学习 | 教程 — 引导式课程 |
| TQL 语言规则 | 语言、表达式、语句 |
回答前务必阅读相关页面。优先使用文档中的 TQL 示例,不要自行编造语法。
文档之外
此技能仅包含文档。对于其他 Tenzir 相关内容,请按需获取以下实时页面,而不要凭记忆作答:
| 主题 | 查阅位置 |
|---|---|
| 发行说明、“X 是何时添加/更改的” | https://tenzir.com/changelog.md |
| 博客文章和公告 | https://tenzir.com/blog.md |
| 解决方案用例 | https://tenzir.com/solutions.md |
| 公司、产品、活动及其他所有内容 | https://tenzir.com/llms.txt — 完整的网站索引,包含各页面的 Markdown 链接 |
回答范例
运算符语法问题 — “where 如何工作?”
→ 阅读 where,解释语法并展示文档中的 TQL 示例。
集成问题 — “如何向 Splunk 发送数据?” → 阅读 Splunk,提供页面中的流水线示例。
任务问题 — “如何解析 syslog?” → 阅读 解析带分隔符的文本 和 read_syslog。结合指南中的方法与运算符参考。
指南
指南提供实用的分步说明,帮助你实现特定目标。
开始使用
快速入门
日志、警报和僵化工具让你应接不暇?
概览
本指南将介绍如何安装 Tenzir CLI,以便在本地运行流水线或部署持久运行的节点。
创建账户
运行流水线
你可以通过平台、在命令行中使用 tenzir 二进制文件,或通过配置文件以代码形式运行流水线。
管理流水线
本指南将介绍如何通过应用或 API 控制流水线的生命周期。
设置
概览
引入 AI Agent 并使用 Tenzir 的 Agent 技能进行配置,打造自己的 AI Workbench。
使用 Agent 技能
概览
Tenzir Node 用于运行流水线。
配置节点资源
确定节点规格
部署节点
配置节点
配置 TLS
启动 API
优化性能
概览
Tenzir Platform 充当 Tenzir Nodes 的集群管理控制平面。
在 AWS 上部署
选择方案
配置反向代理
配置内部服务
配置身份提供方
配置数据库
配置 Blob 存储
配置密钥存储
运行平台
管理组织
本指南介绍如何在 Tenzir Platform 中创建、配置和删除组织。
管理组织成员
本指南介绍如何邀请他人加入组织、管理现有成员,以及了解基于角色的权限模型。
管理组织工作区
本指南介绍如何创建、查看和删除组织所属的工作区。
配置工作区
平台中的工作区用于在逻辑上对节点、密钥和仪表板进行分组。
配置仪表板
你可以为静态工作区预先定义仪表板。
使用临时节点
临时节点非常适合临时部署或自动扩缩部署。
采集
概览
从文件、API、代理、存储和网络读取事件和字节。
读取和监视文件
通过 HTTP 和 API 获取数据
从消息代理读取数据
从数据存储读取数据
从网络获取数据
解析
概览
将字节流和文本字段转换为结构化事件。
解析分隔文本
解析二进制数据
解析字符串字段
清理值
整形
概览
为下游处理准备事件字段和记录。
转换值
处理字符串
规范化事件时间戳
修复乱序事件
基于时间计算
整形列表
整形记录
重塑复杂数据
转换数据格式
规范化
概览
将特定于来源的事件映射到统一架构。
映射到 ASIM
映射到 CIM
映射到 ECS
映射到 OCSF
映射到 UDM
优化
概览
减少管道中的数据量和处理工作。
筛选和选择数据
切片和抽样数据
删除重复事件
保护
概览
在保留有用结构的同时,限制敏感数据的暴露。
屏蔽敏感数据
加密敏感数据
丰富
概览
为原始事件中不包含的信息补充上下文。
使用查找表
使用资产清单丰富数据
使用威胁情报丰富数据
使用 AI 丰富事件
分析
概览
汇总事件流,并将当前活动与以往行为进行比较。
聚合事件流
调整聚合结果的结构
对事件流进行窗口划分
计算聚合统计数据
查找未见过和罕见的值
根据基线设置自适应阈值
识别分布漂移
查找基数激增
检测
概览
匹配安全活动,并对产生的发现进行建模。
使用 TQL 匹配事件
在 OCSF 中为检测建模
检测时间窗口内的活动
根据存储的事件建立行为基线
检测周期性行为
创建多阶段检测器
执行 Sigma 规则
检查 Sigma 规则与 OCSF 的兼容性
使用 YARA 扫描字节
存储
概览
持久化事件,以供后续搜索、重放和分析。
写入分区文件
导入到节点
显示可用架构
转换静态数据
搜索
概览
查询已存储的事件,并继续处理查询结果。
从节点导出
路由
概览
将事件流传递到需要它们的系统。
发送到目标位置
将数据作为服务公开
拆分和合并流
使用子流水线扇出
对流水线进行负载均衡
重放
概览
重新通过实时流水线运行已存储的事件。
重放历史事件
运维
概览
检查节点、流水线和主机的行为。
检查节点
收集指标
概览
诊断编译问题、流水线故障、资源增长和节点连接问题。
调试字段值
检查编译输出
排查流水线运行缓慢的问题
排查内存增长问题
排查存储增长问题
重新连接离线节点
构建
安装软件包
编写自己的软件包
创建软件包
本指南将介绍如何从头开始创建软件包。
测试软件包
本指南将介绍如何为软件包添加测试。
添加算子
本指南将介绍如何为软件包创建用户自定义算子(UDO)。
添加管道
本指南将介绍如何为软件包添加可部署的管道。
添加上下文
本指南将介绍如何为软件包添加增强上下文。
添加常量
本指南将介绍如何在 constants.tql 文件中定义软件包范围内的常量,并在软件包自己的算子和管道中,以及任何使用该软件包的管道中,将其引用为 pkg::$name。
配置输入项
本指南将介绍如何通过输入项配置软件包。
维护更新日志
本指南将介绍如何使用 tenzir-ship 管理更新日志条目并发布版本。
发布软件包
本指南将介绍如何发布软件包。
运行测试
本指南将介绍如何使用 tenzir-test 框架运行现有集成测试。
编写测试
本指南将介绍如何使用 tenzir-test 框架创建集成测试。
运行测试夹具
本指南将介绍如何在独立模式下启动测试夹具,而不运行测试。
创建测试夹具
本指南将介绍如何创建测试夹具、将其接入测试运行框架,并在测试中使用它。
添加自定义运行器
运行器会告知 tenzir-test 如何执行发现的文件。
配置项目钩子
本指南将介绍如何配置 tenzir-test 项目钩子,以执行与测试放在一起的设置和清理任务。
贡献
行为准则
为了营造开放、友好的环境,我们作为贡献者和维护者,承诺让每个人都能在无骚扰的体验中参与我们的项目和社区,无论其年龄、体型、残障情况、族裔、性特征、性别认同与表达、经验水平、教育程度、社会经济地位、国籍、个人外貌、种族、宗教信仰或性身份与取向如何。
Git 和 GitHub 工作流
下图展示了我们的分支模型:
安全政策
安全对我们而言至关重要。
设置语法高亮
安装 TQL 语言扩展,为编辑器启用语法高亮
从源代码构建
Tenzir 使用 CMake 作为构建系统,并使用 C++23 编译器。
其他
处理时间
我们将本指南拆分为多个重点任务。
教程
教程以学习为导向,通过一系列步骤带你完成一个项目。
基础知识
了解数据生命周期
安全数据以他人的文本形式到达,最终必须变成检测、仪表板或审计人员可以使用的内容。
学习符合惯用法的 TQL
本教程将教你编写清晰、高效且易于维护的 TQL。
开发
接入数据源
接入数据源,就是将某个产品的输出转换为事件,供数据生命周期的所有后续阶段使用。
添加丰富化上下文
上下文是状态,而非代码。
分析
用图表绘制数据
在本教程中,你将学习如何使用管道将数据绘制成图表。
使用 ClickHouse 构建 OCSF 数据湖
将 OCSF 事件存储在 ClickHouse 中,从可接受任意内容的表开始,逐步构建出经过调优的数据湖,其中包含类型化列、跳过索引、编解码器和按类别设置的保留策略。
说明
说明部分将从宏观角度解释更高层次的 Tenzir 概念。
架构
部署
本页介绍 Tenzir 的部署架构,该架构通过分层设计将数据处理与管理分离。
管道
Tenzir 管道是一系列算子,用于表示数据流。
节点
节点是管理并执行管道的运行中进程。
平台
平台为节点提供集群管理功能。
语言
了解 TQL 的数据流模型、流式与批处理语义,以及对不同架构事件的支持。
执行器
了解 Tenzir 如何将 TQL 编译为执行计划,并通过融合交接、通道、子管道和并行作业运行算子。
数据模型
了解 Tenzir 如何将事件存储在列式批次中、如何并排保留不同形状和类型的事件,以及如何使用位图选择行,而不是将批次切分开。
概念
配置
本页介绍如何配置 Tenzir CLI 和 Node。
密钥
算子和函数接受密钥作为参数,用于表示敏感值,例如身份验证令牌、密码、密钥,甚至 URL。
规范化
为什么 Tenzir 会先将每个数据源映射到 OCSF,再从 OCSF 转换
丰富化
丰富化是指向事件添加上下文数据。
检测
了解 Tenzir 如何匹配、关联和建模安全证据,并将其作为检测结果输出
软件包
本页介绍软件包如何将管道、算子、上下文和示例打包成可部署的单元。
加密
加密会将一个值转换为密文,只有持有密钥的人才能将其还原为原始值。
帮助
术语表
本页定义了你在 Tenzir 中会用到的术语,包括组件、管道操作的实体,以及我们交付的单元。
参考
参考部分提供了关于 Tenzir 工作方式的详细技术说明。
语言(TQL)
类型系统
本页介绍 TQL 的类型系统,该系统通过自动推断提供强类型支持。
表达式
表达式构成了 TQL 的计算核心。
语句
TQL 程序由一系列语句组成。
程序
TQL 程序将语句组合成可执行的完整数据处理工作流。
概览
Tenzir 会在数据所在的位置运行管道的一部分。
组件
配置
以下示例配置随每个 Tenzir 软件包一同提供。
Helm chart
Tenzir Helm chart 可在 Kubernetes 集群上部署一个或多个 tenzir-node 实例。
配置
这些设置用于配置 Tenzir Platform。
命令行界面
Tenzir Platform 命令行界面(CLI)允许你通过命令行与 Tenzir Platform 交互,以管理组织、工作区和节点。
工具
测试框架
tenzir-test 测试工具可发现并运行针对管道、测试夹具和自定义运行器的集成测试。
Ship 框架
tenzir-ship 以 Python 软件包的形式提供,要求 Python 版本为 3.12 或更高。
安全
AWS 身份验证
Tenzir 的 AWS 运算符使用 AWS SDK 的默认凭证链、OIDC Web 身份令牌或静态凭证进行 AWS 身份验证。
Azure 身份验证
Tenzir 的 Azure 运算符使用 Azure SDK 的默认凭证链、共享账户密钥、应用客户端密钥或工作负载身份联合,通过 Microsoft Entra ID 进行身份验证。
API
概览
此参考文档由 OpenAPI 规范生成。
概览
此参考文档由 OpenAPI 规范生成。
检查节点运行状况
post/ping
列出节点
post/user/list-nodes
创建节点
post/user/create-node
重命名节点
post/user/rename-node
删除节点
post/user/delete-node
获取节点令牌
post/user/get-node-token
生成客户端配置
post/user/generate-client-config
生成下载 URL
post/user/generate-download-url
创建演示节点
post/user/create-demo-node
退役演示节点
post/user/retire-demo-node
代理
post/user/proxy
透明代理
get/user/node-proxy/{tenantid}/{nodeid}/{httppath}
透明代理
post/user/node-proxy/{tenantid}/{nodeid}/{httppath}
透明代理
put/user/node-proxy/{tenantid}/{nodeid}/{httppath}
透明代理
delete/user/node-proxy/{tenantid}/{nodeid}/{httppath}
透明代理
patch/user/node-proxy/{tenantid}/{nodeid}/{httppath}
透明代理
head/user/node-proxy/{tenantid}/{nodeid}/{httppath}
透明代理
options/user/node-proxy/{tenantid}/{nodeid}/{httppath}
代理缓存
post/user/proxy-cached
读取管道输出
post/serve
存储
post/user/dashboard/store
获取
post/user/dashboard/get
读取多个管道输出
post/serve-multi
列表
post/user/dashboard/list
删除
post/user/dashboard/delete
添加
post/user/alert/add
创建新管道
post/pipeline/create
删除现有管道
post/pipeline/delete
列表
post/user/alert/list
删除
post/user/alert/delete
启动新管道
post/pipeline/launch
列出管道
post/pipeline/list
重置现有管道的 TTL
post/pipeline/reset-ttl
更新管道状态
post/pipeline/update
添加外部存储
post/user/secrets/add-external-store
设置默认存储
post/user/secrets/select-store
删除外部存储
post/user/secrets/delete-external-store
列出存储
post/user/secrets/list-stores
添加
post/user/secrets/add
更新
post/user/secrets/update
移除
post/user/secrets/remove
列表
post/user/secrets/list
删除租户
post/user/delete-tenant
更新租户名称
post/user/rename-tenant
切换租户
post/user/switch-tenant
健康状态
get/user/health
获取登录信息
post/user/get-login-info
获取 Webapp 密钥
get/admin/webapp-key
创建租户
post/admin/create-tenant
生成用户密钥
post/admin/generate-user-key
启动节点
post/admin/spawn-node
列出租户
get/admin/global-tenant-list
删除租户
post/admin/force-delete-tenant
检查连接性
post/admin/check-connectivy
更新租户所有者
post/admin/update-tenant
添加身份验证函数
post/admin/add-auth-function
删除身份验证函数
post/admin/delete-auth-function
Operators
Operators
Tenzir 内置了多种管道运算符。
函数
函数
函数出现在表达式中,接收位置参数和/或命名参数,并通过计算生成一个值。
节点索引
概览索引
平台索引
索引
如需按类别查看完整的操作符列表,请阅读操作符索引。
如需按类别查看完整的函数列表,请阅读函数索引。
集成
alphaMountain 集成
利用实时威胁情报丰富 DNS、Web 和网络遥测数据。
Amazon 集成
通过 MSK 流式传输事件,在 S3 中存储并重放事件,将事件以 OCSF 格式发送到 CloudWatch 或 Amazon Security Lake,并从 SQS 拉取消息,所有功能均与 IAM 深度集成。
Amazon CloudWatch Logs 集成
为 AWS 资源、应用程序和自定义日志提供集中式日志记录。
Amazon Kinesis 集成
摄取和处理来自 Amazon Kinesis 的实时数据流。
Amazon MSK 集成
向 Amazon 托管的 Kafka 服务发布消息并订阅消息。
Amazon S3 集成
在可扩展且持久的云存储服务中存储、检索和管理数据对象。
Amazon Security Lake 集成
向 Amazon Security Lake 发送 OCSF 事件。
Amazon SQS 集成
在分布式应用程序之间发送、接收和管理消息。
AMQP 集成
使用标准化的协议方式在系统之间发送和接收消息。
Anthropic Claude Code 集成
将编码 Agent 的活动转换为 OCSF 安全遥测数据:命令、文件、工具以及批准者。
Apache Avro 集成
解码来自流、文件和消息代理的、由架构定义的 Apache Avro 二进制数据。
Apache Iceberg 集成
一种开放表格式,可在对象存储上构建数据湖仓,支持原子提交、隐藏分区和架构演进。
ArcSight 集成
OpenText ArcSight 是一个 SIEM 和日志管理生态系统。
AWS Glue 集成
将 Iceberg 表写入 AWS Glue Data Catalog,并通过 Athena 查询。
Azure Blob Storage 集成
大规模存储、检索和管理非结构化数据。
Azure Event Hubs 集成
实时数据流平台和事件摄取服务。
Azure Log Analytics 集成
使用 Tenzir 查询工作区数据并向 Azure Monitor Logs 发送事件。
Cisco 集成
连接 Cisco 安全产品组合:来自 ASA 和 Firepower 的防火墙及 IPS 事件、来自 Umbrella 的 DNS 层遥测数据,以及 Duo、Secure Email 和 Secure Endpoint。
ClickHouse 集成
将结构化事件发送到 ClickHouse 表。
Cloud Lakehouse 集成
将 Iceberg 表写入 Google 的 Apache Iceberg Lakehouse(原 BigLake),并通过 BigQuery 查询。
CrowdStrike 集成
提供实时事件数据,包括进程、文件和网络活动。
DuckDB 集成
使用嵌入式 DuckDB 引擎读取和写入 DuckDB 数据库文件。
Elasticsearch 集成
以分布式、可扩展的方式为数据编制索引、搜索和分析数据。
File 集成
读取和写入文件。
Fluent Bit 集成
从各种来源收集、处理日志和指标,并将其转发到众多目标。
FTP 集成
使用可靠的、基于连接的协议在客户端和服务端之间传输文件。
Google 集成
连接 Google Cloud、Google SecOps 和 Google Workspace:通过 Pub/Sub 进行流式传输,将数据存储在 Cloud Storage 中,读取 Cloud Logging,写入 Cloud Monitoring 指标,并将 UDM 事件发送到 SecOps。
Google Cloud Logging 集成
将事件发送到 Google 的日志管理解决方案
Google Cloud Monitoring 集成
将节点指标、仪表盘值、计数器和直方图作为用户定义指标发送到 Google Cloud Monitoring。
Google Cloud Pub/Sub 集成
在解耦的应用和服务之间发送、接收和处理消息。
Google Cloud Storage 集成
在可扩展的云环境中存储、检索和管理数据对象。
Google SecOps 集成
将事件发送到 Google SecOps
Graylog 集成
收集、编制索引并分析日志数据,以便进行监控和故障排查。
HTTP 集成
使用请求-响应协议在客户端和服务端之间传输和接收数据。
Hydrolix 集成
将安全遥测数据流式传输到 Hydrolix 表中,并查询这些数据。
IBM QRadar 集成
将安全事件发送到 IBM Security QRadar,以进行 SIEM 分析和事件调查。
Kafka 集成
在分布式消息系统中发布、订阅、存储和处理记录流。
Kunai 集成
使用 eBPF 监控 Linux 主机,并记录进程、文件和网络活动。
Microsoft 集成
连接 Azure、Microsoft 365 和 Windows:通过 Event Hubs 进行流式传输,将数据存储在 Blob Storage 中,将数据摄取到 Sentinel,并解析完整的 Windows 遥测数据。
Microsoft 365 / Office 365 集成
收集统一审核日志,记录 Exchange、SharePoint、Microsoft Entra ID、Teams 和其他 Microsoft 365 服务中的活动。
Microsoft Defender 集成
检测、防止并应对终结点和网络中的安全威胁。
Microsoft Graph 集成
Microsoft Graph 是 Microsoft 365、Microsoft Entra ID 和其他 Microsoft 云服务的统一 API。
Microsoft Sentinel 集成
为 Microsoft 的云原生 SIEM 准备并路由安全遥测数据。
Microsoft SQL Server 集成
提供数据库活动、登录和错误的审核日志。
Microsoft Windows Event Collector 集成
通过您选择的日志发送 Agent 接收来自 Windows Event Collector 的事件。
Microsoft Windows Event Forwarding 集成
充当 Windows Event Forwarding 的收集器,无需 Windows 服务端或日志发送 Agent。
Microsoft Windows Event Logs 集成
收集 Security、System、Application 和其他关键 OS 日志。
Microsoft Windows EVTX Files 集成
解析以二进制 EVTX 格式导出的 Windows 事件日志文件,用于取证分析。
MySQL 集成
使用 MySQL 线协议通过网络连接到 MySQL。
nano 集成
在 ClickHouse 上运行原生于数据湖的 SIEM,支持搜索、检测、案件处理和 AI 辅助分诊。
NATS 集成
NATS 是一种消息系统,适用于服务、边缘部署和云原生应用。
NetFlow 集成
收集并处理 NetFlow v5、NetFlow v9 和 IPFIX 流量遥测数据。
网络接口卡集成
从网络中采集数据包,并通过管道进行处理。
NXLog 集成
将 Windows 事件日志及其他遥测数据从 NXLog Agent 发送到 Tenzir。
OpenAI Codex 集成
将编码 Agent 活动转换为 OCSF 安全遥测数据:命令、文件、沙箱判定和模型流量。
OpenSearch 集成
使用分布式开源平台搜索、分析和可视化数据。
OpenTelemetry 集成
通过 OTLP/HTTP 或 OTLP/gRPC 接收 OpenTelemetry 日志、指标和追踪数据。
OpenWEC 集成
接收由开源 Linux Windows 事件收集器收集的 Windows 事件。
PowerShell 脚本块日志记录集成
捕获反混淆后的 PowerShell 命令,这对于检测无文件恶意软件和利用系统自带工具发动的攻击至关重要。
Prometheus 集成
将指标事件发送到兼容 Prometheus 的远程写入接收器,包括 Prometheus、Grafana Mimir、Cortex、Thanos Receive 和 VictoriaMetrics。
RELP 集成
接收 Syslog 消息,并支持应用层确认、重传和可选的 TLS。
rsyslog 集成
通过 RELP 确认、重试、队列和可选的双向 TLS 将 Syslog 转发到 Tenzir。
SentinelOne Data Lake 集成
将事件发送到 SentinelOne Singularity™ Data Lake
Sigma 集成
在流式事件上运行标准 Sigma 检测规则,并原生支持 OCSF。
Snowflake 集成
使用基于云的数据仓库存储、分析和共享结构化及半结构化数据。
Splunk 集成
收集、索引和分析机器生成的数据,用于监控、搜索和故障排查。
Suricata 集成
检测、记录和分析网络流量,用于入侵检测、防御和监控。
Syslog 集成
通过 UDP、TCP 和 RELP 发送和接收 Syslog。
Sysmon 集成
高级系统监视器,可记录详细的主机活动以用于威胁搜寻。
TCP 集成
在 IP 网络上建立、维持和终止可靠的面向连接通信。
UDP 集成
在 IP 网络上发送和接收轻量级、无连接的数据报。
Velociraptor 集成
收集、监控和分析端点数据,用于数字取证和事件响应。
Wazuh 集成
收集安全遥测数据并运行检测。
Winlogbeat 集成
将 Windows 事件日志从 Elastic 的 Winlogbeat Agent 发送到 Tenzir。
YARA 集成
直接在管道中使用 YARA-X 规则扫描文件和字节流。
Zeek 集成
检查、记录并分析网络流量,以获取安全和运营方面的洞察。
ZeroMQ 集成
通过各种传输协议异步发送、接收和路由消息。
Zscaler 集成
记录用户和位置的所有 Web、防火墙和 DNS 流量。