文档首页 > > 用户指南> 使用DIS> 使用Agent上传数据> 配置DIS Agent

配置DIS Agent

分享
更新时间: 2019/11/28 GMT+08:00

Linux服务器上配置DIS Agent

  1. 使用PuTTY 工具登录日志所在服务器。
  2. 执行cd /opt/dis-agent-X.X.X/命令,进入“dis-agent-X.X.X”文件夹。
  3. 执行vim conf/agent.yml命令,打开DIS Agent配置文件“agent.yml”,根据实际情况修改各配置项的值并保存,配置项说明请参见表1

Windows服务器上配置DIS Agent

  1. 使用文件管理器进入安装包解压后的目录,例如“C:\dis-agent-X.X.X”。
  2. 使用编辑器打开“agent.yml”文件,根据实际情况修改各配置项的值并保存,配置项说明请参见表1

    “agent.yml”文件为linux格式,建议使用“Notepad++”工具编辑文件。

配置文件说明

DIS Agent配置文件格式为“YAML”,各配置项与值之间必须以英文格式的“冒号+空格”形式分隔。具体配置项说明请参见表1

配置完成之后,请将agent.yml中flows下面无用的示例配置删除或者使用#注释(比如只配置了一个DISStream,则将下面的CustomFileStream与另外的DISStream模块删除或者注释)。

表1 agent.yml配置文件说明

配置项

是否必填

说明

默认值

region

DIS服务所在区域。

说明:

获取DIS区域请参见终端节点及区域说明

cn-north-1

ak

用户的Access Key。

获取方式请参见检查认证信息

请根据实际情况配置

sk

用户的Secret Key。

获取方式请参见检查认证信息

请根据实际情况配置

projectId

用户所属区域的项目ID。

获取方式请参见检查认证信息

请根据实际情况配置

endpoint

DIS数据网关地址。

格式:https://DIS终端节点。

说明:

获取DIS终端节点请参见终端节点及区域说明

https://dis.cn-north-1.myhuaweicloud.com

body.serialize.type

DIS数据包上传格式。(非原始数据格式)
  • json:DIS数据包封装为json格式,满足普通使用。
  • protobuf:DIS数据包封装为二进制格式,可以减少体积约1/3,在数据量较大的情况下推荐使用此格式。

json

body.compress.enabled

是否开启传输数据压缩。

false

body.compress.type

开启压缩时选择的数据压缩格式,目前支持的压缩格式如下:

lz4:综合来看效率最高的压缩算法,更加侧重压缩解压速度,压缩比并不是第一。

zstd:一种新的无损压缩算法,旨在提供快速压缩,并实现高压缩比。

lz4

PROXY_HOST

配置代理IP,请求走代理服务器的需要配置。

请根据实际情况配置

PROXY_PORT

配置代理端口。

80

PROXY_PROTOCOL

配置代理协议。支持http和https。

http

PROXY_USERNAME

配置代理用户名。

请根据实际情况配置

PROXY_PASSWORD

配置代理密码。

请根据实际情况配置

[flows]

监控的文件信息,可同时配置多个监控文件信息。

当前支持如下模式上传:

DISStream:持续监控文本文件,实时收集增量数据按分隔符解析并上传到DIS通道(通道源数据类型为BLOB/JSON/CSV),配置项说明请参见表2

具体配置格式可以参见版本包中的“agent.yml”的样例。

表2 DISStream配置项说明

配置项

是否必填

说明

默认值

DISStream

DIS 通道名称。

“filePattern”所匹配到的文件内容按分隔符解析并上传到此通道。

请根据实际情况配置

filePattern

文件监控路径,只能监控一个目录下的文件,无法递归目录监控。

如果要监控多个目录,可以在flows下面配置多个 “DISStream”,文件名可使用“*”进行匹配。
  • “/tmp/*.log”表示匹配“/tmp”目录下所有以“.log”结尾的文件。
  • “/tmp/access-*.log”表示匹配“/tmp”目录下所有以“access-”开头,以“.log”结尾的文件。
  • Windows上路径范例为“D:\logs\*.log”

请根据实际情况配置

directoryRecursionEnabled

是否查找子目录

  • false:不递归查找子目录,只匹配根目录下的文件
  • true: 递归查找所有子目录。如filePattern配置为/tmp/*.log,此时可以匹配到/tmp/one.log,/tmp/child/two.log,/tmp/child/child/three.log

false

initialPosition

监控起始位置。

  • END_OF_FILE:开始启动时不解析当前匹配的文件,而是从新增文件或新增的内容开始按分隔符解析并上传。
  • START_OF_FILE:将“filePattern”配置的所有匹配文件按照修改时间,从旧到新按分隔符解析并上传到DIS服务。

START_OF_FILE

maxBufferAgeMillis

最长上传等待时间。

单位:毫秒

  • 记录队列满则立即上传。
  • 记录队列未满,等待此配置项配置的时间后上传到DIS服务。

5000

maxBufferSizeRecords

记录队列缓存的最大记录数,如果队列达到此值则立刻上传这批数据。

500

partitionKeyOption

每条记录会携带一个PartitionKey,相同PartitionKey的记录会分配到同一个分区。此配置项可设置每条记录的PartitionKey值,取值如下:
  • RANDOM_INT:PartitionKey的值为随机数字的字符串,记录均匀分布在每个分区。
  • FILE_NAME:PartitionKey的值为文件名称字符串,记录分布在特定的一个分区中。
  • FILE_NAME,RANDOM_INT:PartitionKey的值为文件名称字符串与随机数字字符串的组合体,以英文逗号分隔,记录携带所属的文件名并均匀分布在所有分区。

RANDOM_INT

recordDelimiter

每条记录之间的分隔符。

取值范围:任意一个字符,且包含在双引号内。

取值不可为空,即该配置项不可配置为“”。

说明:

如果取值为特殊字符,使用反斜杠(\)转义,如分隔符为引号("),可配置为"\"",如果为反斜杠(\),可配置为"\\"。

如果为控制字符如STX(正文开始),可配置为"\u0002"。

"\n"

isRemainRecordDelimiter

上传记录时,是否携带分隔符。
  • true:携带分隔符。
  • false:不携带分隔符。

false

isFileAppendable

文件是否有追加内容的可能。

  • true:文件可能会追加内容。Agent持续监控文件,若文件追加了内容则根据recordDelimiter解析后上传记录。此时要保证文件以recordDelimiter结尾,否则Agent会认为文件追加未完成,继续等待recordDelimiter写入。
  • false:文件不会追加内容。文件最后一行不以recordDelimiter结尾,Agent仍会当做最后一条记录上传,上传完成后根据“deletePolicy”“fileSuffix”的配置执行文件删除或重命名操作。

true

maxFileCheckingMillis

最长文件变动检查时间,如果文件在此时间内“大小”、“修改时间”和“文件ID”都没有变化,则认为文件已经完成并开始上传。

请根据实际文件变动的频率配置此值,避免文件未完成已开始上传的情况。

若文件上传后有变动,则会重新全量上传。

单位:毫秒

说明:

“isFileAppendable”配置为“false”时该配置项生效。

5000

deletePolicy

文件内容上传完成之后的删除策略。
  • never:文件内容上传完毕后不删除文件。
  • immediate:文件内容上传完毕后删除文件 。
    说明:

    “isFileAppendable”配置为“false”时该配置项生效。

never

fileSuffix

文件内容上传完成之后添加的文件名后缀。

例如:原文件名为“x.txt”“fileSuffix”配置为“.COMPLETED”,则文件上传后的命名为“x.txt.COMPLETED”

说明:

“isFileAppendable”配置为“false”,同时“deletePolicy”配置为“never”,该配置项生效。

.COMPLETED

sendingThreadSize

发送线程数。默认单线程发送。

须知:

使用多线程会导致如下问题:

  • 数据发送不保证顺序。
  • 程序异常停止并重新启动时会丢失部分数据。

1

fileEncoding

文件编码格式,支持UTF8, GBK, GB2312, ISO-8859-1等

UTF8

resultLogLevel

每次调用DIS数据发送接口后的结果日志级别。

  • OFF:日志中不输出每次接口调用的结果。
  • INFO:每次接口调用的结果以INFO级别输出到日志。
  • WARN:每次接口调用的结果以WARN级别输出到日志。
  • ERROR:每次接口调用的结果以ERROR级别输出到日志。

INFO

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区