用户指南
文档版本 01
发布日期 2022-01-24
版权所有 © 华为技术有限公司 2022。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
目 录
1 开始使用云日志服务... 1
2 日志管理...3
2.1 日志组... 3
2.2 日志流... 4
3 日志接入...6
3.1 主机接入...7
3.2 云服务接入... 12
3.2.1 ELB 接入... 12
3.2.2 WAF 接入... 15
3.2.3 VPC 接入... 18
3.2.4 CTS 接入... 19
3.2.5 APIG 接入...23
3.2.6 ROMA Connect 接入... 23
3.2.7 SA 接入... 23
3.3 API 接入... 23
3.3.1 上报日志... 23
3.3.2 上报高精度日志...28
3.4 SDK 接入...33
3.4.1 云日志服务 Java SDK... 33
3.4.2 云日志服务 Java SDK(log4j )...37
3.4.3 云日志服务 Java SDK(logback 插件)...39
3.5 端侧接入... 41
3.5.1 业务介绍... 41
3.5.2 端侧日志接入... 43
3.5.3 Android...45
3.5.3.1 HiAnalyticsInstance... 45
3.5.3.2 HALogConfig...46
3.5.4 iOS... 51
3.5.4.1 HiAnalytics...52
3.5.4.2 HALogConfig...52
3.5.5 Web... 54
3.5.5.1 HiAnalytics...54
3.6 主机管理(Agent 管理)... 55
3.6.1 主机组... 55
3.6.2 主机... 59
3.6.2.1 安装 ICAgent(华为云主机)... 59
3.6.2.2 安装 ICAgent(非华为云主机)...64
3.6.2.3 升级 ICAgent... 72
3.6.2.4 卸载 ICAgent... 73
3.6.2.5 Agent 状态... 75
3.7 主机接入(旧版)... 76
3.8 通过 CRD 方式采集原生 Kubernetes 容器日志...79
4 日志搜索与查看... 88
4.1 日志搜索(新版)... 88
4.2 日志搜索(旧版)... 90
4.3 实时查看日志...92
4.4 快速分析... 93
4.5 快速查询... 95
4.6 分词配置... 96
5 日志分析... 101
5.1 可视化(新版)...101
5.2 可视化(旧版)...103
5.3 仪表盘... 104
5.4 SQL 查询语法...112
5.5 结构化配置... 113
5.6 日志清洗... 123
5.7 对接 Grafana...126
6 聚类分析... 132
6.1 日志聚类... 132
7 日志告警... 136
7.1 关键词告警... 136
7.2 SQL 告警... 142
7.3 告警列表... 149
7.4 消息模板... 150
7.5 指标过滤... 157
8 日志转储... 161
8.1 概述... 161
8.2 转储至 OBS...161
8.3 转储至 DIS... 166
9 标签管理... 170
10 配置超额采集... 173
11 权限管理... 175
12 配额调整... 177
13 附录... 179
13.1 如何获取访问密钥(AK/SK)?... 179
13.2 如何通过创建委托授权安装 ICAgent?...181
A 修订记录... 184
1 开始使用云日志服务
进入云日志服务前,请您将区域切换至主机所在的区域。
区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、
块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。
1. 登录华为云,在右上角单击“控制台”。
图1-1 控制台入口
2. 在控制台左上角单击 ,选择区域和项目。
图1-2 切换区域和项目
3. 选择“服务列表 > 管理与监管 > 云日志服务 LTS”,进入云日志服务管理控制 台。
云日志使用流程
云日志服务用于收集来自主机和云服务的日志数据,通过海量日志数据的分析与处 理,可以将云服务和应用程序的可用性和性能最大化,为您提供一个实时、高效、安 全的日志处理能力。
使用云日志服务的流程如下所示。
1. 创建日志组
在使用云日志服务时,您首先需要创建一个日志组。
2. 创建日志流
日志流是日志读写的基本单位,在日志组中创建日志流,将不同类型的日志分类 存储,方便对日志进一步分类管理。
3. 日志接入
需要将主机待采集日志的路径配置到日志流中,以日志流为单位将日志发往云日 志服务。
4. 实时查看日志
完成日志采集规则配置后,可以在云日志控制台实时查看上报的日志。
2 日志管理
2.1 日志组
日志组(LogGroup)是云日志服务进行日志管理的基本单位,可以创建日志流以及设 置日志存储时间,每个帐号下可以创建100个日志组。
前提条件
已注册华为云,并且通过了实名认证。
创建日志组
日志组的创建类型分为用户创建(主动)和云服务创建(被动),云服务创建指华为 云其他云服务与云日志服务进行系统对接后,系统自动在云日志服务控制台创建的日 志组,本操作中日志组的创建类型为用户创建(主动)。
1. 在云日志服务管理控制台,单击页面右上角的“创建日志组”。
图2-1 创建日志组
2. 在“创建日志组”页面中,输入日志组名称,名称需要满足如下要求:
– 只支持输入英文、数字、中文、中划线、下划线及小数点。
– 不能以小数点、下划线开头或以小数点结尾。
– 长度为1-64个字符。
说明
日志采集后,将发送到对应的日志组中的日志流,如果日志较多,需要分门别类,建议您 给日志组做好命名,方便后续快速查找日志。日志组创建后,名称不支持修改。
3. 输入“日志存储时间”,可以在1~30天之间进行设置,如果不设置,系统默认存 储时间为7天。日志组创建后,日志存储时间支持修改。
云日志服务的计费单位为日志使用量,免费额度为500MB/月,包括日志读写、日 志存储和日志索引,超过免费额度后将按照日志使用量进行收费。
4. 单击“确定”,完成日志组的创建。
在日志组页面中,可以查看日志组名称(不支持修改)、日志存储时间(支持修 改)、创建时间、创建类型和标签(支持修改)。单击日志组操作列的“修改”
可修改日志存储时间。
删除日志组
如果日志组不再需要使用,可以删除日志组。日志组删除后,日志组中的日志流、日 志数据将被同时删除。日志组删除后无法恢复,请谨慎操作。
说明
如果日志组绑定了日志转储任务,删除日志组之前,需要先删除该日志组关联的日志转储任务。
1. 在日志组列表中,单击待删除日志组所在行的“删除”。
2. 在弹出框中输入“DELETE”后,单击“确定”,完成日志组删除。
2.2 日志流
日志流(LogStream)是日志读写的基本单位,日志组中可以创建日志流,将不同类 型的日志分类存储,方便对日志进一步分类管理。例如,您可以将不同的日志(操作 日志、访问日志等)写入不同的日志流,查询日志时可以进入对应的日志流快速查看 日志。
1个日志组中最多可以创建100个日志流,不支持扩大配额。如果您的配额已满,无法 创建日志流,建议删除不再需要使用的日志流后重试,或者在新的日志组中创建日志 流。
前提条件
已创建日志组。
创建日志流
日志流的创建类型分为用户创建(主动)和云服务创建(被动),云服务创建指华为 云其他云服务与云日志服务进行系统对接后,系统自动在云日志服务控制台创建的日 志流,本操作中日志流的创建类型为用户创建(主动)。
图2-2 创建日志流
1. 在云日志服务管理控制台,单击日志组名称。
2. 单击页面右上角的“创建日志流”,输入日志流名称,名称需要满足如下要求:
– 只支持输入英文、数字、中文、中划线、下划线及小数点。
– 不能以小数点、下划线开头或以小数点结尾。
– 长度为1-64个字符。
说明
日志采集后,以日志流为单位,将多条日志数据发往云日志服务。如果日志较多,需要分 门别类,建议您创建多个日志流,并给日志流做好命名,方便后续快速查找日志。日志流 创建后,名称不支持修改。
3. 在“企业项目”处选择业务需要的企业项目,也可单击“查看企业项目”,在企 业项目管理页面查看全部企业项目。
4. 单击“确定”,完成日志流的创建。
在日志流页面中,可以查看日志流的名称、企业项目、创建时间和创建类型。
删除日志流
如果日志流不再需要使用,可以删除日志流,日志流删除后,日志流中的日志数据将 被同时删除。日志流删除后无法恢复,请谨慎操作。
说明
● 删除日志流前请确认该日志流下没有配置日志采集任务,否则删除后可能影响正常的日志上 报。
● 如果日志流绑定了日志转储任务,删除日志流之前,需要先删除该日志流关联的日志转储任 务。
1. 在日志流列表中,单击待删除日志流所在行的“删除”。
2. 在弹出框中输入“DELETE”后,单击“确定”,完成日志流删除。
3 日志接入
云日志服务提供实时日志采集功能,支持主机、SDK、云服务接入等多种日志采集方 式,采集日志后,日志数据可以在云日志控制台以简单有序的方式展示、方便快捷的 方式进行查询。
云日志服务目前只支持ECS日志采集,暂不支持容器化日志采集,如果需要采集容器化 日志,可以使用AOM服务,具体请参见接入LTS。
功能优势
新版日志接入优势在于能够实现批量操作主机的采集路径配置,而且引入主机组概念 也能帮助用户更方便管理同类型主机。用户在拥有大量主机的情况下,引入新版接入 配置就显得很有必要。新版日志接入与旧版的区别如表3-1所示。如需要升级使用新版 日志接入,请参考如何升级使用新版日志接入进行操作。
表3-1 新版日志接入与旧版的区别
对比项 新版 旧版
支持主机管理 是 否
支持批量添加主机配 置
是 否
支持主机组管理 是 否
支持导入已有配置 是 否
支持配置项查询条件 日志组名称、日志流名称、配置
名称 仅支持主机名称和IP
接入配置功能使用 日志服务页面中 具体日志流页面中
开始使用新版日志接入
1. 在云日志服务管理控制台,单击“日志接入”,进入日志接入页面。
2. 单击右上角“接入日志”,进入选择接入日志类型页面。
3. 在选择接入日志类型页面,您可以选择如下接入方式,完成日志接入。
– 主机接入:将主机待采集日志的路径配置到日志流中,ICAgent将按照日志采
集规则采集日志至云日志服务。
– 云服务接入:云日志服务支持多个云服务日志接入,您可以选择不同云服务
查看相应的日志接入方式。
–
SDK/API接入:云日志服务SDK/API提供了一系列上报日志方法,您可以查看
使用SDK/API将日志接入云日志服务的方式。3.1 主机接入
当您选择了主机接入方式时,云日志服务可以将主机待采集日志的路径配置到日志流 中,ICAgent将按照日志采集规则采集日志,并将多条日志进行打包,以日志流为单位 发往云日志服务,您可以在云日志服务控制台实时查看日志。
前提条件
已安装ICAgent并添加至主机组。
操作步骤
日志服务接入方式选择主机接入时,按照如下操作完成接入配置。
步骤1 选择日志流
1. 单击“所属日志组”后的目标框,在下拉列表中选择具体的日志组,若没有所需 的日志组,单击“所属日志组”目标框后的“新建”,在弹出的创建日志组页面 创建新的日志组。
2. 单击“所属日志流”后的目标框,在下拉列表中选择具体的日志流,若没有所需 的日志流,单击“所属日志流”目标框后的“新建”,在弹出的创建日志流页面 创建新的日志流。
3. 单击“下一步:选择主机组”。
步骤2 选择主机组
1. 在主机组列表中选择一个或多个需要采集日志的主机组,若没有所需的主机组,
单击列表左上方“新建”,在弹出的新建主机组页面创建新的主机组,具体可参 考创建主机组。
说明
主机组可以为空,可以在接入配置设置完成后对主机组进行设置。
– 在“主机管理 > 主机组”页面对主机组和接入配置进行关联。
– 在接入配置详情中对主机组和接入配置进行关联。
2. 单击“下一步:采集配置”。
步骤3 采集配置
1. 对主机日志采集设置具体的采集规则,具体可参考采集配置。
2. 设置完成后单击“提交”。
步骤4 完成
接入成功,可以单击“返回接入配置列表”查看日志接入,也可单击“查看日志流”
查看该日志流下的采集日志。
----结束
采集配置
在使用主机接入完成日志接入时,在第3步采集配置的具体配置如下:
图3-1 采集配置
1. 采集配置名称:自定义采集配置名称,长度范围为1到64个字符,只支持输入英 文、数字、中文、中划线、下划线以及小数点,且不能以小数点、下划线开头或 以小数点结尾。
说明
导入旧版配置:采集配置名称输入框后的“导入旧版配置”可以将旧版主机接入配置导入 到新版日志接入中。
2. 路径配置:添加您需要收集的日志路径,LTS将按照配置的路径进行日志采集。
– 采集路径支持递归路径,**表示递归5层目录。
示例:采集路径配置为 /var/logs/**/a.log,日志匹配如下:
/var/logs/1/a.log /var/logs/1/2/a.log /var/logs/1/2/3/a.log /var/logs/1/2/3/4/a.log /var/logs/1/2/3/4/5/a.log
说明
● 以上示例中的/1/2/3/4/5/,表示/var/logs目录中,往里递归的5个目录层级,在这 5个目录层级中只要存在a.log,都能进行日志匹配。
● Windows环境日志采集路径暂不支持递归路径,配置样例:C:\var\service
\a.log。
● 采集路径中只能出现一次**,不能出现两个及以上。正确示例:/var/logs/**/
a.log;错误示例:/opt/test/**/log/**。
● 采集路径中第一个层级不允许为**(避免误采集系统文件),错误示例:/**/
test。
– 采集路径支持模糊匹配,匹配目录或文件名中的任何字符。
说明
● Windows环境日志采集路径暂不支持模糊匹配,配置样例:C:\var\service
\a.log。
● 如果配置了C:/windows/system32类似的日志采集路径,但无法采集日志,请尝 试打开WAF物理防火墙后重新配置。
▪
示例1:采集路径配置为 /var/logs/*/a.log,表示/var/logs/目录下,任何 一个目录中存在a.log,都能进行日志匹配,例如:/var/logs/1/a.log /var/logs/2/a.log
▪
示例2:采集路径配置为 /var/logs/service-*/a.log,日志匹配示例:/var/logs/service-1/a.log /var/logs/service-2/a.log
▪
示例3:采集路径配置为 /var/logs/service/a*.log,日志匹配示例:/var/logs/service/a1.log /var/logs/service/a2.log
– 采集路径如果配置的是目录,示例:/var/logs/,则只采集目录下后缀为
“.log”、“.trace”和“.out”的文件。
如果配置的是文件名,则直接采集对应文件,只支持文本类型的文件。
说明
● 请注意您的敏感信息是否在收集范围内。
● 当主机选择“Windows主机”时,如需采集系统日志,需要在“采集配置”环节,开 启“采集Windows事件日志”。
● windows事件日志采集不能重复配置,即相同主机下,即使跨日志组和日志流,也只能 配置一次。
● LTS暂不支持采集PostgreSQL(数据库)实例的日志,目前只支持采集安装在ECS(主 机)实例的日志。
● 日志采集路径不能重复配置,即相同主机的同一个日志采集路径不能重复配置,否则可 能会导致日志采集异常。
● 相同主机的同一个日志采集路径,如果在AOM进行了配置,则不能在LTS重复配置。
● 配置采集的文件最后修改时间和当前时间差如果已超过12小时,则不会采集。
3. 设置采集黑名单:LTS支持对日志进行过滤采集,即通过设置黑名单,在采集时过 滤指定的目录或文件。指定按目录过滤,可过滤掉该目录下的所有文件。
目录和文件名支持完全匹配,也支持模糊匹配,具体可参考路径配置内容进行设 置。
说明
当设置的黑名单与配置的采集路径重复或者有重合时,优先过滤掉黑名单设置的文件。
4. 采集Windows事件日志:当选择Window主机采集日志时,需要开启“采集 Windows事件日志”,并且可以设置“日志类型”、“首次采集时间偏移量”、
“事件等级”来过滤采集您所需要的日志内容。
5. 日志格式、日志时间具体说明如下:
表3-2 日志采集信息
名称 说明
日志格式 ● 单行日志:采集的日志文件中,如果您希望每一行日志在 LTS界面中都显示为一条单独的日志数据,则选择单行日 志。
● 多行日志:采集的日志中包含像java异常的日志,如果您希 望多行异常的日志显示为一条日志,正常的日志则每一行 都显示为一条单独的日志数据,则选择多行日志,方便您 查看日志并且定位问题。
日志时间 系统时间:表示系统当前时间,默认为日志采集时间,每条日 志的行首显示日志的采集时间。
说明日志采集时间:ICAgent采集日志,并且发送到云日志服务的时间;日 志打印时间:系统产生并打印日志的时间。
ICAgent采集日志并发送日志到云日志平台的频率为1秒钟。
时间通配符:用日志打印时间来标识一条日志数据,通过时间 通配符来匹配日志,每条日志的行首显示日志的打印时间。
● 如果日志中的时间格式为:2019-01-01 23:59:59,时间通 配符应该填写为:YYYY-MM-DD hh:mm:ss。
● 如果日志中的时间格式为:19-1-1 23:59:59,时间通配符 应该填写为:YY-M-D hh:mm:ss。
说明
如果日志中不存在年份信息,则云日志会自动补齐年份数据为当前年 份数据。
填写示例:
YY - year (19) YYYY - year (2019) M - month (1) MM - month (01) D - day (1) DD - day (01) hh - hours (23) mm - minutes (59) ss - seconds (59) hpm - hours (03PM)
h:mmpm - hours:minutes (03:04PM)
h:mm:sspm - hours:minutes:seconds (03:04:05PM) hh:mm:ss ZZZZ (16:05:06 +0100)
hh:mm:ss ZZZ (16:05:06 CET) hh:mm:ss ZZ (16:05:06 +01:00)
分行模式 日志格式选择多行日志时,需要选择分行模式,分行模式选择
“日志时间”时,是以时间通配符来划分多行日志;当选择
“正则模式”时,则以正则表达式划分多行日志。
正则表达式 此配置是用来标识一条日志数据的正则表达式。日志格式选择
“多行日志”格式后且“分行模式”已选择“正则模式”后需 要设置。
说明
时间通配和正则表达式均是从每行日志的开头进行严格匹配,如果匹配不上,则会默认使 用系统时间上报,这样可能会和文件内容中的时间不一致。如果没有特殊需求,建议使用 单行日志-系统时间模式即可。
查看日志接入
在云日志服务管理控制台,单击“日志接入”,或在完成主机接入成功后单击“返回 接入配置列表”,进入日志接入页面。
● 在接入配置列表中显示已配置完成的接入配置,单击接入配置名称可进入详情页 面,查看该接入配置详细信息。
● 单击所属日志组或所属日志流,可以进入对应日志组列表或日志流页面查看详 细。
● 修改日志接入:单击需修改接入配置所在行操作列的 ,参考日志接入的操作步 骤进行修改。
● 删除日志接入:单击需删除接入配置所在行操作列的 ,或者勾选需删除的接 入配置,单击页面左上方“批量删除”,可以对多个配置进行批量删除。
3.2 云服务接入
3.2.1 ELB 接入
背景信息
ELB在外部流量分发时,会记录HTTP(S)详细的访问日志记录,如URI请求、客户端IP 和端口、状态码。
ELB日志可用于审计,也可用于通过时间和日志中的关键词信息搜索日志,同时也可以 通过各种SQL聚合函数来分析某段时间内的外部请求统计数据,比如统计1天内所有 URI请求404的错误条数;分析1周内的UV(用户实际点击网站次数)或PV(网站的业 务访问量),掌握真实用户的网站使用频率等。
前提条件
购买并使用华为云ELB实例。
限制条件
● LTS ELB日志当前仅支持七层共享型负载均衡,不支持四层共享型负载均衡。
● 当前ELB日志仅支持“华北-北京一”、“华北-北京四”、“华东-上海一”、
“华东-上海二”、“华南-广州”、“华北-北京二”、“亚太-新加坡”区域局 点。
操作步骤
步骤1 将ELB访问日志对接至云日志服务,详细操作请参见访问日志。
1. 登录管理控制台。
2. 在控制台左上角单击 ,选择区域和项目。
3. 在系统首页左上角单击 ,选择“网络 > 弹性负载均衡 ELB”。
4. 在“负载均衡器”界面,单击需要配置访问日志的负载均衡器名称。
5. 在该负载均衡器界面的“访问日志”页签,单击“配置访问日志”,打开“启动 日志记录”按钮,选择已创建的日志组与日志流。如未创建日志组与日志流,请 先创建日志组和创建日志流。
图3-2 ELB 访问日志对接至云日志服务
6. 单击“确定”,配置完成。
图3-3 配置成功
步骤2 在日志流详情页面,单击左侧导航栏“配置中心”,选择“结构化配置”,进入日志 结构化配置页面,选择“结构化模板”提取方式,选择“系统模板 > ELB”,保存后 在结构化配置完成界面可以根据实际业务需要选择是否开启“快速分析”,快速分析 主要用于统计一段时间内某个字段不同值的占比,更多详情请参见快速分析。
图3-4 配置结构化模板
步骤3 在日志流详情页面,单击“可视化”页签,进行SQL查询与分析,如需要多样化呈现 查询结果,请参考日志结构化进行配置。
● 统计1周内的PV,具体SQL查询分析语句如下所示:
select count(*) as pv
图3-5 PV 查询结果
● 统计1周内的UV,具体SQL查询分析语句如下所示:
select count(distinct remote_port) as uv
图3-6 UV 查询结果
● 统计1天所有URI返回请求2xx/3xx/4xx/5xx(返回码),了解业务的执行结果;具 体SQL查询分析语句如下所示:
select host, router_request_uri as url, count(*) as pv,
sum(case when status >= 200 and status < 300 then 1 else 0 end ) as "2xx times", sum(case when status >= 300 and status < 400 then 1 else 0 end ) as "3xx times", sum(case when status >= 400 and status < 500 then 1 else 0 end ) as "4xx times", sum(case when status >= 500 and status < 600 then 1 else 0 end ) as "5xx times"
group by host, router_request_uri order by pv desc
limit 100
查询结果有五种呈现形式依上而下,分别为表格、柱状图、折线图、饼图和数 字,如图3-7为柱状图结果。
图3-7 返回码查询结果
----结束
3.2.2 WAF 接入
背景信息
WAF(Web应用防火墙)通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站 脚本攻击、网页木马上传、命令/代码注入等攻击,所有请求流量经过WAF时,WAF会 记录攻击和访问的日志,可实时决策分析、对设备进行运维管理以及业务趋势分析。
前提条件
● 购买并使用华为云WAF实例。
限制条件
● 仅云模式支持全量日志功能。
● 支持全量日志功能的区域为:华北-北京一、华北-北京四、华东-上海一、华东-上 海二、中国-香港、亚太-曼谷、亚太-莫斯科、华北-乌兰察布一 、华南-广州。
操作步骤
步骤1 在WAF添加防护网站。
1. 登录管理控制台。
2. 在控制台左上角单击 ,选择区域和项目。
3. 在系统首页左上角单击 ,选择“安全与合规 > Web应用防火墙 WAF”,进 入Web应用防火墙管理控制台。
4. 根据添加防护域名添加需要防护的网站,使网站流量切入WAF。
步骤2 开启全量日志功能,将WAF日志记录到LTS,详细操作请参见开启全量日志。
1. 在Web应用防火墙管理控制台,单击“防护事件”,选择“全量日志”页签。开 启全量日志 ,选择已创建的日志组与日志流。如未创建日志组与日志流,
请先创建日志组和创建日志流。
2. 单击“确定”,全量日志配置成功。
图3-8 配置全量日志
步骤3 在日志流详情页面,单击左侧导航栏“配置中心”,选择“结构化配置”,进入日志 结构化配置页面,选择“JSON”提取方式,根据业务需求选择日志,配置相关参数,
具体操作请参见日志结构化。
图3-9 配置 JSON 格式日志
步骤4 在日志流详情页面,单击“可视化”页签,进行SQL查询与分析,如需要多样化呈现 查询结果,请参考日志结构化进行配置。
● 统计1周内攻击次数,具体SQL查询分析语句如下所示:
select count(*) as attack_times
图3-10 攻击次数查询结果
● 统计1天不同攻击类型的分布,具体SQL查询分析语句如下所示:
select attack,count(*) as times group by attack
查询结构有五种呈现形式依上而下分别为表格、柱状图、折线图、饼图、数字,
如下图为饼图结果。
图3-11 不同攻击类型的分布查询结果
----结束
3.2.3 VPC 接入
操作场景
VPC流日志功能可以记录虚拟私有云中的流量信息,帮助您优化安全组和防火墙控制 规则、监控网络流量、进行网络攻击分析等。
当您想要了解虚拟私有云网卡的流量详情时,您可以通过云日志服务实时查看虚拟私 有云的网卡日志数据。
使用限制
● 目前支持S2、M2、Hc2、H2、D2、P1、G3、Pi1、fp1、S3、C3、M3、H3、
D3、Ir3、I3、Sn3、S6、E3、C3ne、M3ne、G5、P2v、Ai1、C6、M6、D6类型 的弹性云服务器。
● 默认情况下,一个用户最多允许创建10个VPC流日志。
● 默认情况下,最大支持40万条流日志记录。
● VPC流日志功能目前仅在“亚太-新加坡”、“华南-广州”、“亚太-曼谷”、
“华东-上海一”开放,且还在公测期间,请申请公测权限后使用。
前提条件
● 已创建日志组。
● 已创建日志流。
操作步骤
1. 登录管理控制台。
2. 在管理控制台左上角单击 图标,选择区域和项目。
3. 选择“服务列表 > 网络 > 虚拟私有云 VPC”。
4. 在左侧导航栏,选择“VPC流日志”。
5. 在页面右上角,单击“创建VPC流日志”,按照提示配置参数。
表3-3 参数说明
参数 说明 取值样例
名称 VPC流日志的名称。
名称只能由中文、英文字母、数字、
“_”、“-”和“.”组成,且不能有空 格,长度不能大于64个字符。
flowlog-495d
资源类型 选择要采集流量的资源类型,目前支持网 卡、子网、虚拟私有云类型。
网卡
参数 说明 取值样例 选择资源 选择需要采集流量信息的具体资源。
说明
建议您选择处于开机状态的弹性云服务器。如果 选择了关机状态的弹性云服务器,请在VPC流日 志创建完成后,重启弹性云服务器,以便准确的 记录网卡流量。
-
采集类型 ● 全部:采集指定资源的全部流量。
● 接受:采集指定资源被访问控制规则允 许的流量。
● 拒绝:采集指定资源被访问控制规则拒 绝的流量。
全部
日志组 选择在云日志服务中创建的日志组。 lts-group-wule 日志流 选择在云日志服务中创建的日志流。 lts-groupstream1 描述 VPC流日志的描述信息,非必填项。
描述信息内容不能超过255个字符,且不能 包含“<”和“>”。
-
6. 单击“确定”,配置完成。
7. 您可以在云日志服务控制台实时查看流日志记录,也可以对日志进行结构化配 置,便于后续对VPC日志进行查询与分析,具体操作如下:
a. 在日志流详情页面,单击左侧导航栏“配置中心”,选择“结构化配置”,
进入日志结构化配置页面。
b. 选择“结构化模板”提取方式,选择“系统模板 > VPC”,保存后在结构化 配置完成界面可以根据实际业务需要选择是否开启“快速分析”。
3.2.4 CTS 接入
操作场景
当您想要对云审计服务追踪的事件进行分析,您可以通过开启云审计服务的事件分析 功能,将日志上报至云日志服务。
前提条件
已开通云审计服务。
管理事件追踪器
开启云审计服务后系统会自动创建一个管理事件追踪器“system”,您可以通过本操 作打开追踪器的事件分析开关,完成CTS日志上报配置。
1. 登录管理控制台。
2. 在管理控制台左上角单击 ,选择区域和项目。
3. 选择“服务列表 > 管理与监管 > 云审计服务 CTS”。
4. 单击左侧导航栏“追踪器”,进入“追踪器”页面。
5. 单击“system”追踪器“操作”列的“配置”,打开“配置追踪器”页面,在配 置追踪器页面配置相关参数。
表3-4 管理事件追踪器参数说明
参数 说明 取值样例
追踪器类型 默认为“管理事件”。 管理事件
追踪器名称 默认为“system” system 事件分析 选择是否开启“事件分析”开关,对需要
接入LTS的追踪器需开启该功能。 - 事件分析位
置
开启事件分析功能后系统会自动创建日志 组“CTS”和日志流“system-trace”到 LTS,并将日志上报至LTS。
CTS/system-trace
OBS转储 ● 当选择是否转储OBS为“转储”时,您 可以选择已存在的OBS桶或直接通过配 置页面新建OBS桶,并配置操作事件文 件前缀。
● 如果配置OBS桶转储为“不转储”时,
则无需配置相应参数。
-
创建新的OBS桶 选择是否开启“创建新的OBS桶”开关。 -
参数 说明 取值样例 转储OBS桶 ● “创建新的OBS桶”开关开启时,在您
填写一个桶名后系统将自动为您创建一 个OBS桶。
● “创建新的OBS桶”开关关闭时,则需 要您选择一个已有的OBS桶。
cts-obs02
事件文件前 缀
用于标识被转储的事件文件,该字段支持 用户自定义,会自动添加在转储事件文件 的文件名前端,方便用户快速进行筛选。
-
加密事件文 件
选择对事件文件是否加密。 加密
开启文件校 验
选择是否开启“开启文件校验”开关。 -
6. 单击“确定”,配置完成。
7. 您可以在云日志服务控制台实时查看日志,也可以对日志进行结构化配置,便于 后续对CTS日志进行查询与分析,具体操作如下:
a. 在日志流详情页面,单击左侧导航栏“配置中心”,选择“结构化配置”,
进入日志结构化配置页面。
b. 选择“结构化模板”提取方式,选择“系统模板 > CTS”,保存后在结构化 配置完成界面可以根据实际业务需要选择是否开启“快速分析”。
数据事件追踪器
对于创建的数据事件追踪器,您可以通过创建追踪器并开启事件分析功能,完成CTS日 志上报配置。
1. 在云审计服务页面,单击左侧导航栏“追踪器”,进入“追踪器”页面。
2. 单击页面右上角的“创建追踪器”,在创建追踪器页面配置相关参数。
表3-5 数据事件追踪器参数说明
参数 说明 样例
追踪器类型 仅可选择“数据事件”。 数据事件
追踪器名称 为追踪器取名,便于识别。 ctstra1 追踪对象 选择您存储数据的容器,当前为OBS桶。 obs01 追踪操作 选择需要记录日志的数据操作。
● 读操作
● 写操作
-
事件分析 选择是否开启“事件分析”开关,对需要 接入LTS的追踪器需开启该功能。 - 事件分析位
置
开启事件分析功能后系统会自动创建日志 组“CTS”和日志流“ctstra1”到LTS,并 将日志上报至LTS。
CTS/ctstra1
OBS转储 ● 当选择是否转储OBS为“转储”时,您 可以选择已存在的OBS桶或直接通过配 置页面新建OBS桶,并配置操作事件文 件前缀。
● 如果配置OBS桶转储为“不转储”时,
则无需配置相应参数。
-
创建新的OBS桶 选择是否开启“创建新的OBS桶”开关。 -
参数 说明 样例 转储OBS桶 ● “创建新的OBS桶”开关开启时,在您
填写一个桶名后系统将自动为您创建一 个OBS桶。
● “创建新的OBS桶”开关关闭时,则需 要您选择一个已有的OBS桶。
cts-obs01
保存周期 选择转储至OBS桶中日志的保存时长。 30天 事件文件前
缀
用于标识被转储的事件文件,该字段支持 用户自定义,会自动添加在转储事件文件 的文件名前端,方便用户快速进行筛选。
-
3. 单击“确定”配置完成,您可以在云日志服务控制台实时查看日志,也可以在日 志结构化配置页面选择CTS系统模板对日志进行结构化配置,便于后续对CTS日志 进行查询与分析。
若该数据事件追踪器在创建时未开启事件分析功能,您可以在“追踪器”页面,
单击该追踪器“操作”列的“配置”,在“配置追踪器”页面开启“事件分 析”。
3.2.5 APIG 接入
LTS支持API网关(API Gateway)日志接入,具体接入方法请参见日志分析。
3.2.6 ROMA Connect 接入
LTS支持应用与数据集成平台(ROMA Connect)日志接入,具体接入方法请参见查看
API调用日志。
3.2.7 SA 接入
LTS支持态势感知(Situation Awareness)日志接入,具体接入方法请参见日志管理。
3.3 API 接入
3.3.1 上报日志
功能介绍
该接口用于华为云主机上报租户日志给LTS,目前不支持非华为云主机API接入。
接入点IP可在LTS控制台“主机管理 > 安装ICAgent”的安装命令中获取,端口为 8102,调用时使用该参数请参见“请求示例”。
URI
POST /v2/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/tenant/
contents
表3-6 路径参数
参数 是否
必选
参数类型 描述
project_id 是 String 项目ID,获取方式请参见:获取帐号
ID、项目ID、日志组ID、日志流ID。
缺省值:None 最小长度:32 最大长度:32
log_group_id 是 String 日志组ID,获取方式请参见:获取帐号
ID、项目ID、日志组ID、日志流ID。
缺省值:None 最小长度:36 最大长度:36
log_stream_id 是 String 日志流ID,获取方式请参见:获取帐号
ID、项目ID、日志组ID、日志流ID。
缺省值:None 最小长度:36 最大长度:36
注:每个logstream写入速率最大不能超 过5MB/S,写入条数最多不能超过 25000条/秒,超过此规格可能会导致日 志丢失。
请求参数
表3-7 请求 Header 参数
参数 是否
必选
参数类型 描述
X-Auth-Token 是 String 从IAM获取的用户Token,获取方式请参 见:获取用户Token。
缺省值:None 最小长度:1000 最大长度:2000
Content-Type 是 String 该字段填为:application/
json;charset=utf8。
缺省值:None 最小长度:29 最大长度:29
表3-8 请求 Body 参数
参数 是否
必选
参数类型 描述
log_time_ns 是 Long 日志数据采集时间,UTC时间(纳 秒)。
说明
采集时间需在日志存储时间范围之 内,否则上报日志会被删除。比如日 志组的日志存储时间是7天,则此参 数不应早于当前时间的7天前。
contents 是 Array of String 日志内容。
labels 是 String 用户自定义tag。
tenant_projec
t_id 否 String 租户ID。
响应参数
状态码为 200 时:
表3-9 响应 Body 参数
参数 参数类型 描述
errorCode String 错误码。
枚举值:
● SVCSTG.ALS.200.200 errorMessage String 调用失败响应信息描述。
枚举值:
● Report success.
result String 响应结果。
状态码为 400 时:
表3-10 响应 Body 参数
参数 参数类型 描述
errorCode String 错误码。
枚举值:
● SVCSTG.ALS.200.201
● SVCSTG.ALS.200.210
参数 参数类型 描述
errorMessage String 调用失败响应信息描述。
枚举值:
● Request conditions must be json format.
● projectid xxx log's quota has full!!
result String 响应结果。
状态码为 401 时:
表3-11 响应 Body 参数
参数 参数类型 描述
errorCode String 错误码。
枚举值:
● SVCSTG.ALS.403.105 errorMessage String 调用失败响应信息描述。
枚举值:
● Project id is invalid.
result String 响应结果。
状态码为 500 时:
表3-12 响应 Body 参数
参数 参数类型 描述
errorCode String 错误码。
枚举值:
● SVCSTG.ALS.403.105 errorMessage String 调用失败响应信息描述。
枚举值:
● Internal error result String 响应结果。
状态码为 503 时:
表3-13 响应 Body 参数
参数 参数类型 描述
result String ServiceUnavailable。 被请求的服务无效, 服务不 可用。
请求示例
POST https://{接入点IP:8102}/v2/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/tenant/
contents
{ "log_time_ns": "1586850540000000000", "contents": [
"Fri Feb 1 07:48:04 UTC 2019 0\n", "Sat Apri 18 16:04:04 UTC 2019"
], "labels": {
"user_tag": "string"
} }
响应示例
状态码: 200 日志上报成功。
{ "errorCode": "SVCSTG.ALS.200.200", "errorMessage": "Report success.", "result": null
}
状态码: 401
在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息 不正确或非法。
{ "errorCode" : "SVCSTG.ALS.403.105", "errorMessage" : "Project id is invalid.", "result": null
}
状态码
状态码 描述
200 请求响应成功。
400 BadRequest。非法请求。建议根据error_msg直接修改该请求,不要重 试该请求。
401 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提 供的认证信息不正确或非法。
500 系统内部错误。
状态码 描述
503 ServiceUnavailable。被请求的服务无效,服务不可用。
错误码
请参见错误码。
3.3.2 上报高精度日志
功能介绍
该接口用于华为云主机上报租户日志给LTS,目前不支持非华为云主机API接入。
接入点IP可在LTS控制台“主机管理 > 安装ICAgent”的安装命令中获取,端口为 8102,调用时使用该参数请参见“请求示例”。
说明
每次上报的时候, 每条日志都必须带一个纳秒级的时间戳。在LTS界面查看日志的时候, 会按 照时间戳排序展示在页面上。
URI
POST /v2/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/tenant/
contents/high-accuracy 表3-14 路径参数
参数 是否
必选
参数类型 描述
project_id 是 String 项目ID,获取方式请参见:获取帐号
ID、项目ID、日志组ID、日志流ID。
缺省值:None 最小长度:32 最大长度:32
log_group_id 是 String 日志组ID,获取方式请参见:获取帐号
ID、项目ID、日志组ID、日志流ID。
缺省值:None 最小长度:36 最大长度:36
参数 是否 必选
参数类型 描述
log_stream_id 是 String 日志流ID,获取方式请参见:获取帐号
ID、项目ID、日志组ID、日志流ID。
缺省值:None 最小长度:36 最大长度:36
注:每个logstream写入速率最大不能超 过5MB/S,写入条数最多不能超过 25000条/秒,超过此规格可能会导致日 志丢失。
请求参数
表3-15 请求 Header 参数
参数 是否
必选
参数类型 描述
X-Auth-Token 是 String 从IAM获取的用户Token,获取方式请参 见:获取用户Token。
缺省值:None 最小长度:1000 最大长度:2000
Content-Type 是 String 该字段填为:application/
json;charset=utf8。
缺省值:None 最小长度:29 最大长度:29 Content-
Encoding 否 String 日志压缩格式 枚举值:
● gzip
● snappy
表3-16 请求 Body 参数
参数 是否
必选
参数类型 描述
contents 是 Array of
LogContents
包含上报时间戳的日志内容列表。参数 是否 必选
参数类型 描述
labels 是 String 用户自定义tag。
tenant_projec
t_id 否 String 租户ID。
表3-17 LogContents
参数 是
否 必 选
参数类型 描述
log_time_ns 是 Long 日志数据采集时间,UTC时间(纳秒)。
说明
采集时间需在日志存储时间范围之内,否则上报日 志会被删除。比如日志组的日志存储时间是7天,
则此参数不应早于当前时间的7天前。
log 是 String 日志内容。
响应参数
状态码为 200 时:
表3-18 响应 Body 参数
参数 参数类型 描述
errorCode String 错误码。
枚举值:
● SVCSTG.ALS.200.200 errorMessage String 调用失败响应信息描述。
枚举值:
● Report success.
result String 响应结果。
状态码为 400 时:
表3-19 响应 Body 参数
参数 参数类型 描述
errorCode String 错误码。
枚举值:
● SVCSTG.ALS.200.201
● SVCSTG.ALS.200.210 errorMessage String 调用失败响应信息描述。
枚举值:
● Request conditions must be json format.
● projectid xxx log's quota has full!!
result String 响应结果。
状态码为 401 时:
表3-20 响应 Body 参数
参数 参数类型 描述
errorCode String 错误码。
枚举值:
● SVCSTG.ALS.403.105 errorMessage String 调用失败响应信息描述。
枚举值:
● Project id is invalid.
result String 响应结果。
状态码为 500 时:
表3-21 响应 Body 参数
参数 参数类型 描述
errorCode String 错误码。
枚举值:
● SVCSTG.ALS.403.105 errorMessage String 调用失败响应信息描述。
枚举值:
● Internal error
参数 参数类型 描述 result String 响应结果。
状态码为 503 时:
表3-22 响应 Body 参数
参数 参数类型 描述
result String ServiceUnavailable。 被请求的服务无效, 服务不 可用。
请求示例
POST https://{接入点IP:8102}/v2/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/tenant/
contents/high-accuracy { "contents": [ {
"log_time_ns": "1586850540000000000", "log": "Fri Feb 15 15:48:04 UTC 2019"
}, {
"log_time_ns": "1586850540000000001", "log": "Sat Apri 18 16:04:04 UTC 2019"
} ], "labels": {
"user_tag": "string"
} }
响应示例
状态码: 200 日志上报成功。
{ "errorCode": "SVCSTG.ALS.200.200", "errorMessage": "Report success.", "result": null
}
状态码: 401
在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息 不正确或非法。
{ "errorCode" : "SVCSTG.ALS.403.105", "errorMessage" : "Project id is invalid.", "result": null
}
状态码
状态码 描述
200 请求响应成功。
400 BadRequest。非法请求。建议根据error_msg直接修改该请求,不要重 试该请求。
401 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提 供的认证信息不正确或非法。
500 系统内部错误。
503 ServiceUnavailable。被请求的服务无效,服务不可用。
错误码
请参见错误码。
3.4 SDK 接入
3.4.1 云日志服务 Java SDK
云日志服务SDK提供了Java语言上报日志的一系列方法,方便用户直接使用编码方式 上报日志到云日志服务后台。
传输协议
HTTPS
使用前提
● 使用云日志SDK前,您需要注册华为云帐号且开通云日志服务。
● 需要获取待上报的日志服务所在华为云区域(Region)信息。
使用前配置
使用云日志服务SDK前,您需要进行ConnectionConfig类的初始化配置。配置内容如 下:
1. 确认云日志服务的区域
使用SDK前首先需要确认当前租户所在的Region(如“华北-北京-1”等),然后 选择与其匹配的云日志服务区域。
2. 配置访问秘钥(AK/SK)
日志SDK依赖AK(Access Key)和SK(Secret Access Key)进行鉴权,使用SDK 前需要先获取AK/SK信息。
使用步骤
步骤1 获取华为云帐号的AK/SK,步骤参考:如何获取AK/SK。
步骤2 安装Java开发环境,日志SDK支持JDK1.6以上开发环境。
步骤3 下载并安装日志SDK包 1. 下载日志SDK包。
2. 下载后解压到指定目录。注:直接解压即可,不需要额外操作。
3. 将解压后的所有jar包添加到您的java工程。
步骤4 在云日志服务创建日志组和日志流。
步骤5 开始一个新的Java工程。
public class sdkTest { //Demo演示程序
public static void main(String[] args) { //初始化链接信息
ConnectionConfig config = new ConnectionConfig();
config.setProjectid("1c06fc5dc0814a4da1594a9ade9cb93c"); //当前租户的项目ID
config.setLogGroupId("4927b522-67b4-4f9d-8320-8a5d7ebd2d61"); //发送日志所属日志组 config.setLogStreamId("bda48df9-1fd1-43e6-a8fd-906fd600de2c"); //发送日志所属日志流 //iam鉴权信息,鉴权通过了才能上报日志
config.setAK("QINDZD28DSEZEOF3EFPX"); //当前租户的Access key
config.setSK("abc0WGkdXlhX40Z7R4dFsuK384ZhIIdFacIvWBqI"); //当前租户的Secret Access Key config.setIamEndpoint("iam.cn-north-7.ulanqab.huawei.com"); //当前region对应的IAM鉴权远端地址
//发送参数设置
config.setEndpoint("100.95.151.58:8102");//发送日志的远端IP地址和端口。
config.setBatchSize(60); //设置每次发送日志条数 config.setThreadCount(1); //设置同时发送日志的线程数量
config.setDataQueueSize(10000); //设置日志发生缓存队列大小。默认500000 Producer producer;
try {
//根据配置信息,初始化日志发送的生产者
producer = ProducerFactory.getInstance().createProceduer(config, "LTS");
//创建日志发送的结构体 LogItem item = new LogItem();
//填充需要发送的日志内容,以及日志发送当前时间,如果超过或滞后云服务的系统时间12小时(云服务 采用东八区时间),则直接丢弃
item.addLog(System.currentTimeMillis(), "hello world I am a software engineer.");
try {
producer.sendData(item, new LogCallback() { @Override
public void onCompletion(LogItem item, Exception exception) { if (exception != null) {
System.out.println("send result: + " + exception.getMessage());
} else {
System.out.println("send result: success");
} } });
} catch (Exception e) { e.printStackTrace();
}
} catch (Exception e) { e.printStackTrace();
} } }
----结束
配置参数说明
ConnectionConfig类方法参数介绍:
参数名称 参数说明 对应方法 取值举例
endPoint 对应Region上 报日志的地址IP 和Port
SetEndPoint 127.0.0.0:8102
region 租户所在的
Region setRegion cn-north-4
ak 华为云租户的访
问密钥access key
setAk QINDZD28DSEZEO F3EFPX
sk 华为云租户访问
密钥secret key setSk abc0WGkdXlhX40Z 7R4dFsuK384ZhIIdF acIvWBqI
iamEndpoint 日志上报鉴权
IAM地址 setIamEndpoint iam.myhuaweiclou d.com
projectId 当前租户的项目
ID setProjectId 1c06fc5dc0814a4da 1594a9ade9cb93c logGroup 发送日志所属的
日志组 setLogGroupId 4927b522-67b4-4f9 d-8320-8a5d7ebd2 d61
logStreamId 发送日志所属的 日志流
setLogStreamId bda48df9-1fd1-43e 6-a8fd-906fd600de2c
threadCount 发送日志的并发 线程数
setThreadCount 10(建议不超过 20)
dataQueueSize 发送日志的缓存 队列长度
setDataQueueSize 默认500000
resultHandQueue
Size 日志发送结果缓
存队列长度 setResultHandQueu
eSize 默认500000,建议 和发送队列长队保持 一致
batchSize 单次上报日志的
条数 setBatchSize 1000(单条日志 size* batchSize需要 小于2MB,否则会 发送失败。)
hostIP 上报日志所在的
节点IP地址 setHostIP 127.0.0.1 hostName 上报日志所在的
节点主机名称 setHostName Myhuaweihost
参数获取方法
● 日志组ID:登录云日志服务页面,选择日志管理,日志组名称下面的ID即为日志 组ID。
● 日志流ID:单击日志组名称,跳转至日志流列表,日志流名称下面的ID即为日志 流ID。
– 项目ID/ProjectID:请参见“我的凭证 > API凭证”。
– 访问密钥access key(AK)/secret access key(SK),请参见“我的凭证 >
访问密钥 ”。
– 上报日志地址:不同服务不同区域的上报地址不同,请联系华为工程师。
– IAM 鉴权地址如下表所示:
区域名称 区域 终端节点(Endpoint) 协议类 型 global global iam.myhuaweicloud.com HTTPS 华北-北京
二 cn-north-2 iam.cn-
north-2.myhuaweicloud.com HTTPS 华北-北京
四 cn-north-4 iam.cn-
north-4.myhuaweicloud.com HTTPS 华北-北京
一 cn-north-1 iam.cn-
north-1.myhuaweicloud.com HTTPS 华东-上海
二 cn-east-2 iam.cn-
east-2.myhuaweicloud.com HTTPS 华东-上海
一
cn-east-3 iam.cn-
east-3.myhuaweicloud.com HTTPS 华南-广州 cn-south-1 iam.cn-
south-1.myhuaweicloud.com HTTPS 华南-深圳 cn-south-2 iam.cn-
south-2.myhuaweicloud.com HTTPS 西南-贵阳
一
cn-southwest- 2
iam.cn-
southwest-2.myhuaweicloud.com HTTPS
3.4.2 云日志服务 Java SDK(log4j )
云日志服务SDK提供了与log4j适配的扩展插件,可以直接在log4j中配置华为云 appender,将通过log4j产生的日志直接上报至华为云日志服务后台。
传输协议
HTTPS
使用前提
● 使用log4j Java SDK前,您需要注册华为云帐号且开通云日志服务。
● 在云日志服务中已创建日志组(LogGroup)以及日志流(LogStream)。
使用步骤
步骤1 下载并安装log4j Java SDK。
1. 下载SDK后解压到指定目录。注:直接解压即可,不需要额外操作。
2. 将解压后的所有jar包添加到您的java工程,并配置log4j.properties中所列项。
步骤2 配置log4j.properties。
//配置自定义appender作用的package范围,将{xxx}配置为希望上报日志的package。
log4j.logger.{xxx}=INFO,LOGSDK
log4j.appender.LOGSDK =com.huawei.appender.LogSDKAppender log4j.appender.LOGSDK.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGSDK.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n //上报日志所属日志服务的日志组ID(必选)
log4j.logger.huaweiAppender.loggroupid=xxxxx-xxxx-xxx-xxxx-xxxx //上报日志所属日志服务的日志流ID(必选)
log4j.logger.huaweiAppender.logstreamid=xxxxx-xxxx-xxx-xxxx-xxxx //当前租户的项目ID(必选)
log4j.logger.huaweiAppender.projectid=xxxxxxxxxx //当前租户的访问密钥access key(必选)
log4j.logger.huaweiAppender.ak=xxxxxyyyyyyyyy123 //当前租户的访问密钥secret access key(必选) log4j.logger.huaweiAppender.sk=xxxxxyyyyyyyyy123 //IAM鉴权地址 (必选)
log4j.logger.huaweiAppender.iamendpoint=xx.63.21.37:xxxx(或者域名) //对应region上报日志的地址(必选)
log4j.logger.huaweiAppender.endpoint=xx.xxx.xx.xx:0000 //日志批量上报的条数大小(可选)
log4j.logger.huaweiAppender.batchsize=100 //日志上报的并发线程(可选)
log4j.logger.huaweiAppender.threadcount=1 //日志上报的队列大小(可选)
log4j.logger.huaweiAppender.dataqueuesize=100000 //发送日志的应用所在节点ip(可选)
log4j.logger.huaweiAppender.hostip=1.1.1.1 //发送日志的应用所在节点name(可选)
log4j.logger.huaweiAppender.hostname=testsdk 说明
● log4j.properties不能更改名称,否则初始化时无法读取到相关配置信息。
● 必选参数请参考:参数获取方法,获取后进行填写。
步骤3 使用示例
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class testAppender
{ private static final Logger LOGGER = LoggerFactory.getLogger(testAppender.class);
public static void main(String[] args) { LOGGER.info("test log appender");
} }
----结束
参数获取方法
● 日志组ID:登录云日志服务页面,选择日志管理,日志组名称下面的ID即为日志 组ID。
● 日志流ID:单击日志组名称,跳转至日志流列表,日志流名称下面的ID即为日志 流ID。
– 项目ID/ProjectID:请参见“我的凭证 > API凭证”。
– 访问密钥access key(AK)/secret access key(SK),请参见“我的凭证 >
访问密钥 ”。
– 上报日志地址:不同服务不同区域的上报地址不同,请联系华为工程师。
– IAM 鉴权地址如下表所示:
区域名称 区域 终端节点(Endpoint) 协议类 型 global global iam.myhuaweicloud.com HTTPS 华北-北京
二 cn-north-2 iam.cn-
north-2.myhuaweicloud.com HTTPS 华北-北京
四 cn-north-4 iam.cn-
north-4.myhuaweicloud.com HTTPS 华北-北京
一
cn-north-1 iam.cn-
north-1.myhuaweicloud.com HTTPS 华东-上海
二
cn-east-2 iam.cn-
east-2.myhuaweicloud.com HTTPS 华东-上海
一
cn-east-3 iam.cn-
east-3.myhuaweicloud.com HTTPS
区域名称 区域 终端节点(Endpoint) 协议类 型 华南-广州 cn-south-1 iam.cn-
south-1.myhuaweicloud.com HTTPS 华南-深圳 cn-south-2 iam.cn-
south-2.myhuaweicloud.com HTTPS 西南-贵阳
一 cn-
southwest- 2
iam.cn-
southwest-2.myhuaweicloud.com HTTPS
3.4.3 云日志服务 Java SDK(logback 插件)
云日志服务Java SDK提供了与logback适配的扩展插件,可以直接在logback中配置华 为云appender,将通过logback产生的日志直接上报至云日志服务。
传输协议
HTTPS
使用前提
● 使用云日志SDK前,您需要注册华为云帐号且开通云日志服务。
● 在云日志服务中已创建日志组(LogGroup)以及日志流(LogStream)。
● 云日志服务SDK目前仅支持logback 1.1.11和logback 1.2.3版本。
使用步骤
步骤1 下载并安装日志SDK包。
1. 下载云日志服务Java SDK(logback插件)。
2. 下载后解压到指定目录。注:直接解压即可,不需要额外操作。
3. 将解压后的所有jar包添加到您的java工程,并配置logback.xml文件。
步骤2 配置logback.xml。
//配置自定义appender作用的package范围,将{xxx}配置为希望上报日志的package。
<configuration scan="true" debug="false">
<property name="PROJECT_NAME" value="test"/>
<contextName>${PROJECT_NAME}</contextName>
<appender name="CustomAppender" class="com.huawei.appender.LogbackSDKAppender">
<appName>${PROJECT_NAME}</appName>
<!--上报日志所属日志服务的日志组ID(必选)-->
<loggroupid>xxxx-xxxx-xxx</loggroupid>
<!--上报日志所属日志服务的日志流ID(必选)-->
<logstreamid>xxxx-xxxx-xxx</logstreamid>
<!--上报日志所属日志服务的项目id (必选)-->
<projectid>xxxxxxxxxxxxxxxxxyyyyyyyyyyyy</projectid>
<!--当前租户的access key (必选)-->
<ak>XXXXXXXXXXXXXXXXXXXX</ak>
<!--当前租户的访问密钥secret access key(必选)-->
<sk>XXXXXXXXXXXXXXXXXXXX</sk>
<!--对应region上报日志的地址(必选)-->
<endpoint>10.63.x.xxx:xxxxx</endpoint>
<!--对应iam服务的鉴权地址(必选)-->
<iamendpoint>10.63.x.x:xxxx</iamendpoint>
<!--发送日志的应用所在节点ip(可选)-->
<hostip>1.1.1.1</hostip>
<!--发送日志的应用所在节点name(可选)-->
<hostname>loacl</hostname>
<!--日志批量上报的条数大小(可选)-->
<batchsize>100</batchsize>
<!--日志上报的并发线程(可选)-->
<threadcount>1</threadcount>
<!—日志上报的队列大小(可选)-->
<dataqueuesize>10000</dataqueuesize>
<!-- Optional parameters -->
<encoder>
<pattern>%d %-5level [%thread] %logger{0}: %msg</pattern>
</encoder>
<!-- Optional parameters -->
<timeFormat>yyyy-MM-dd'T'HH:mmZ</timeFormat>
<!-- Optional parameters -->
<timeZone>UTC</timeZone>
</appender>
<logger name="huawei.sdk.test" level="INFO">
<appender-ref ref="CustomAppender"/>
</logger>
</configuration>
说明
logback.xml不能更改名称,否则初始化时无法读取到相关配置信息。
步骤3 使用示例
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class testAppender
{ private static final Logger LOGGER = LoggerFactory.getLogger(testAppender.class);
public static void main(String[] args) { LOGGER.info("test log appender");
}
}说明:云日志SDK中使用了LoggerFactory相关方法打印error级别和debug级别的日志,建议单独设置
com.huawei包的日志输出目录。如果需要关闭com.huawei的日志打印,请配置:
<logger name="packname" level="OFF">
</logger>
----结束
参数获取方法
● 日志组ID:登录云日志服务页面,选择日志管理,日志组名称下面的ID即为日志 组ID。
● 日志流ID:单击日志组名称,跳转至日志流列表,日志流名称下面的ID即为日志 流ID。
● 项目ID/ProjectID:请参见“我的凭证 > API凭证”。
● 访问密钥access key(AK)/secret access key(SK),请参见“我的凭证 > 访问 密钥 ”。
● 上报日志地址Endpont:不同服务不同区域的上报地址不同,请联系华为工程 师。
● IAM 鉴权地址如下表所示:
区域名称 区域 终端节点(Endpoint) 协议类
型 global global iam.myhuaweicloud.com HTTPS 华北-北京二 cn-north-2 iam.cn-north-2.myhuaweicloud.com HTTPS 华北-北京四 cn-north-4 iam.cn-north-4.myhuaweicloud.com HTTPS 华北-北京一 cn-north-1 iam.cn-north-1.myhuaweicloud.com HTTPS 华东-上海二 cn-east-2 iam.cn-east-2.myhuaweicloud.com HTTPS 华东-上海一 cn-east-3 iam.cn-east-3.myhuaweicloud.com HTTPS 华南-广州 cn-south-1 iam.cn-south-1.myhuaweicloud.com HTTPS 华南-深圳 cn-south-2 iam.cn-south-2.myhuaweicloud.com HTTPS 西南-贵阳一 cn-
southwest-2 iam.cn-
southwest-2.myhuaweicloud.com HTTPS
3.5 端侧接入
3.5.1 业务介绍
LTS联合华为消费者云AppGallery Connect(简称AGC )平台提供移动端
(Android/IOS/Browser)日志采集和分析,用户可以通过集成分析服务(Analytics Kit)中日志采集SDK发送日志到华为云LTS服务。除此之外,用户还可以选择开启分析 服务中其它运营分析功能,包括行业、漏斗、受众、会话、留存、用户、事件等10多 种免费分析能力,实现一个SDK多种用途。
说明
端侧日志接入功能当前处于公测阶段,仅支持华南-广州、华北-北京四局点。
产品优势
术语
AppGallery Connect (简称AGC) :为应用的创意、开发、分发、运营、经营各环节 提供一站式服务,构建全场景智慧化的应用生态体验。
华为分析服务(Analytics Kit):属于AGC的子功能,主要针对移动应用、Web、快应 用等产品用户行为分析平台,贴合业务场景,提供数据采集、数据管理、数据分析、
数据应用的一体化解决方案,驱动企业实现精准拉新、产品优化、精益运营、业务增 长。
服务声明
集成并使用Analytics SDK能力,您需要遵守《华为云日志服务声明》。您理解并承诺 您的下载或使用端侧日志的行为,视为您同意前述全部协议,且您将基于这些协议承 担相应的法律责任与义务。
3.5.2 端侧日志接入
华为分析服务提供的SDK可以自动采集日志数据,本章节介绍对端侧日志的接入操 作。
前提条件
● 已创建日志组。
● 已创建日志流。
接入流程
操作流程 说明
登陆AppGallery
Connect 自2021年3月31日起,在华为云上注册的帐号为华为帐号,使用 该帐号可以直接登陆AGC。在此之前的用户仍需要重新注册华为 帐号。请注册或登陆AGC官网。
配置AppGallery
Connect 1. 参见创建项目和在项目中添加应用完成应用的创建。
2. 开通华为分析服务。
选择开发平台
Android iOS Web
集成华为分析服
务SDK 集成SDK 集成SDK 集成SDK
上报数据 接入Analytics,
接入时需要调用接 口,请调用
Android实现日志
接入LTS。接入Analytics,接 入时需要调用接 口,请调用iOS实现 日志接入LTS。
接入Analytics,接 入时需要调用接 口,请调用Web实 现日志接入LTS。
操作流程 说明
其中日志上报区域、项目为使用LTS所在的区域和项目,日志 组、日志流为在LTS中已创建的日志组和日志流。
日志上报后您可以在LTS中实时查看日志。
【可选】华为分析服务SDK自动采集事件、埋点上报预置事件、
埋点上报自定义事件。
3.5.3 Android
3.5.3.1 HiAnalyticsInstance
Class Info
com.huawei.hms.analytics.HiAnalyticsInstance Analytics单例类,提供上报用户行为数据的公共方法。
Public Method Summary
Qualifier and Type Method Name and Description
void writeLog(HALogConfig logConfig, String content) 记录日志信息。
Public Methods
具体方法如writeLog所示。
writeLog
Method
public void writeLog(HALogConfig logConfig, String content) 记录日志信息。
Parameters
Name Description
logConfig 当前日志的配置信息,region、projectId、logGroupId、
logStreamId为必选参数,tags为可选参数。