云服务器内容精选

  • 注册Kafka实例 如果选择Kafka实例未注册,单击“注册”,跳转到注册Kafka实例页面。 注册Kafka实例相关参数说明。 表2 参数说明 参数名称 说明 示例 Kafka实例 dms实例名称。 Kafka-01 打通DMS网络 打通Kafka实例和LTS服务的网络,用户LTS服务通过该网络发送转储数据。 - 用户名 如果Kafka实例开启了sasl认证,需要输入sasl认证的用户名。 DMS 密码 如果Kafka实例开启了sasl认证,需要输入sasl认证的密码。 - 单击“确定”,完成注册Kafka实例。
  • 前提条件 Linux系统的主机。 查询API相关接口文档。 通过查询日志转储API获取到所有转储任务的信息。 通过更新日志转储API将转储任务配置的时区修改。 在 API Explorer 中测试API功能,API Explorer提供API检索及平台调试能力。 参考API Explorer示例代码,在主机上安装Python SDK。 Python的SDK依赖包地址以及SDK使用说明。 pip install huaweicloudsdklts API Explore提供Python调用API的示例代码,以下示例仅供参考: # coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdklts.v2.region.lts_region import LtsRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdklts.v2 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment /* 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险, 建议在配置文件或者环境变量中密文存放, 使用时解密, 确保安全; ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] credentials = BasicCredentials(ak, sk) client = LtsClient.new_builder() \ .with_credentials(credentials) \ .with_region(LtsRegion.value_of("xx")) \ .build() try: request = ListTransfersRequest() response = client.list_transfers(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
  • 日志转储至DWS 登录 云日志 服务控制台,在左侧导航栏中选择“日志转储 ”。 在“日志转储”页面中,单击右上角“配置转储”。 在“配置转储”页面中,选择转储对象“DWS集群”,并配置各参数信息。 表1 配置转储参数说明 参数名称 说明 示例 是否开启转储 选择是否开启转储。 开启 转储对象 选择转储的云服务。 DWS集群 日志组名称 选择已创建的日志组。 - 企业项目 选择已创建的企业项目。 如果当前账号未开通企业项目则不显示该参数。 如果当前账号已开通企业项目,则存在以下情况: 当转储当前账号日志时,下拉框显示当前账号的全部企业项目。 当转储其他账号日志时,若委托账号未开通企业项目,则默认显示“default”。 当转储其他账号日志时,若委托账号已开通企业项目,则显示委托账号的全部企业项目。 default 日志流名称 选择已创建的日志流。 说明: 已配置过DWS集群转储的日志流不能重复配置。 - 集群名称 已创建的集群名称。 test 数据库名称 集群的数据库名称。有两种数据库,分别是“gaussdb”和“postgres”。默认集群数据库为“gaussdb”。 gaussdb 用户名 数据库的管理员用户名。 lts-test 密码 数据库的管理员密码。 - schema名称 数据库对象的集合名称。 - 表名 schema中的表名称。 - 字段映射 将内置字段以及日志中配置的结构化字段和类型,映射到数据库字段。 说明: 内置字段有13个,分别是hostIP、 hostId、hostName、pathFile、collectTime、clusterName、clusterId、 podName、containerName、regionName、projectId、logGroupName和logStreamName。 当结构化字段类型和数据库表字段类型一致时,支持将日志的结构化字段转储至 数据仓库 服务 GaussDB (DWS),否则转储无效。 在结构化字段和表字段的下拉框,选择您需要转储的字段。 单击操作列下的,删除不需要的转储字段。 单击,添加需要转储的字段。 hostIP 完成后单击“确定”。
  • LTS日志转储状态显示异常是什么原因? 在 云日志服务LTS 控制台的“日志转储”页面,日志转储任务的状态显示异常,有可能是如下原因引起: 可能原因:OBS桶策略异常。 解决方法:请您在 对象存储服务 中设置访问控制策略。详细请参考配置桶策略。 可能原因:Kafka集群被删除。 解决方法:请您重新创建Kafka转储配置,详细请参考日志转储至DMS。 可能原因:Kafka的topic被删除。 解决方法:请您重新创建或指定Kafka的topic,详细请参考日志转储至DMS。 父主题: 日志转储
  • 方法2:配置定时任务 登录 DataArts Studio 服务控制台,确保已创建SQ L实例 。 选择实例,单击进入控制台。 在概览页签,单击工作空间下方的数据开发,进入数据开发详情页面。 在作业开发页面,单击新建作业,按照提示填写参数后,单击“确定”。详细操作请参考新建作业。 在已创建成功的作业页面,将 DLI SQL拖动到空白区域。 在空白区域,单击DLI SQL图标,在DLI SQL页面,填写SQL语句“MSCK REPAIR TABLE table_name”,table_name为有分区表的表名称,数据库名称和队列名称选择用户配置转储DLI创建的数据库和队列。 更多DLI SQL属性信息请参考开发SQL脚本。 设置完成DLI SQL属性后,单击空白处,单击“调度配置”,设置定时操作时间,详细操作请参考调度作业。 设置完成后,先单击提交版本,然后单击,作业执行调度触发成功。
  • 日志转储后,LTS会删除转储的日志内容吗? 日志转储功能只能转发已有日志,不会删除日志内容。云日志服务LTS会根据用户配置的日志存储时间定时清理日志文件,不会影响转储后的日志。 在云日志服务LTS控制台,日志转储是把日志“另存”一份保存至OBS服务,转储成功后,单击“转储对象”列的OBS桶名称,可以跳转至OBS控制台,查看转储的日志文件。 选择转储到DIS服务、DMS服务、DWS服务、DLI服务也是一样的操作。 父主题: 日志转储
  • 响应示例 状态码: 200 删除转储请求响应成功。 { "log_group_id" : "9a7e2183-2d6d-4732-9a9b-e897fd4e49e0", "log_group_name" : "lts-group-kafka", "log_streams" : [ { "log_stream_id" : "839dac89-35af-4db2-ab4a-a7dda0d0d3f8", "log_stream_name" : "lts-topic-kafka" } ], "log_transfer_id" : "ddced522-233a-4181-a5fc-7b458c819afc", "log_transfer_info" : { "log_create_time" : 1634802241847, "log_storage_format" : "JSON", "log_agency_transfer" : { "agency_domain_id" : "1d26cc8c86a840e28a4f8d0d078xxxxx", "agency_domain_name" : "paas_apm_z004xxxxx_xx", "agency_name" : "test20210325", "agency_project_id" : "2a473356cca5487f8373be891bfxxxxx", "be_agency_domain_id" : "1d26cc8c86a840e28a4f8d0d078xxxxx", "be_agency_project_id" : "2a473356cca5487f8373be891bfxxxxx" }, "log_transfer_detail" : { "obs_period" : 2, "obs_prefix_name" : "", "obs_period_unit" : "min", "obs_transfer_path" : "/0002/LogTanks/xxx/", "obs_bucket_name" : "0002", "obs_encrypted_enable" : false, "obs_dir_pre_fix_name" : "", "obs_time_zone" : "UTC+01:00", "obs_time_zone_id" : "Africa/Lagos", "dis_id" : "xxxxx", "dis_name" : "xxxxxx", "kafka_id" : "xxxxxx", "kafka_topic" : "xxxxx" }, "log_transfer_mode" : "cycle", "log_transfer_status" : "ENABLE", "log_transfer_type" : "OBS" } } 状态码: 400 BadRequest 非法请求 建议根据error_msg直接修改该请求。 { "error_code" : "LTS.0405", "error_msg" : "The log transfer does not existed" } 状态码: 500 表明服务端能被请求访问到,但是服务内部出错。 { "error_code" : "LTS.0010", "error_msg" : "The system encountered an internal error" }
  • URI DELETE /v2/{project_id}/transfers 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,账号ID,日志组ID、日志流ID,获取方式请参见:获取项目ID,获取账号ID,日志组ID、日志流ID 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 log_transfer_id 是 String 日志转储ID。获取ID有3种方式: 1. 调用查询日志转储接口,返回值有日志转储ID 2. 调用新增日志转储接口,返回值有日志转储ID 最小长度:36 最大长度:36
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 log_group_id String 日志组ID 最小长度:36 最大长度:36 log_group_name String 日志组名称 最小长度:1 最大长度:64 log_streams Array of log_streams objects 日志流集合 log_transfer_id String 日志转储ID 最小长度:36 最大长度:36 log_transfer_info log_transfer_info_RespBody object 日志转储信息 表5 log_streams 参数 参数类型 描述 log_stream_id String 日志流ID 最小长度:36 最大长度:36 log_stream_name String 日志流名称 最小长度:1 最大长度:64 表6 log_transfer_info_RespBody 参数 参数类型 描述 log_agency_transfer log_agency_transfer object 委托转储信息。若转储为委托转储,则会返回该参数 log_create_time Integer 日志转储创建时间 最小值:0 最大值:2147483647 log_storage_format String 日志转储格式。只支持"RAW", "JSON"。RAW是指原始日志格式,JSON是指JSON日志格式。OBS转储和DIS转储支持JSON和RAW,DMS转储仅支持RAW 枚举值: JSON RAW log_transfer_detail TransferDetail object 日志转储详细信息 log_transfer_mode String 日志转储方式。cycle是指周期性转储,realTime是指实时转储。OBS转储只支持"cycle",DIS转储和DMS转储只支持"realTime"。 枚举值: cycle realTime log_transfer_status String 日志转储状态,ENABLE是指日志转储开启状态,DISABLE是指日志转储关闭状态,EXCEPTION是指日志转储异常状态 枚举值: ENABLE DISABLE EXCEPTION log_transfer_type String 日志转储类型。OBS指OBS日志转储,DIS指DIS日志转储,DMS指DMS日志转储。 枚举值: OBS DIS DMS 表7 log_agency_transfer 参数 参数类型 描述 agency_domain_id String 委托方账号ID 最小长度:1 最大长度:128 agency_domain_name String 委托方账号名称 最小长度:1 最大长度:128 agency_name String 委托方配置的委托名称 最小长度:1 最大长度:128 agency_project_id String 委托方项目ID 最小长度:32 最大长度:32 be_agency_domain_id String 被委托方账号ID,实际配置转储的账号ID 最小长度:1 最大长度:128 be_agency_project_id String 被委托方项目ID,实际配置转储的账号的项目ID 最小长度:32 最大长度:32 表8 TransferDetail 参数 参数类型 描述 obs_period Integer OBS转储时间。当创建OBS转储时,必填此参数。与obs_period_unit组合,即"obs_period"+"obs_period_unit",必须是"2min", "5min", "30min", "1hour", "3hour", "6hour","12hour"。 枚举值: 1 2 3 5 6 12 30 obs_period_unit String OBS转储单位。当创建OBS转储时,必填此参数。与obs_period_unit组合,即"obs_period"+"obs_period_unit",必须是"2min", "5min", "30min", "1hour", "3hour", "6hour","12hour"。 枚举值: “min” “hour” obs_bucket_name String OBS日志桶名称。当创建OBS转储时,必填此参数。 最小长度:3 最大长度:63 最小长度:3 最大长度:63 obs_encrypted_id String OBS转储KMS秘钥ID。根据OBS转储日志桶是否加密判断,若OBS转储日志桶加密则必须填写该参数,若OBS转储日志桶则不需要此参数。 最小长度:36 最大长度:36 最小长度:36 最大长度:36 obs_dir_pre_fix_name String OBS转储自定义转储路径。当创建OBS转储时,根据需要选填此参数。 正则约束: ^(/)?([a-zA-Z0-9.-]+)(/[a-zA-Z0-9.-]+)*(/)?$ 最小长度:1 最大长度:64 最小长度:1 最大长度:64 obs_prefix_name String OBS转储日志文件前缀。当创建OBS转储时,根据需要选填此参数。 正则约束: ^[a-zA-Z0-9._-]*$ 最小长度:1 最大长度:64 最小长度:1 最大长度:64 obs_time_zone String OBS转储时区(https://support.huaweicloud.com/api-lts/lts_api_0111.html)。如果选择该参数,则必须选择obs_time_zone_id。 obs_time_zone_id String OBS转储时区ID(https://support.huaweicloud.com/api-lts/lts_api_0111.html)。参数选择参考OBS转储时区表。如果选择该参数,则必须选择obs_time_zone。 dis_id String DIS转储通道ID。当创建DIS转储时,必填此参数。 最小长度:1 最大长度:128 最小长度:1 最大长度:128 dis_name String DIS转储通道名称。当创建DIS转储时,必填此参数。 最小长度:1 最大长度:128 最小长度:1 最大长度:128 kafka_id String DMS转储kafka ID。当创建DMS转储时,必填此参数。 创建DMS转储前,需要使用kafka ID以及kafka Topic进行实例注册。详情见接口注册DMSkafka实例 最小长度:36 最大长度:36 kafka_topic String DMS转储kafka topic。 创建DMS转储前,需要使用kafka ID以及kafka Topic进行实例注册。详情见接口注册DMSkafka实例 最小长度:1 最大长度:128 obs_transfer_path String OBS转储路径,指OBS日志桶中的路径。 最小长度:0 最大长度:256 obs_eps_id String OBS企业项目ID。 最小长度:0 最大长度:128 obs_encrypted_enable Boolean OBS是否开启加密。 枚举值: true false tags Array of strings 若开启tag投递,该字段必须包含主机信息:hostIP、hostId、hostName、pathFile、collectTime; 公共字段有:logStreamName、regionName、logGroupName、projectId,为可选填; 开启转储标签:streamTag,可选填 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:8 最大长度:8 error_msg String 调用失败响应信息描述。 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:8 最大长度:8 error_msg String 调用失败响应信息描述。
  • 响应参数 状态码为 201 时: 表5 响应Body参数 参数 参数类型 描述 instance_id String kafka ID 状态码为 400 时: 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:8 最大长度:8 error_msg String 调用失败响应信息描述。 枚举值: Invalid projectId 状态码为 500 时: 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:8 最大长度:8 error_msg String 调用失败响应信息描述。
  • 请求示例 注册DMS kafka实例 POST https://{endpoint}/v2/{project_id}/lts/dms/kafka-instance /v2/{project_id}/lts/dms/kafka-instance { "instance_id" : "3f4a92ff-7f65-489f-a36a-fadbaaxxxxx6", "kafka_name" : "kafka-wxxxxxt", "connect_info" : { "user_name" : "111", "pwd" : "2222" }}
  • 响应示例 状态码为 201 时: 注册DmsKafka请求响应成功。 { "instance_id" : "3f4a92ff-7f65-489f-a36a-fadbaaxxxxx6" } 状态码为 400 时: BadRequest 非法请求建议根据error_msg直接修改该请求。 { "error_code" : "LTS.1719", "error_msg" : "kafka user or password wrong" } 状态码为 500 时: 表明服务端能被请求访问到,但是服务内部出错。 { "error_code" : "LTS.0010", "error_msg" : "The system encountered an internal error" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 从 IAM 服务获取的用户Token,获取方式请参见:获取用户Token 最小长度:1000 最大长度:2000 Content-Type 是 String 该字段填为:application/json;charset=UTF-8。 最小长度:30 最大长度:30 表3 请求Body参数 参数 是否必选 参数类型 描述 instance_id 是 String kafka ID 最小长度:1 最大长度:36 kafka_name 是 String kafka 名称 最小长度:1 最大长度:256 connect_info 是 connect_info object kafka连接信息。购买kafka时,SASL_SSL是否配置,如果有,则需要填写账号密码 表4 connect_info 参数 是否必选 参数类型 描述 user_name 否 String 账号 最小长度:1 最大长度:256 pwd 否 String 密码 最小长度:1 最大长度:256