通过Vector导入数据
通过Vector将外部系统中数据导入鸿鹄。
通过Vector导入数据说明
炎凰数据平台内置了名为system_default_vector_input的数据源供外部Vector导入数据使用。
配置可导入数据集范围
默认情况下,内置的system_default_vector_input数据源无法导入任何数据。
用户需要点击编辑按钮,添加允许导入的数据集范围,保存后外部Vector数据方可导入数据到数据集范围内的任意数据集里面。

数据集范围可以选择多个允许导入的数据集,作为白名单。也可以新建数据集,同时添加到白名单中。
设置并下载 Vector 的配置文件
配置完数据集范围后,点击system_default_vector_input条目的下载配置模板按钮。
在弹出的模态框中,选择需要导入的数据集及数据源类型,并下载Vector配置文件模板。

将下载模板文件中$vector_source_config$替换为实际Vector数据源配置。
安装 Vector 采集器:
需要在待采集数据的终端设备上,安装 Vector 数据采集器。 使用安装脚本自动检测并安装相应的 Vector 版本。更多安装说明参见Vector安装。
curl --proto '=https' --tlsv1.2 -sSf https://sh.vector.dev | bash
Vector 的 sources 根据不同数据源类型,选用数据源相应的插件进行配置。transforms中使用remap,配置炎凰数据平台需要的参数和字段。最后在sinks中,将发送数据到炎凰数据平台的数据源。
更多的 Vector 配置文档,可以参考 Vector 官方文档。
以下以监控服务器上的accesslog文件为例,对各个参数的设置进行说明。
- 创建如下的 Vector 配置 TOML 文件。
[sources.demo_access_log]
type = "file"
include = [ "/var/log/access.log" ]
read_from = "beginning"
host_key = "_host"
file_key = "_source"
data_dir = "/var/vector/"
[transforms.transform_fields]
inputs = ["demo_access_log"]
type = "remap"
source = '''
._datatype = "nginx.access_log"
._target_table = "test_nginx"
'''
[sinks.honghu]
type = "vector"
inputs = [ "transform_fields" ]
address = "<Honghu Server IP>:20000"
version = "2"
sources中使用file监听位于/var/log/access.log的 Nginx 服务器的 access log 文件。- 设置炎凰数据平台的元字段,
_source为文件路径名,_host为文件所在主机名
- 设置炎凰数据平台的元字段,
transforms中配置导入炎凰数据平台的元字段信息- 设置
_datatype字段为nginx.access_log,标记数据类型为 Nginx Access Log 格式。保证在查询的时候,日志的字段能够被正确解析提取。 - 设置
_target_table字段为test_nginx,作为数据导入的目标数据集
- 设置
sinks中使用vector,将数据发送到炎凰数据平台中创建的数据源address为炎凰数据平台服务端地址和数据源创建时配置的端口version必须设置为 2
使用vector导入数据时,对于使用数据源类型进行字段抽取,有一定限制:
- 自定义ingestion time数据源类型:暂不支持自定义ingestion time数据源类型的字段抽取,因此配置的
ingestion_time_extraction、ingestion_time_field_names数据源类型属性,在通过vector导入数据时无法生效。 - csv数据源类型:暂不支持对csv数据源类型的字段抽取,对于导入的数据指定
_datatype为csv将无法生效。 - 多行文本合并: 暂不支持导入时做多行文本合并,对于导入的数据,配置的
firstline_format数据源类型属性将无法生效。 - 丢弃
_message字段: 暂不支持导入时对_message字段做丢弃处理,对于导入的数据,配置的discard_raw_message数据源类型属性将无法生效。