华为云用户手册

  • 查看企业项目 通道创建成功后,您可以在通道列表和通道基本信息页面查看通道关联的企业项目。用户只能查询到有访问权限的项目下的通道资源。 在通道管理页面的列表中,查看通道所属的企业项目。 图1 查看企业项目 在通道列表中,单击通道名称,进入通道“基本信息”页面,可以查看与通道关联的企业项目。单击企业项目的名称,可以跳转到企业管理的控制台页面对该企业项目进行查看或编辑。 图2 查看通道的企业项目 同时,在企业管理的控制台中,查询指定项目中的资源列表时,也可以查询到DIS服务的资源。
  • 自动创建委托 用户创建DIS通道,选择将数据转储到 对象存储服务 (Object Storage Service,简称OBS)、 MapReduce服务 MRS )集群、 数据仓库 服务(Data Warehouse Service,简称DWS)或 数据湖探索 (Data Lake Insight,简称 DLI )中,需要通过创建 IAM 委托授权DIS服务去访问用户的OBS、MRS、DWS或DLI资源。 使用账号首次进入界面添加转储任务时,系统会自动弹出创建委托界面。 单击 “同意授权”则平台会自动创建委托。 委托授权成功后,隶属于该账号下的IAM子用户也可添加转储任务。 父主题: 入门
  • 操作步骤 使用注册账户登录DIS控制台。 单击管理控制台左上角的,选择区域和项目。 在左侧列表栏中选择“通道管理”。 单击需要查看监控信息的通道名称。进入监控页面。 在“通道监控”页签内单击“查看更多指标详情”,系统跳转至 云监控服务 的监控指标页面。 在监控页面,可查看所有监控指标的小图。 图1 查看监控指标 单击小图右上角的,可进入大图模式查看。 可查看不同监控指标“近1小时”、“近3小时”、“近12小时”等周期的原始监控数据曲线图。您可以选择是否开启“自动刷新”功能, 云监控 服务提供了“60秒”自动刷新周期。
  • 调试通道 用户在创建通道成功后 ,可在界面进行简单的上传和下载操作,验证通道的可用性。 通道分区状态为ACTIVE(可用)时,同时支持上传和下载。 通道分区状态为DELETED(删除中)时,仅支持下载,不支持上传。 使用注册账户登录DIS控制台。 单击管理控制台左上角的,选择区域和项目。 在左侧列表栏中选择“通道管理”。 单击通道名称,进入所选通道的管理页面。 单击“通道调试”,选择对应分区后的上传或下载操作,进行数据的上传和下载。 图1 上传下载数据 单击“上传”,在上传文本框中输入上传内容后,确认上传。 系统提示上传数据成功,并在界面回显当前数据上传成功记录的序列号。 图2 上传数据 单击“下载”,选择游标类型并输入对应的序列号,确认完成。下载成功后,您可以文本形式获取响应体。 输入的序列号,需要在分区的数据有效范围内。分区的数据有效范围,可以通过调用describeStream(查询通道详情)接口获取,其sequenceNumberRange代表数据有效范围,第一个值为最老数据的sequenceNumber,最后一个值为下一条上传数据的sequenceNumber(最新数据的sequenceNumber为此值-1) 图3 下载数据 父主题: 管理通道
  • 示例流程 图1 IAM用户授权流程 创建用户组并授权 在IAM控制台创建用户组,并授予 数据接入服务 的通道管理权限“DIS Operator”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择“数据接入服务”,进入DIS主界面创建通道,若未提示权限不足,表示“DIS Operator”已生效。 在“服务列表”中选择除DIS服务外的任一服务,若提示权限不足,表示“DIS Operator”已生效。
  • 操作步骤 使用PuTTY工具远程登录Logstash所在服务器。 停止Logstash程序。 进入DIS Logstash Plugins插件所在的目录。 cd ${ LOG STASH_HOME} cd logstash-plugins 卸载DIS Logstash Plugin。 bash uninstall.sh –p ${LOGSTASH_HOME} 出现类似如下提示,表示卸载成功。 Uninstall dis-logstash-plugins successfully.
  • 验证DIS Logstash Output 使用PuTTY工具远程登录Logstash所在服务器。 启动Logstash程序。 bin/logstash -f local_to_dis.conf 其中 -f 为用户编写的配置文件路径。 检查DIS Logstash Output上传数据是否正常。 向Logstash的input端输入数据,如果Logstash没有报错数据可以正常上传到指向的通道,表示上传正常。 登录DIS控制台,等待2分钟后,查看表2中“streamName”配置的通道的监控。如果显示有数据上传(绿色线条),表示DIS Logstash Output运行成功。
  • 验证DIS Logstash Input 使用PuTTY工具远程登录Logstash所在服务器。 启动Logstash程序。 bin/logstash -f dis_to_local.conf 其中 -f 为用户编写的配置文件路径。 检查DIS Logstash Input下载数据是否正常。 向input指向的通道上传数据,如果Logstash没有报错且output端能正常获取到数据,表示下载正常。 登录DIS控制台,等待2分钟后,查看表1中“streams”配置的通道的监控。如果显示有数据下载(蓝色线条),表示DIS Logstash Input运行成功。
  • 操作步骤 使用PuTTY工具(或其他终端工具)远程登录Logstash服务器。 进入到Logstash的安装目录。 cd ${LOGSTASH_HOME} 上传“dis-logstash-plugins-X.X.X.zip”安装包到此目录下。 解压安装包。 unzip dis-logstash-plugins-X.X.X.zip 进入安装包解压后的目录。 cd logstash-plugins 运行安装程序,需要指定Logstash的安装目录。 bash install.sh –p ${LOGSTASH_HOME} 安装完成后,显示类似如下内容,表示安装成功。 Install dis-logstash-plugins successfully.
  • 安装logstash-input-dis 使用PuTTY工具(或其他终端工具)远程登录Logstash服务器。 进入到Logstash的安装目录。 cd ${LOGSTASH_HOME} 执行安装命令。 bin/logstash-plugin install logstash-input-dis 安装完成后,显示类似如下内容,表示安装成功。 Validating logstash-input-dis Installing logstash-input-dis Installation successful
  • 安装logstash-output-dis 使用PuTTY工具(或其他终端工具)远程登录Logstash服务器。 进入到Logstash的安装目录。 cd ${LOGSTASH_HOME} 执行安装命令。 bin/logstash-plugin install logstash-output-dis 安装完成后,显示类似如下内容,表示安装成功。 Validating logstash-output-dis Installing logstash-output-dis Installation successful
  • DIS Logstash Plugin概述 DIS Logstash Plugin是数据接入服务(DIS)为Logstash开发的插件,包含DIS Input与DIS Output。 DIS Input用于从DIS服务下载数据到Logstash。 DIS Output用于将Logstash中的数据上传到DIS服务。 DIS Logstash Plugin安装流程如图1所示。 图1 安装流程图 父主题: 使用DIS Logstash Plugin上传与下载数据
  • 源数据类型JSON/ CS V 表1 转储相关配置参数 参数 说明 取值 任务名称 用户创建转储任务时,需要指定转储任务名称,同一通道的转储任务名称不可重复。任务名称由英文字母、数字、中划线和下划线组成。长度为1~64个字符。 - DWS集群 存储该通道数据的DWS集群名称。 单击“选择”,在“选择DWS集群”窗口选择一个集群。 此配置项仅支持选择,不可手动输入。 - DWS数据库 存储该通道数据的DWS数据库名称。 手动输入,不可配置为空。 - 数据库模式 一个数据库包含一个或多个命名的模式,模式又包含表。模式还包含其他命名的对象,包括数据类型、函数,以及操作符。同一个对象名可以在不同的模式里使用而不会导致冲突。 - DWS数据表 存储该通道数据的DWS数据库模式下的数据表。 - 数据分隔符 用户数据的字段分隔符,根据此分隔符分隔用户数据插入DWS数据表的相应列。 取值范围:不可为空 - 偏移量 最新:最大偏移量,即获取最新的有效数据。 最早:最小偏移量,即读取最早的有效数据。 最新 数据转储周期 根据用户配置的时间,周期性的将数据导入目的地(OBS,MRS,DLI,DWS),若某个时间段内无数据,则此时间段不会生成打包文件。 取值范围:30~900。 单位:秒。 默认配置为300秒。 - 用户名 DWS集群的用户名。 - 密码 DWS集群的密码。 - KMS密钥 集群的数据库加密密钥。 - 数据临时桶 用户数据先临时存储在OBS桶中,再转储到指定的转储服务,转储完成后临时桶中的数据会被清除。 - 数据临时目录 需要转储的数据临时存储在OBS桶下此配置项配置的目录中,转储完成后临时目录中的数据会被清除。 配置为空时,数据直接存储在OBS桶内。 - 容错选项 通过单击或来关闭或开启容错选项开关。 fill_missing_fields 当数据导入时,若数据源文件中一行的最后一个字段缺失的处理方式。 取值范围:true/on,false/off。缺省值为false/off。 参数为true/on,当数据导入时,若数据源文件中一行数据的最后一个字段缺失,则把最后一个字段的值设置为NULL,不报错。 参数为false/off,如果最后一个字段缺失会显示如下错误信息。 ignore_extra_data 数据源文件中的字段比外表定义列数多时,是否忽略多出的列。该参数只在数据导入过程中使用。 取值范围:true/on,false/off。缺省值为false/off。 参数为true/on,若数据源文件比外表定义列数多,则忽略行尾多出来的列。 参数为false/off,若数据源文件比外表定义列数多,会显示如下错误信息。 说明: 如果行尾换行符丢失,使两行变成一行时,设置此参数为true将导致后一行数据被忽略掉。 compatible_illegal_chars 导入非法字符容错参数。此语法仅对READ ONLY的外表有效。 取值范围:true/on,false/off。缺省值为false/off。 参数为true/on,则导入时遇到非法字符进行容错处理,非法字符转换后入库,不报错,不中断导入。 参数为false/off,导入时遇到非法字符进行报错,中断导入。 须知: Windows平台下OBS若按照文本格式读取数据文件,遇到0x1A会作为EOF符号结束数据读入造成解析错误,这是Windows平台的实现约束。由于OBS不支持BINARY形式读取,可将相应数据文件交由Linux平台下的OBS读取。 说明: 导入非法字符容错规则如下: (1)对于'\0',容错后转换为空格; (2)对于其他非法字符,容错后转换为问号; (3)若compatible_illegal_chars为true/on标识导入时对于非法字符进行容错处理,则若NULL、DELIMITER、QUOTE、ESCAPE设置为空格或问号则会通过如"illegal chars conversion may confuse COPY escape 0x20"等报错信息提示用户修改可能引起混淆的参数以避免导入错误。 PER NODE REJECT LIMIT 'value' 指定本次数据导入过程中每个DN实例上允许出现的数据格式错误的数量,如果有一个DN实例上的错误数量大于设定值,本次导入失败,报错退出。 取值范围:整型值,unlimited(无限),缺省值为0,有错误信息立即返回。 说明: 此语法指定的是单个节点的错误容忍度。 数据格式错误是指缺少或者多出字段值,数据类型错误或者编码错误。对于非数据格式错误,一旦发生就将导致整个数据扫描失败。 -
  • 源数据类型JSON/CSV 表1 转储相关配置参数 参数 说明 取值 任务名称 用户创建转储任务时,需要指定转储任务名称,同一通道的转储任务名称不可重复。任务名称由英文字母、数字、中划线和下划线组成。长度为1~64个字符。 - DLI数据库 单击“选择”,在“选择DLI数据库”窗口选择一个数据库。 此配置项仅支持选择,不可手动输入。 - DLI数据表 单击“选择”,在“选择DLI数据表”窗口选择一个数据表。仅支持数据位置为DLI类型的数据表,且用户需具有该表的插入权限。 此配置项仅支持选择,不可手动输入。 配置此项必须已配置“DLI 数据库”。 偏移量 最新:最大偏移量,即获取最新的有效数据。 最早:最小偏移量,即读取最早的有效数据。 最新 数据转储周期 根据用户配置的时间,周期性的将数据导入目的地(OBS,MRS,DLI,DWS),若某个时间段内无数据,则此时间段不会生成打包文件。 取值范围:30~900。 单位:秒。 默认配置为300秒。 - 数据临时桶 用户数据先临时存储在OBS桶中,再转储到指定的转储服务,转储完成后临时桶中的数据会被清除。 - 数据临时目录 需要转储的数据临时存储在OBS桶下此配置项配置的目录中,转储完成后临时目录中的数据会被清除。 配置为空时,数据直接存储在OBS桶内。 -
  • 授权管理 通过添加授权策略,可实现被授权的其他用户拥有DIS通道的上传和下载权限。 使用注册账户登录DIS控制台。 单击管理控制台左上角的,选择区域和项目。 在左侧列表栏中选择“通道管理”。 单击通道名称,进入所选通道的管理页面。 选择“授权管理”,单击“添加授权策略”, 选择授权模式,再在“被授权用户”文本框中,设置用户信息。 支持通配符"*",表示授权所有账号; 支持添加多账号,用","隔开 支持授权某账号下的特定用户,输入账号名,单击"查询用户"按钮,选择用户。 图1 添加权限 父主题: 管理通道
  • 查看App 使用注册账户登录DIS控制台。 单击管理控制台左上角的,选择区域和项目。 在左侧列表栏中选择“通道管理”。 单击需要查看的通道名称,进入所选通道的管理页面。 单击“Apps”,可查看到接入该通道的所有App。 可查看接入该通道的App名称,ID和创建时间。 您也可通过单击“清空Checkpoints”,将App的所有Checkpoints清零。 Checkpoint,消费检查点。应用程序消费数据时,记录已消费数据的最新序列号作为检查点。当重新消费数据时,可根据此检查点继续消费。 图1 查看Apps 单击实际的App名称,可查看App对该通道数据的消费详情。 图2 查看App详情
  • 查看事件 介绍用户如何查找通道或转储任务发生的事件。 在“事件管理”页面中单击“事件”,默认显示当前所有通道或转储任务已发生的事件。 在事件列表右上方的下拉列表中通过选择不同的筛选条件搜索事件。可从事件级别和事件源两个维度进行筛选。 在下拉列表中选择“所有事件级别”、“正常”或“警告”。 在下拉列表中选择“事件源”,在输入框中输入通道或转储任务名称,例如“demo”。 单击,显示筛选后的事件查询结果。 单击“事件”右侧的,选择事件名称,例如“转储任务恢复”,可过滤对应的事件。 父主题: 事件通知
  • 支持的事件类别和事件 事件是租户通道状态发生变化的记录。它可以是由用户操作触发的(比如审计事件),也有可能是通道状态变化引起的(比如转储任务异常或转储任务恢复)。以下为当前DIS支持的事件和事件类别列表。 下表显示了事件源类型为通道的事件。 表1 事件源类型为通道的事件 事件源类型 事件级别 事件 通道 警告 流控受限 通道 警告 通道自动扩缩容成功 通道 警告 通道自动扩缩容失败 通道 警告 通道流量异常 通道 警告 通道流量恢复 下表显示了事件源类型为用户的事件。 表2 事件源类型为用户的事件 事件源类型 事件级别 事件 用户 警告 配额异常 下表显示了事件源类型为转储任务的事件。 表3 事件源类型为转储任务的事件 事件源类型 事件级别 事件 转储任务 正常 转储任务恢复 转储任务 警告 转储任务异常
  • 修改源数据Schema 已创建了源数据Schema的通道,若该通道下存在转储任务,则不允许修改已有的源数据Schema。 使用注册账户登录DIS控制台。 单击管理控制台左上角的,选择区域。 在左侧列表栏中选择通道管理。 单击通道名称。进入所选通道的管理页面。 单击“源数据类型”后的“查看已有源数据Schema”。 弹出源数据Schema文本框,单击,修改源数据Schema。 图6 修改源数据Schema 当通道中存在转储任务,修改源数据Schema可能导致通道内未转储完成的数据无法被成功转储。 修改完成后,单击“提交”,保存修改结果。单击“放弃”,不对源数据Schema进行修改。
  • 操作步骤 使用PuTTY工具远程登录Flume所在服务器。 停止Flume程序。 进入DIS Flume Plugin插件所在的目录。 cd ${FLUME_HOME} cd dis-flume-plugin 卸载DIS Flume Plugin。 dos2unix install.sh bash install.sh uninstall 出现类似如下提示,表示卸载成功。 Uninstall dis-flume-plugin successfully.
  • 验证DIS Source 使用PuTTY工具远程登录Flume所在服务器。 确认已配置好包含dis source的配置文件 可基于Flume自带的flume-conf.properties.template修改,文件样例如下所示: agent.sources = dissource agent.channels = memoryChannel agent.sinks = loggerSink # 定义 Source (使用dis source,从DIS读取数据) agent.sources.dissource.channels = memoryChannel agent.sources.dissource.type = com.cloud.dis.adapter.flume.source.DISSource agent.sources.dissource.streams = YOU_DIS_STREAM_NAME agent.sources.dissource.ak = YOU_AC CES S_KEY_ID agent.sources.dissource.sk = YOU_SECRET_KEY_ID agent.sources.dissource.region = YOU_Region agent.sources.dissource.projectId = YOU_PROJECT_ID agent.sources.dissource.endpoint = https://dis.${region}.cloud.com agent.sources.dissource.group.id = YOU_APP_NAME # 定义 Channel agent.channels.memoryChannel.type = memory agent.channels.memoryChannel.capacity = 10000 # 定义 Sink (使用logger sink,输出到控制台) agent.sinks.loggerSink.type = logger agent.sinks.loggerSink.channel = memoryChannel 启动Flume程序,启动命令请参考Apache Flume官网指导。 如果从Flume安装目录启动,示例命令如下所示: bin/flume-ng agent --conf-file conf/flume-conf.properties.template --name agent --conf conf/ -Dflume.root.logger=INFO,console 其中bin/flume-ng agent表示启动Flume Agent;--conf-file 为用户编写的配置文件路径; --name 为配置文件中agent的名称, --conf 为Flume自带的conf/路径 启动之后查看日志,若日志中有类似“source disSource started.”内容,表示DIS Source正常启动,其中“disSource”是用户配置的source名称。 检查DIS Source下载数据是否正常。 向source指向的通道上传数据,如果flume没有报错且sink端能正常获取到数据,表示下载正常。 如果使用步骤 2中示例的配置,则从DIS获取的数据会输出到控制台上,其内容显示为字节数组格式。 登录DIS控制台,等待2分钟后,查看表1中“streams”配置的通道的监控。如果显示有数据下载(蓝色线条),表示DIS Source运行成功。
  • 验证DIS Sink 使用PuTTY工具远程登录Flume所在服务器。 确认已配置好包含dis sink的配置文件 可基于Flume自带的flume-conf.properties.template修改,文件样例如下所示: agent.sources = exec agent.channels = memoryChannel agent.sinks = dissink # 定义 Source (使用exec source,监控/tmp/dis.txt文件) agent.sources.exec.type = exec agent.sources.exec.command = tail -F /tmp/dis.txt agent.sources.exec.shell = /bin/bash -c agent.sources.exec.channels = memoryChannel # 定义 Channel agent.channels.memoryChannel.type = memory agent.channels.memoryChannel.capacity = 10000 # 定义 Sink (使用dis sink,输出到dis通道) agent.sinks.dissink.channel = memoryChannel agent.sinks.dissink.type = com.cloud.dis.adapter.flume.sink.DISSink agent.sinks.dissink.streamName = YOU_DIS_STREAM_NAME agent.sinks.dissink.ak = YOU_ACCESS_KEY_ID agent.sinks.dissink.sk = YOU_SECRET_KEY_ID agent.sinks.dissink.region = YOU_Region agent.sinks.dissink.projectId = YOU_PROJECT_ID agent.sinks.dissink.endpoint = https://dis.${region}.myhuaweicloud.com agent.sinks.dissink.resultLogLevel = INFO 启动Flume程序,启动命令请参考Apache Flume官网指导。 如果从Flume安装目录启动,示例命令如下所示 bin/flume-ng agent --conf-file conf/flume-conf.properties.template --name agent --conf conf/ -Dflume.root.logger=INFO,console 其中bin/flume-ng agent表示启动Flume Agent;--conf-file 为用户编写的配置文件路径; --name 为配置文件中agent的名称, --conf 为Flume自带的conf/路径。 查看日志,若日志中有类似“Dis flume sink [dissink] start.”内容,表示DIS Sink正常启动,其中“dissink”是用户配置的sink名称。 检查DIS Sink上传数据是否正常。 向Flume的source端输入数据,在DIS Sink的resultLogLevel级别不为OFF且不低于log4j配置的值,查看日志输出类似如下结果,表示DIS Sink上传数据正常。 CurrentPut 5 events[success 5 / failed 0] spend 131 ms. 如果使用步骤 2中示例的配置,您可创建/tmp/dis.txt文件,并在此文件中追加内容。则启动Flume之后,追加的每行内容会被Flume读取并通过dis sink插件发动到DIS通道中。 登录DIS控制台,等待2分钟后,查看表2中“streamName”配置的通道的监控。如果显示有数据上传(绿色线条),表示DIS Sink运行成功。
  • 配置DIS Source 表1 DIS Source配置项说明 配置项 是否必填 说明 默认值 channels 是 Flume channel的名称。 请根据实际情况配置 type 是 Source的类型。 com.cloud.dis.adapter.flume.source.DISSource streams 是 指定在DIS服务上创建的通道名称。 与DIS控制台“购买接入通道”时配置的“通道名称”取值一致。 ak 是 用户的Access Key。 获取方式请参见检查认证信息。 请根据实际情况配置 sk 是 用户的Secret Key。 获取方式请参见检查认证信息。 请根据实际情况配置 region 是 将数据上传到指定Region的DIS服务。 请根据实际情况配置 projectId 是 用户所属区域的项目ID。 获取方式请参见检查认证信息。 请根据实际情况配置 endpoint 是 DIS对应Region的数据接口地址。 请根据实际情况配置 group.id 是 DIS App名称,用于标识一个消费组,由英文字符、数字、-、_组成。 请根据实际情况配置
  • 操作步骤 使用PuTTY工具(或其他终端工具)远程登录Flume服务器。 进入到Flume的安装目录。 cd ${FLUME_HOME} 上传“dis-flume-plugin-X.X.X.zip”安装包到此目录下。 解压安装包。 unzip dis-flume-plugin-X.X.X.zip 进入安装包解压后的目录。 cd dis-flume-plugin 运行安装程序。 bash install.sh DIS Flume Plugin安装在“${FLUME_HOME}/plugin.d/dis-flume-plugin”目录下,安装完成后,显示类似如下内容,表示安装成功。 Install dis-flume-plugin successfully.
  • DIS Flume Plugin概述 DIS Flume Plugin是数据接入服务(DIS)为Flume开发的插件,包含DIS Source与DIS Sink。 DIS Source用于从DIS服务下载数据到Flume Channel。 DIS Sink用于将Flume Channel中的数据上传到DIS服务。 DIS Flume Plugin安装流程如图1所示。 图1 DIS Flume Plugin安装流程 父主题: 使用DIS Flume Plugin上传与下载数据
  • 在Linux服务器上停止DIS Agent 使用PuTTY工具登录日志所在服务器。 进入DIS Agent安装目录。 cd /opt/dis-agent-X.X.X/ 停止DIS Agent。 bash bin/stop-dis-agent.sh 请确保使用bash执行脚本,否则使用sh、./ 等方式启动脚本,可能由于系统默认shell的差异导致启动失败。 显示类似如下内容,表示正在停止中。“xxxxx”表示进程ID。 Stopping Agent [xxxxx]..... 显示类似如下内容,表示Agent进程已停止。 Stopping Agent [xxxxx]............. Successfully. 强制停止Agent进程操作如下。 执行ps -ef | grep dis-agent | grep -v grep命令,获取Agent的进程标识(PID)。输出的第二个字段即为PID。 执行kill -9 PID命令,强制停止Agent进程。
  • Linux服务器上启动DIS Agent 使用PuTTY工具登录日志所在服务器。 进入DIS Agent安装目录。其中“x.x.x”表示版本号。 cd /opt/dis-agent-x.x.x/ 启动DIS Agent。 bash bin/start-dis-agent.sh 如果需要启动多个DIS Agent进程,则新启的Agent进程需要通过-c指定配置文件以及-n参数指定名称。 bash bin/start-dis-agent.sh -c config/anotherAgent.yml -n anotherAgent 请确保使用bash执行脚本,否则使用sh、./ 等方式启动脚本,可能由于系统默认shell的差异导致启动失败。 显示类似如下信息,表示Agent启动成功。 Success to start DIS Agent [xxxxx]. 如果启动出现java变量找不到的情况,执行source /etc/profile后重新启动Agent。
  • Windows服务器上启动DIS Agent 进入DIS Agent程序的bin目录,例如“C:\dis-agent-X.X.X\bin”。 双击“start-dis-agent.bat”,启动DIS Agent。 若控制台前几行中打印出如下日志表示启动成功。 [INFO ] (main) com.bigdata.dis.agent.Agent Agent: Startup completed in XXX ms.
  • Windows服务器上配置DIS Agent 使用文件管理器进入安装包解压后的目录,例如“C:\dis-agent-X.X.X”。 使用编辑器打开“agent.yml”文件,根据实际情况修改各配置项的值并保存。 “agent.yml”文件为linux格式,建议使用通用文本编辑器工具编辑文件。 关于日志文件的补充说明: 在dis-agent程序的安装路径下,logs目录中存放程序运行产生的日志文件,其中dis-agent.log文件记录程序运行状况,dis-agent-2022-10-28.log等带日期的log文件记录文件上传记录,每天生成一个日志文件。 为此,用户也可以在dis-agent程序安装路径下的conf文件夹修改log4j2.xml文件,自定义log文件的存放位置(如下图红框所示位置修改)。 图2 log4j2
  • Linux服务器上配置DIS Agent 使用PuTTY 工具登录日志所在服务器。 执行cd /opt/dis-agent-X.X.X/命令,进入“dis-agent-X.X.X”文件夹。 执行vim conf/agent.yml命令,打开DIS Agent配置文件“agent.yml”,根据实际情况修改各配置项的值并保存,配置项说明请参见表1。 表1 agent.yml配置文件说明 配置项 是否必填 说明 默认值 region 是 DIS服务所在区域。 说明: 获取DIS区域请参见终端节点及区域说明。 cn-north-1 AK 是 用户的Access Key。 说明: 支持用户自己加密AK以保证安全,也可以使用明文的AK,如若需要对AK加密,请查看表格下关于AK/SK加密的使用说明。 获取方式请参见检查认证信息。 请根据实际情况配置 SK 是 用户的Secret Key。 说明: 支持用户自己加密SK以保证安全,也可以使用明文的SK,如若需要对SK加密,请查看表格下关于AK/SK加密的使用说明。 获取方式请参见检查认证信息。 请根据实际情况配置 encrypt.key 否 用户加密时使用key值。 说明: 如果用户需要使用加密的AK或者SK,则必须配置该参数(自己在agent.yml文件中添加),请务必保证加密时使用的key值和此处写的encrypt.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”的样例。 关于AK/SK加密的使用说明: 参照安装DIS Agent下载安装dis-agent,利用dis-agent包中bin目录下的脚本对AK和SK进行加密,按照如下所示步骤进行操作(windows环境下): 进入到dis-agent的bin目录中,右键git bash here运行脚本,示例: ./dis-encrypt.sh {key} {ak},即可得到加密后的AK,将其配置在“agent.yml“配置文件中,SK同理。 按上述操作将AK和SK加密之后,将加密后的AK/SK,key全部配置到"agent.yml”即可。 图1 加密示例 表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
共100000条