5.2 使用 Agent 上传数据
5.2.4 配置 DIS Agent
DIS Agent配置文件格式为“YAML”,各配置项与值之间必须以英文格式的“冒号+空 格”形式分隔。
agent.yml文件模板可从“dis-agent”压缩包中获取,内容示例如下。具体配置项说明 请参见表5-1。
---# cloud region id region: cn-north-1
# you ak (get from 'My Credential') ak: YOU_AK
# you sk (get from 'My Credential') sk: YOU_SK
# you project id (get from 'My Credential') projectId: YOU_PROJECTID
# the dis endpoint
endpoint: https://dis.cn-north-1.myhuaweicloud.com
# config each flow to monitor file.
flows:
### DIS Stream
- DISStream: YOU_DIS_STREAM_1
## only support specified directory, filename can use * to match some files. eg. * means match all file, test*.log means match test1.log or test-12.log and so on.
filePattern: /tmp/*.log
## from where to start: 'START_OF_FILE' or 'END_OF_FILE' initialPosition: START_OF_FILE
## upload max interval(ms) maxBufferAgeMillis: 5000
### If there are other monitor files, continue to follow the above configuration ### another dis stream monitor config, uncomment # if you want to use this feature #- DISStream: YOU_DIS_STREAM_2
# filePattern: /opt/*.log # initialPosition: START_OF_FILE # maxBufferAgeMillis: 5000
### OBS Stream: Upload the matching file to OBS and send the file name to DIS, uncomment # if you
want to use this feature
#- OBSStream: YOU_DIS_STREAM_3 # filePattern: /opt/*.log
# initialPosition: START_OF_FILE # ## bucket name
# OBSBucket: YOU_OBS_BUCKET_NAME # ## OBS endpoint
# OBSEndpoint: https://obs.cn-north-1.myhuaweicloud.com
# ## the directory(using / separated) where the files are stored under the bucket, automatically created if it does not exist
# dumpDirectory: example/dis/
说明
配置完成之后,请将agent.yml中flows下面无用的示例配置删除或者使用#注释(比如只配置了 一个DISStream,则将下面的CustomFileStream与另外的DISStream模块删除或者注释)。
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”,根据实际情 况修改各配置项的值并保存,配置项说明请参见表5-1。
表5-1 agent.yml 配置文件说明
配置项 是否
必填
说明 默认值
region 是 DIS服务所在区域。
说明获取DIS区域请参见终端节点及
projectId 是 用户所属区域的项目ID。
获取方式请参见检查认证信 息。
请根据实际情况配置
endpoint 是 DIS数据网关地址。
格式:https://DIS终端节点。
说明获取DIS终端节点请参见终端节 点及区域说明。
https://dis.cn-north-1.myhuaweicloud.com
配置项 是否 必填
说明 默认值
body.seriali
ze.type 否 DIS数据包上传格式。(非原 始数据格式)
● json:DIS数据包封装为 json格式,满足普通使用。
● protobuf:DIS数据包封装 为二进制格式,可以减少
OTOCOL 否 配置代理协议。支持http和
https。 http
PROXY_US
表5-2 DISStream 配置项说明
配置项 是否必填 说明 默认值
DISStream 是 DIS 通道名称。
将“filePattern”所匹配到的文件内容按分 隔符解析并上传到此通道。
请根据实 际情况配 置 filePattern 是 文件监控路径,只能监控一个目录下的文
件,无法递归目录监控。
如果要监控多个目录,可以在flows下面配 置多个“DISStream”,文件名可使用
“*”进行匹配。
● “/tmp/*.log”表示匹配“/tmp”目录 下所有以“.log”结尾的文件。
● “/tmp/access-*.log”表示匹配“/
tmp”目录下所有以“access-”开头,
以“.log”结尾的文件。
● Windows上路径范例为“D:\logs
\*.log”。
● END_OF_FILE:开始启动时不解析当前 匹配的文件,而是从新增文件或新增的 内容开始按分隔符解析并上传。
● START_OF_FILE:将“filePattern”配 置的所有匹配文件按照修改时间,从旧 到新按分隔符解析并上传到DIS服务。
START_O F_FILE
maxBuffer
AgeMillis 否 最长上传等待时间。
单位:毫秒
配置项 是否必填 说明 默认值 partitionK
eyOption 否 每条记录会携带一个PartitionKey,相同 PartitionKey的记录会分配到同一个分区。
此配置项可设置每条记录的PartitionKey 值,取值如下:
● RANDOM_INT:PartitionKey的值为随 机数字的字符串,记录均匀分布在每个 分区。
● FILE_NAME:PartitionKey的值为文件 名称字符串,记录分布在特定的一个分 区中。
● FILE_NAME,RANDOM_INT:
PartitionKey的值为文件名称字符串与随
● true:文件可能会追加内容。Agent持 续监控文件,若文件追加了内容则根据
配置项 是否必填 说明 默认值
说明“isFileAppendable”配置为“false”时该配置 项生效。
● immediate:文件内容上传完毕后删除 文件 。
说明“isFileAppendable”配置为“false”时该 配置项生效。
never
fileSuffix 否 文件内容上传完成之后添加的文件名后 缀。
例如:原文件名为“x.txt”,“fileSuffix”
配置为“.COMPLETED”,则文件上传后 的命名为“x.txt.COMPLETED”。
说明“isFileAppendable”配置为“false”,同时
“deletePolicy”配置为“never”,该配置项生
ISO-8859-1等 UTF8
配置项 是否必填 说明 默认值 resultLogL
evel 否 每次调用DIS数据发送接口后的结果日志级 别。
● OFF:日志中不输出每次接口调用的结 果。
● INFO:每次接口调用的结果以INFO级 别输出到日志。
● WARN:每次接口调用的结果以WARN 级别输出到日志。
● ERROR:每次接口调用的结果以ERROR 级别输出到日志。
INFO
----结束
Windows 服务器上配置 DIS Agent
步骤1 使用文件管理器进入安装包解压后的目录,例如“C:\dis-agent-X.X.X”。
步骤2 使用编辑器打开“agent.yml”文件,根据实际情况修改各配置项的值并保存。
说明
“agent.yml”文件为linux格式,建议使用通用文本编辑器工具编辑文件。
----结束