-
高额账单风险警示 当您的域名被恶意攻击、流量被恶意盗刷时,会产生突发高带宽或者大流量,进而产生高于日常消费金额的账单,本章为您介绍潜在风险和应对办法。 潜在风险 在攻击或恶意盗刷行为发生的时候,实际消耗了CDN的带宽资源,因此您需要自行承担攻击产生的流量带宽费用。 应对办法 建议您给域名配置访问控制功能(包括Referer防盗链、IP黑白名单、URL鉴权等),以避免产生不必要的流量带宽消耗。详细设置请参见访问控制。 CDN为您提供安全加速功能,更加全面的防护您的网站,您可以联系客户经理申请开通该功能。 建议您开通费用预警功能,当账户可用额度低于一定金额时,系统会发送短信提醒。 为了确保统计数据的完整性和账单的准确性,CDN产品账单生成时间会存在延时,详见基础服务计费。因此实际计费时间晚于对应的CDN资源消耗时间,无法通过账单来实时反馈资源消费情况,这是由于CDN产品自身的分布式节点特性导致,也是业界通用的处理方法。
-
使用说明 仅流量计费方式才能使用流量包抵扣。 如果您开通了全球加速,您需要分别购买中国大陆、中国大陆境外流量包,不同加速范围的流量包不能相互抵扣。 账号下所有加速范围一致的域名共用流量包。 示例:某客户购买了200T的中国大陆全时流量包,帐号下有一个域名,加速范围为全球。此流量包可以抵扣中国大陆的节点产生的流量,不可以抵扣中国大陆境外节点产生的流量。抵扣中国大陆境外节点产生的流量需要购买中国大陆境外流量包。 CDN闲时流量包抵扣北京时间00:00~18:00产生的流量。 闲时时段优先扣除闲时流量,闲时流量用尽后扣除全时流量。 购买多个流量包,只叠加流量,不叠加购买时长(有效期),流量包按照到期时间排序,优先使用先到期的流量包 示例:某客户购买了两个中国大陆流量包,分别是: 流量包1:全时流量包,500GB,购买时长(有效期)6个月,生效时间2021/06/06,到期时间2021/12/06。 流量包2:全时流量包,200TB,购买时长(有效期)1年,生效时间2021/07/06,到期时间2022/07/06。 扣费规则:优先扣除流量包1,流量包1用完后扣除流量包2。 流量包到期自动失效,失效后剩余流量将作废,如流量包到期或耗尽,则会自动转为从余额扣费。 流量包仅支持实名认证用户购买,且限本帐号使用。 如果从流量计费变更为其他计费方式,流量包将无法抵扣,直至切换回按流量计费后方可使用。 CDN不能与视频直播、视频点播共用流量包。
-
计费详情 规格:500GB-1PB多种规格,购买时长(有效期)为6个月或1年。 进制换算规则:1GB=1024MB。 付费模式:一次性支付,购买后立即生效,不支持退订。 抵扣方式:优先扣除流量包里的流量,超出部分将扣除账户余额,已在流量包中扣除的流量不会再计入流量计费的阶梯中。 计费项:抵扣用户访问CDN节点产生的流量,可同时抵扣全站加速使用的流量,不可抵扣全站加速请求数费用。 计费周期:按小时结算,流量包扣费有延时,当前使用的流量会在4个小时后从流量包中扣除。 使用范围:CDN流量包分中国大陆、中国大陆境外区域,各区域单独计费,不能相互抵扣。
-
购买入口 如果您需要购买流量包抵扣CDN加速使用的流量,请您:登录CDN控制台,在页面右侧菜单栏点击“购买”按钮,进入流量包购买页面,不同规格流量包的具体价格请参考价格详情。 已购买的流量包基本信息请前往流量包管理查看。 CDN为您提供了更加优惠的闲时流量包和组合流量包,您可以根据业务情况选择购买,了解最新优惠活动,请单击这里。 全时流量包:全天24小时均可抵扣流量包中的流量。 闲时流量包:抵扣北京时间00:00~18:00产生的流量。 组合流量包:内含全时和闲时两种流量,按比例分配。 闲时时段抵扣顺序:闲时流量>全时流量>账户余额。
-
到期与欠费 欠费处理流程 当您的账户欠费后,华为云将根据您的客户等级来定义云服务资源宽限期、保留期时长,更多欠费停服处理规则请参见保留期。 您可以在费用中心查看账户的欠费信息,并参照欠费还款核销欠款。 欠费说明 宽限期内CDN业务不会停止,但是不能更改配置、刷新预热。 当您使用华为云其它服务,导致账户余额耗尽而欠费进入保留期,此时如果您有需要扣除账户余额的CDN业务(按需计费无流量包、全站加速请求数计费等),也将因欠费而无法使用CDN。 欠费进入保留期后将触发CDN的域名下线策略,如果您的域名下线策略是“解析回源”,华为云CDN将在触发域名下线策略30天内为您提供“解析回源”服务,超过30天后您的加速域名将无法被正常访问。 余额提示 CDN为您提供余额预警功能,开通后,当账户余额小于一定额度时,CDN会通知您,详见如何设置余额预警阈值。 华为云流量包支持使用量预警功能,如果您正在使用流量包,那么建议您开启剩余使用量预警,当流量包剩余使用量到达预警阈值,将会给您发送短信、邮件提醒。
-
计费示例 按流量计费分三个阶梯:0TB~10TB(含)、10TB~50TB(含)、50TB(含)以上。 示例:公司A 1月1日至1月10日累计消耗的流量为10000GB,1月11日0:00~1:00消耗的流量为300GB,截止1月11日1:00月累计消耗流量为10300GB。其中1月11日0:00~1:00使用的300GB中,有240G归属在0GB~10TB阶梯内,单价为M1/GB,剩下的60G归属在10TB~50TB阶梯内,单价为M2/GB,则1月11日0:00~1:00的账单金额为240GB*M1/GB+60GB*M2/GB
-
计费详情 计费规则 计费周期 计费描述 计费项:流量。 付费方式:后付费。 计费规则:按流量阶梯价格计费,当月阶梯累积(以自然月为一个累积周期)。 进制换算规则:1GB=1024MB。 后付费按小时结算,前一个小时产生的使用量,通常会在当前计费周期结束四小时后进行计算扣费。 示例:18:00~19:00产生的费用会在23:30左右扣除(扣费时间也可能存在延迟,具体出账时间以系统为准)。 按照每小时实际使用的流量进行计费。 带宽利用率 = 每日实际使用流量GB/(带宽峰值Mbps*10.54),1Mbps带宽每日100%利用率产生的流量约为10.54GB。 当日23:00到次日00:00的账单会在次日15:20抵扣。
-
计费方式 计费项 计费方式 描述 参考文档 基础服务计费 流量计费 按照每小时实际使用的流量进行计费。 流量计费 峰值带宽计费 按照每日峰值带宽进行计费,系统每5分钟统计1个峰值带宽,每日得到288个值,取其中的最大值作为计费带宽。 峰值带宽计费 月结95峰值带宽计费 在一个自然月内,将每个有效日的所有峰值带宽的统计点进行排序,去掉数值最高的5%的统计点,取剩下的数值最高统计点为计费点,再根据合同约定的单价计费。 月结95峰值带宽计费 日峰值月平均计费 在一个自然月内,对所有有效日的最大峰值带宽求和取平均,获得当月的计费带宽,再根据合同约定的单价计费。 日峰值月平均计费 预付费流量包 购买相应加速区域的流量包进行抵扣。优先扣除流量包里的流量,超出部分采用按流量计费方式结算。 预付费流量包 增值服务计费 全站加速请求数 全站加速的动态请求数和静态请求数计费。 增值服务计费 服务概览和统计分析页面展示的是加速域名日志中记录的流量数据,是应用层日志统计出的流量,但是实际产生的网络流量由于TCP/IP包头消耗和TCP重传消耗要比应用层统计到的流量高出7%~15%。因此按照业界标准,应用于账单的计费数据会在控制台监控数据的基础上上浮10%。 CDN计费方式是全局性的,同一账号下所有加速域名均使用同一种计费方式。 CDN流量包分中国大陆、中国大陆境外区域,各区域单独计费,不能相互抵扣。
-
CDN账单中使用量类型与计费项的对照关系 表1 对照关系表 规格 账单使用量类型 对应的计费项 进制 中国大陆 请求次数 请求次数(增值服务费用:全站加速请求数) - 流量 流量计费(可用流量包抵扣) 1024 中国大陆峰值带宽 峰值带宽计费 1000 中国大陆95峰值带宽 月结95峰值带宽计费 1000 中国大陆日峰值月平均带宽 日峰值月平均带宽计费 1000 海外及其它地区 海外及其它地区请求次数 请求次数(增值服务费用:全站加速请求数) - 海外及其它地区流量 流量计费(可用流量包抵扣) 1024 海外及其它地区峰值带宽 峰值带宽计费 1000 海外及其它地区95峰值带宽 月结95峰值带宽计费 1000 海外及其它地区日峰值月平均带宽 日峰值月平均计费 1000
-
如果我购买的CDN流量包是中国大陆境外流量包,没有购买中国大陆流量包,那么中国大陆有用户访问我的域名,使用的是哪里的流量? 中国大陆和中国大陆境外的流量包是分开计费的。 如果您只购买了中国大陆境外的流量包,中国大陆境内用户访问您的加速域名产生的流量费用是按需收费,即:您的用户通过CDN节点访问使用了多少流量,CDN就收取多少流量的费用。具体收费额度,详见价格计算器。 如果您只购买了中国大陆的流量包,那么中国大陆境外用户访问您的加速域名产生的流量费用,也是按需收费,具体规则同上。
-
CDN受到恶意攻击会无限扣费吗? 遭受攻击消耗的流量或带宽会按CDN的计费规则计费,详见计费项。 当域名遭受攻击影响到CDN其他用户或者CDN自身安全时,CDN封禁加速域名,最终域名状态调整为“停用”,停止CDN加速服务。域名停用后将无法正常访问,但域名配置信息仍会保留,待攻击停止后可联系客服申请解除封禁。 应对办法 建议您给域名配置访问控制功能(包括Referer防盗链、IP黑白名单和URL鉴权),以避免产生不必要的流量带宽消耗。详细设置请参见访问控制。 建议您开通费用预警功能,当账户可用额度低于一定金额时,系统会发送短信提醒。 为了确保统计数据的完整性和账单的准确性,CDN产品账单生成时间会存在延时,因此实际计费时间晚于对应的CDN资源消耗时间,无法通过账单来实时反馈资源消费情况,这是由于CDN产品自身的分布式节点特性导致,也是业界通用的处理方法。
-
计费详情 计费规则 计费周期 计费描述 计费项:峰值带宽。 付费方式:后付费。 计费规则:计费点的峰值带宽按照合同约定的单价计费。 进制换算规则:1Mbps=1000Kbps。 后付费按月结算,上一个自然月产生的使用量,会在次月进行计算扣费。 在一个自然月内,将每个有效日的所有峰值带宽的统计点进行排序,去掉数值最高的5%的统计点,取剩下的数值最高统计点,该点就是95峰值的计费点。 有效日:当天使用CDN消耗的流量大于0byte时,系统将这一天记为有效日。 每日带宽统计点:系统每5分钟统计1个带宽值,每日得到288个值。
-
计费示例 公司D使用CDN按日峰值月平均计费,已于2020年12月15日生效,签订的合同单价为每月M/Mbps。 假设12月总计有X天的CDN消耗流量大于0byte,12月所有有效日的最大峰值带宽分别为Max_1,Max_2,...,Max_X,那么将所有峰值带宽求平均,即获得计费带宽为Average(Max_1,Max_2,...,Max_X),最终计算出12月的账单金额为 Average(Max_1,Max_2,...,Max_X)*M*(X/当月天数)
-
计费详情 计费规则 计费周期 计费描述 计费项:峰值带宽。 付费方式:后付费。 计费规则:当月计费带宽按照合同约定的单价计费。 进制换算规则:1Mbps=1000Kbps。 后付费按月结算,上一个自然月产生的使用量,会在次月进行计算扣费。 在一个自然月内,对所有有效日的最大峰值带宽求和取平均,获得当月的计费带宽,再根据合同约定的单价计费。 有效日:当天使用CDN消耗的流量大于0byte时,系统将这一天记为有效日。 每日带宽统计点:系统每5分钟统计1个带宽值,每日得到288个值。
-
计费示例 峰值带宽计费分为四个阶梯:0Mbit/s~100Mbit/s(含)、100Mbit/s~500Mbit/s(含)、500Mbit/s~5Gbit/s(含)、大于5Gbit/s。 示例一:公司B某日的峰值带宽为2000Mbps,峰值带宽归属在500Mbps~5Gbps阶梯内,单价为M3/Mbps,则当日的账单金额为2000Mbps*M3/Mbps。 示例二:公司B某日的峰值带宽为300Mbps,峰值带宽归属在100Mbps~500Mbps阶梯内,单价为M2/Mbps,则当日的账单金额为300Mbps*M2/Mbps。
-
计费详情 计费规则 计费周期 计费描述 计费项:峰值带宽 付费方式:后付费 计费规则:采用阶梯到达方式,计费带宽按照指定单价计费 进制换算规则:1Mbps=1000Kbps 后付费按日结算,前一天00:00:00~23:59:59产生的使用量,会在第二天进行计算扣费。 按照每日峰值带宽进行计费,系统每5分钟统计1个带宽值,每日得到288个值,取其中的最大值作为计费带宽。 带宽利用率 = 每日实际使用流量GB/(带宽峰值Mbps*10.54),1Mbps带宽每日100%利用率产生的流量约为10.54GB。
-
搜索语法及样例 搜索语法: 表2 搜索语法 条件 说明 关键字精确搜索 针对日志中的关键字进行精确搜索,大小写敏感。关键词指相邻两分词符之间的单词。 如果对分词符规则不熟悉,建议在关键词后加上*,例如:error*,帮助搜索。 短语精确搜索 针对日志中的短语进行精确搜索,大小写敏感。 && 搜索结果的交集。 || 搜索结果的并集。 AND 搜索结果的交集。 OR 搜索结果的并集。 NOT 搜索结果不包含NOT后的关键字。 ? 模糊搜索能力,?放在关键字中间或末尾,用于替代一个字符。 * 模糊搜索能力,*只能放在关键字后,用于替代0到n个字符。 如果原始日志中本身包含搜索语法的关键字(&&、||、AND、OR、NOT、*、?、:、>、<、=、>=、<=),则不支持使用这些关键字来搜索日志。 搜索规则: 支持模糊搜索能力。 例如:输入error*,可以查找所有含有error的日志且高亮以error开头的日志内容。 支持键与值格式的多条件组合搜索,格式为:key1:value1 AND key2:value2或key1:value1 OR key2:value2。输入或选择key1:value1进行搜索后,需添加AND或OR,才可以在搜索框中继续输入或选择key2:value2对两个条件同时进行搜索。 支持单击关键词弹出菜单项,有复制、添加到查询和从查询中排出三种操作。 复制:复制该字段 添加到查询:在查询的语句中添加“AND field: value ” 从查询中排出:在查询的语句中添加“NOT field: value” 搜索样例: 搜索含有start的所有日志:start。 搜索含有start to refresh的所有日志:start to refresh。 搜索同时包含start和unexpected的日志数据:start && unexpected。 搜索同时包含start和unexpected的日志数据:start AND unexpected。 搜索包含start或者unexpected的日志数据:start || unexpected。 搜索包含start或者unexpected的日志数据:start OR unexpected。 不包含query1的日志数据:NOT content : query1 。 搜索日志内容中含有error的所有日志:error*。 搜索日志内容中以“er”开头,以“or”结尾,并且中间有一个字符的所有日志:er?or。 搜索的关键词中含有分词符(:)时,搜索日志: content : "120.46.138.115:80" 或者 content : 120.46.138.115:80 。 搜索包含query1而且包含query2,但不包含query3的日志数据:query1 AND query2 AND NOT content : query3。 输入关键字查询日志时,关键字区分大小写,搜索的日志内容大小写敏感,高亮的日志内容大小写敏感。 全文搜索时,模糊搜索 “*”, “?” 不匹配特殊字符,例如:“-”、空格。 支持关键词模糊匹配搜索,关键词不能以“?”或“*”开头。例如:关键词可以输入"ER?OR"或"ER*R"。 使用关键词搜索时,当单条日志超过255长度时,可能无法精确查询。
-
日志搜索的常用操作 日志搜索的常用操作有一键展开/收起日志详情、添加告警、选择时间段展示日志、刷新等操作,具体参考如下表所示: 表1 操作 说明 一键展开/收起日志详情 单击按钮,可一键展开/收起日志详情。 添加告警 单击按钮,在弹出的新建告警规则页面,可配置告警规则。 选择时间段展示日志 单击下拉框选择时间段展示日志,支持的时间段有近1分钟、近5分钟、近15分钟、近1小时、近6小时、近1天、近1周及自定义时间段。 刷新日志 单击可对日志进行刷新,有两种方式刷新方式:手动刷新和自动刷新。 手动刷新:单击“手动刷新”可直接对日志进行刷新 自动刷新:选择自动刷新的间隔时间,将对日志进行自动刷新。间隔时间范围为15秒、30秒、1分钟和5分钟。 分享搜索日志 单击可复制当前日志搜索页面的链接,用于分享搜索日志。 导出搜索日志 单击搜索域旁边的,在弹出的下载日志页面中选择“本地下载”和“前往创建转储”。 本地下载:将日志文件直接下载到本地,单次下载支持最大5,000条日志。 在下拉框中选择“.csv”或“.txt”,单击“开始下载日志”,可将日志导出至本地 说明: 选择以CSV格式导出日志后,本地以表格形式保存日志的具体标签信息。 选择导出TXT格式日志后,本地会以.txt格式保存日志的日志内容。 前往创建转储:通过OBS转储任务下载日志文件,单次下载支持最大100万条日志。 单击“前往创建转储”,跳转至配置转储页面。
-
删除定时SQL 登录云日志服务控制台。 在左侧导航栏中选择“日志加工 >定时SQL”,单击目标作业名称操作列对应的“删除”。 或在左侧导航栏中选择“日志作业 >定时SQL”,单击目标作业名称,查看定时SQL任务的基本信息的页面中,单击右上角“删除”。 或在左侧导航栏中选择“日志管理 ”,选择日志组和日志流。在新版搜索的日志流详情页面,单击右上角,在弹出页面中,选择“定时SQL”,单击目标作业名称操作列对应的“删除”。 在弹出的页面中,单击“确定”可删除定时SQL任务。
-
创建定时SQL 登录云日志服务控制台。 在左侧导航栏中选择“日志加工 >定时SQL”,单击“创建定时SQL” 。 或在左侧导航栏中选择“日志管理 ”,选择日志组和日志流。在新版搜索的日志流详情页面,单击右上角,在弹出页面中,选择“定时SQL”,单击“创建定时SQL”。 通过该方式创建定时SQL时,源日志组/日志流为当前所选的日志组/日志流,且无法修改。 通过该方式创建的定时SQL任务,会同步显示在定时SQL列表中,单击任务名称可查看详细信息。 在创建定时SQL页面中,配置相关参数。 在计算配置中,完成如下配置后,然后单击“下一步”。 表1 计算配置参数 参数 说明 任务名称 定时SQL任务的名称。仅支持输入英文、数字、中文、中划线、下划线,且不能以中划线、下划线开头或结尾,长度范围为1~64个字符。 描述 定时SQL任务的描述。长度不超过1000个字符。 源日志组/流名称 选择已完成结构化配置的日志组/流,即表示源日志组/流中的日志内容通过定时SQL处理后,将存储到目标日志组/日志流中。选择源日志组/流的时间范围,对该范围内的日志内容进行SQL查询;单击“预览”可查询预览结果。 SQL代码 输入的查询和分析语句。 定时SQL运行时,云日志服务将执行该查询和分析语句分析日志。 目标日志组/流名称 存储SQL分析结果的日志组/日志流。 在调度配置中,完成如下配置。 表2 调度配置参数 参数 说明 调度间隔 调度定时SQL任务的频率,每调度一次定时SQL任务将产生一个执行实例。调度间隔决定每个执行实例的调度时间。 每小时:每隔一小时调度一次定时SQL任务。 每天:在每天的某个固定时间点调度一次定时SQL任务。 每周:在周几的某个固定时间点调度一次定时SQL任务。 固定间隔:按照固定间隔调度定时SQL任务。 CRON:通过CRON表达式指定时间间隔,按照指定的时间间隔调度定时SQL任务。CRON表达式的最小精度为分钟,格式为24小时制,示例如下: 0/10 * * * *从00:00开始,每隔整10分钟查询一次,分别为10分钟、20分钟、30分钟、40分钟、50分钟、60分钟。例如:当前时间为16:37,下一次查询时间为16:50。 0 0/5 * * *从00:00开始,每隔5小时查询一次,分别为0时、5时、10时、15时、20时。例如:当前时间为16:37,下一次查询时间为20:00。 0 14 * * *每天14:00查询一次。 0 0 10 * *每月10日00:00查询一次。 调度时间范围 调度的时间范围,具体说明如下: 某时间开始:实例调度的开始时间,不设时间范围。当该作业被删除时,则不产生新实例。 特定时间范围:按照调度间隔生成的实例调度时间必须在该范围内,超出范围则不产生新实例。 起始时间 调度的起始时间。 当调度时间范围选择某时间开始时,需要设置开始时间;当调度时间范围选择特定时间范围时,需要设置起始时间。 SQL时间窗口 定时SQL任务运行时,仅分析该时间范围内的日志。时间窗口表达式的最小精度为秒(s:秒,m:分,h:小时),且SQL时间窗口设置不能超过24小时。可在下拉框中,选择5分钟、15分钟、1小时和1天。如果需要设置其他时间,则通过时间表达式进行设置。 时间表达式为:[+/-{num}h+/-{num}m+/-{num}s@s,+/-{num}@h)。具体说明如下: “[”表示包含边界。 “)”表示不包含边界。 “+”表示时间从当前时间开始往后算起,例如:当前时间是16:00,+1h则表示17:00。这里不使用“+”,对该定时SQL功能无意义。 “-”表示时间从当前时间往前算起,例如:当前时间时间是16:00,-1h则表示15:00. “{num}”表示时间取值,为任意整数。逗号前后的时间差值不能超过24小时。 “@”表示取整。@h:小时取整,分钟和秒忽略不计;@m:分钟取整,秒忽略不计;@s:秒取整。 时间表达式,举例如下: 5分钟:[-5m@m, @m) 15分钟:[-15m@m, @m) 1小时:[-1h@h, @h) 1天:[-24h@h, @h) 自定义(不超过一天):[-65m@h, -5m@h) 说明: 时间表达式最大值为调度间隔的五倍。 SQL超时 执行SQL分析操作失败时,自动重试的阈值。当超时时间超过指定的最大时间和超时次数超过最大次数时,该执行实例结束,状态为失败。 SQL超时时间取值为60~180秒之间。 SQL超时次数取值为1~10次之间。 完成后,单击“确定”。
-
操作步骤 云日志服务接入方式为负载均衡 ELB时,按照如下操作完成接入配置。 选择日志流 单击“所属日志组”后的目标框,在下拉列表中选择具体的日志组,若没有所需的日志组,单击“所属日志组”目标框后的“新建”,在弹出的创建日志组页面创建新的日志组。 单击“所属日志流”后的目标框,在下拉列表中选择具体的日志流,若没有所需的日志流,单击“所属日志流”目标框后的“新建”,在弹出的创建日志流页面创建新的日志流。 单击“下一步”:ELB配置。 ELB配置 单击“前往ELB配置”。 在云服务器控制台,选择弹性负载均衡下的“负载均衡器”。 在弹性负载均衡页面中,单击待操作的负载均衡器“名称/ID” ,进入详情页面。 选择“访问日志”,单击“配置访问日志”。 在弹出的配置访问日志页面中,选择对应的日志组和日志流。 具体的操作步骤,请见弹性负载均衡《用户指南》。 日志流配置 表1 日志流配置参数表 参数 说明 自动对日志流进行结构化配置和索引配置 开启该按钮,自动对日志流进行结构化配置和索引配置。日志流结构化配置为ELB系统模板;索引配置为所有ELB解析出来的字段打开快速分析按钮。配置结构化和索引后,才能对ELB日志进行SQL分析,并提供可视化图表。 自动为日志流添加标签:log_type=elb_7layer_access 开启该按钮,自动为日志流添加标签(log_type=elb_7layer_access)后,ELB仪表盘模板才能匹配该日志流。 自动为日志流创建仪表盘 开启该按钮,自动为日志流创建ELB仪表盘。 完成
-
新建可视化图表到仪表盘 登录云日志服务控制台,在左侧导航栏中选择“仪表盘”,选择待操作的仪表盘。单击仪表盘区域右上角的,进入编辑模式。 单击,在添加可视化图表界面中,选择相应日志流。单击“前往添加图表”。 参照表1填写相关参数,填写完成后单击“确定”。 表1 创建图表 参数 说明 图表名称 用于区分日志流下不同的图表。 仅支持中英文、数字、中划线、下划线、小数点。 不能以小数点开头和结尾。 长度为1-64个字符。 可视化对象 默认语句“SELECT * ”,表示查询该日志流内的结构化数据,其中*为结构化字段。 如需自行编辑SQL语句,请参考结构化配置(新版)相关内容。 图表类型 LTS提供多种图表类型供用户选择: 表格 柱状图 折线图 饼图 数字 同时添加到仪表盘 单击“同时添加到仪表盘”后的,勾选一个或多个仪表盘前面的,可将图表同步添加至仪表盘。 如果关闭“同时添加到仪表盘”后的,则表示新建图表不在仪表盘显示。 在图表编辑页面,根据业务需求参考可视化(新版)填写相关参数,单击“保存并返回”,新建图表在仪表盘显示成功。
-
操作步骤 登录云日志服务控制台,在左侧导航栏中选择“仪表盘”,选择待操作的仪表盘。单击仪表盘区域右上角的,进入编辑模式。 单击,在过滤器页面中,配置添加过滤器的相关参数。 表1 添加过滤器参数 参数 说明 过滤器名称 过滤器名称。仅支持输入英文、数字、中文、中划线、下划线及小数点,且不能以小数点、下划线开头或以小数点结尾。 查询方式 过滤器选中的条件与已有图表查询条件组合方式。有AND和NOT两种方式,默认为AND。 Key值 配置需要过滤的字段。必填项,仅支持输入英文、数字、中划线、下划线及小数点,且不能以小数点、下划线开头或以小数点结尾。 别名 Key值的别名。仅支持输入英文、数字、中文、中划线、下划线及小数点,且不能以小数点开头或以小数点结尾。 静态列表项 设置Key值对应的Value。多次单击 可添加多个Value。 单击 可添加Value,需配置如下参数: 列表项名称:需要过滤的Key值对应的Value字段名称。 别名:Value的别名。 默认选中:开启默认选中开关,可直接对添加的Value进行过滤选中。 操作:单击删除添加的Value。 添加动态列表项 开启添加动态列表项的开关,可添加动态列表项,即为Key值配置动态Value。 开启添加动态列表项的开关,需配置如下参数: 日志组:选择待查询的日志组。 日志流:选择待查询的日志流。 查询和分析语句:输入查询和分析语句,并设置时间范围。 单击“查询”,可预览动态列表项。 完成后,单击“确认”。 对于同一仪表盘已添加的过滤器,相同Key值,过滤器之间存在OR关系;不同Key值,过滤器之间存在AND关系。
-
相关操作 创建仪表盘后,您可以对仪表盘进行如下操作。 表2 相关操作 操作 说明 编辑仪表盘中的图表 选择待操作的仪表盘,单击“编辑”,将光标移至图表框右上角,单击,在下拉框中选择“编辑图表”,在可视化页面编辑图表,具体操作请参考可视化。 移除仪表盘中的图表 选择待操作的仪表盘,单击“编辑”,将光标移至图表框右上角,单击,在下拉框中选择“移除图表”,单击“保存设计”,可将已创建图表删除。 调整仪表盘中图表的位置 选择待操作的仪表盘,单击“编辑”,将光标移至待操作的图表框内,选中该图表,可将该图表移动至仪表盘内任意位置,单击“保存设计”,调整当前图表布局。 调整仪表盘中图表的大小 选择待操作的仪表盘,单击“编辑”,将光标移至待操作的图表框右下角边缘,选中该图表,可根据业务展示内容需求调整图表大小,单击“保存设计”,调整当前图表布局。 编辑仪表盘中的过滤器 选择待操作的仪表盘,单击“编辑”,将光标移至过滤器框右上角,单击,在下拉框中选择“编辑”,在添加过滤器页面编辑过滤器,具体操作请参考添加过滤器。 复制仪表盘中的过滤器 选择待操作的仪表盘,单击“编辑”,将光标移至过滤器框右上角,单击,在下拉框中选择“复制”,跳转到添加过滤器页面,单击“确定”即可复制过滤器。 删除仪表盘中的过滤器 选择待操作的仪表盘,单击“编辑”,将光标移至过滤器框右上角,单击,在下拉框中选择“删除”,在弹出的删除过滤器提示框中,单击“确定”即可删除过滤器。 调整仪表盘中过滤器的大小 选择待操作的仪表盘,单击“编辑”,将光标移至待操作的过滤器右下角边缘,可根据业务展示内容需求调整过滤器大小,单击“保存设计”,调整当前过滤器布局。 自动刷新 单击右上角的,开启仪表盘自动刷新功能,选择自动刷新的时间,可使仪表盘中的所有图表数据自动进行刷新。自动刷新的时间有5秒钟、10秒钟、30秒钟和1分钟。 手动刷新 选择待操作的仪表盘,单击可手动刷新当前页面。 全屏显示 选择待操作的仪表盘,单击,可全屏显示仪表盘。全屏后,勾选保持在线按钮,可以保持在线状态,会话一直有效,当前帐号不会退出。 退出全屏显示 将光标移至屏幕上方,单击弹出的,或者单击,或者按键盘中的“Esc”可退出全屏模式。 全屏显示单个图表 选择待操作的仪表盘,将光标移至图表框右上角,单击,在下拉框中选择“全屏”,可全屏显示图表数据。 退出全屏显示单个图表 将光标移至屏幕上方,单击弹出的,或者单击,在下拉框中选择“退出全屏”,或者按键盘中的“Esc”可退出全屏模式。 手动刷新单个图表 选择待操作的仪表盘,将光标移至图表框右上角,单击,在下拉框中选择“刷新”,或者在全屏模式下,单击,在下拉框中选择“刷新”,可手动刷新当前图表页面。 查询时间设置 选择待操作的仪表盘,单击前面的下拉框,在下拉框可选择“近1分钟”、“近5分钟”、“近15分钟”、“近1小时”、“近6小时”、“近一天”、“近一周”、“自定义时间”。若选择“自定义时间”,在弹出日历表中选择对应的起始时间,时间可精确至秒数,确定时间范围。单击“确定”后,可根据选择时间查询仪表盘中所有图表数据。
-
操作步骤 登录云日志服务控制台,在左侧导航栏中选择“仪表盘 ”,单击左上角“ELB7层监控中心”旁边的。 选择单击“添加仪表盘”,进入仪表盘创建页面。 在仪表盘创建页面,配置创建仪表盘相关参数。 表1 创建仪表盘参数 参数名称 说明 仪表盘名称 仪表盘的名称。仅支持中英文、数字、中划线、下划线、小数点,不能以小数点开头和结尾,长度不超过255。 添加到仪表盘分组 开启该按钮,显示分组类型: 已有分组:选择已有的仪表盘分组。 新建分组:输入仪表盘分组名称 添加图表 添加可视化图表:将日志流的可视化图表加入仪表盘 使用仪表盘模板:有自定义模板和系统模板两种类型: 自定义模板:用户从已创建的仪表盘中提取的模板。 系统模板:系统账号定义的模板,用户无法修改。 添加图表。 添加可视化图表 在“添加图表”区域中,鼠标悬浮在添加可视化图表模块,单击“开始添加图表”,进入添加可视化图表界面。选择业务需要的日志流,根据业务需要勾选一个或多个图表名称前的,单击“确定”。 如果当前日志流未配置或没有当前需要的可视化图表,单击“前往添加图表”,新建图表。 使用仪表盘模板 在“添加图表”区域中,鼠标悬浮在使用仪表盘模板模块,单击“使用仪表盘模板”,进入使用仪表盘模板界面。根据业务需要选择仪表盘模板,单击下一步选择业务需要的日志流,根据业务需要勾选一个或多个日志流名称前的,单击“确定”。 单击“保存设计”,仪表盘创建成功。
-
配置字段索引 登录云服务日志控制台,单击“日志管理”。 在日志组列表中,单击日志组名称左侧的,选择日志流,进入日志流管理界面。 在日志流详情页面,单击进入索引配置页面。 在索引配置页面中,配置字段索引。 配置有两种方式: 自动配置:单击“自动配置”,将全部显示日志结构化配置提取的字段和Tag字段。 手动添加字段配置:单击进行自定义字段索引配置。 手动添加字段为日志结构化配置提取的字段。 当修改了结构化配置,则字段索引不会修改,保留原有的配置。 完成后,单击确认。
-
配置参数说明 表2 基础参数 字段 类型 是否必选 说明 示例 logGroup string 否 日志组,日志组名称长度取值范围[1,64],默认为集群的默认日志组。 如果您要自定义日志组,请确保该日志组未被使用。 如果配置的日志组不存在,会自动创建该日志组。 k8s-log-{clusterId} ttlInDays int 否 日志保留时间。 当配置的logGroup不存在,则会以ttlInDays指定的保存时间创建logGroup,取值范围[1,30],默认为7天。 当配置的logGroup存在,则ttlInDays不生效。 7 logStream string 是 日志流,日志流名称长度取值范围[1,64]。如果配置的日志流不存在,会自动创建该日志流。 k8s-log-stream hostGroup string 否 主机组,默认为集群的默认主机组。如果您要自定义主机组,请首先在LTS的“主机管理-主机组”页面创建该主机组。 k8s-hostgroup-{clusterId} inputDetail object 是 日志采集配置详细定义,具体字段请参考表3 inputDetail配置。 apiVersion: lts.com/v1kind: LtsConfigmetadata: name: lts-crd-stdout-allspec: logStream: logstream-1 inputDetail: type: container_stdout containerStdout: allContainers: true logDetail object 否 结构化配置详细定义,具体字段请参考表5。 - 表3 inputDetail配置 字段 类型 是否必选 说明 示例 type string 是 指定采集日志的类型,取值范围: container_stdout:容器标准输出 container_file:容器的日志文件 container_file logType string 否 指定日志格式,取值范围: single_line_log:单行日志 multi_line_log:多行日志 默认为单行日志。 single_line_log logTime string 否 logType为single_line_log时,配置日志时间格式,取值范围: systemTime:系统时间 timeWildcard:时间通配符 默认为systemTime。 systemTime timeWildcard string 否 logType为single_line_log并且logTime为timeWildcard时必选,指定时间通配符的格式。 YYYY-MM-DD hh:mm:ss.SSS beginningType string 否 logType为multi_line_log时,配置日志的分行模式,取值范围: byLogTime:根据日志时间分行 byRegular:根据正则表达式分行 默认byLogTime。 byLogTime beginningPattern string 否 logType为multi_line_log时必选,配置日志分行的关键字。 beginningType为byLogTime:YYYY-MM-DD hh:mm:ss.SSS beginningType为byRegular:\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2},\d{3}\s.+ namespace string 是 配置生效的namespace。 说明: 如果指定了workloads或者workload,并且workload中指定了namespace,那么以workload中的namespace为准。 inputDetail: type: container_stdout containerStdout: allContainers: false namespace: ingress allContainers bool 否 type是container_stdout时,如果要对所有容器生效,则设置为true。 说明: 1. 请保证只有一个配置指定了allContainers: true。 2. 如果多个配置中都配置了allContainers: true,那么最终只有其中一个生效。 3. allContainer是跨namespace的,即:如果配置了allContainers: true,那么本配置中的namespace不生效。 inputDetail: type: container_stdout containerStdout: allContainers: true includeLabels object 否 通过docker容器的Label进行过滤。 inputDetail: type: container_file containerFile: logPath: /data/nginx/log/*.log container: nginx namespace: ingress includeLabels: label_key_1: label_value_1 label_key_2: label_value_2 container string 否 指定docker容器的名称。 nginx workloads array 否 type是container_stdout时,可以通过workloads指定多个工作负载。 inputDetail: type: container_stdout containerStdout: allContainers: false workloads: - namespace: ingress name: ingress-gateway kind: deployment workload object 否 type是container_file时,可以用workload指定一个工作负载。 inputDetail: type: container_file containerFile: logPath: /data/nginx/log/*.log container: nginx namespace: ingress workload: name: ingress-gateway kind: deployment logPath string 否 type是container_file时必选,配置要采集的容器内部的日志文件路径(可以为目录、文件绝对路径、或者模糊匹配),路径长度范围[2, 128]。 1. /var/logs/,采集本目录下后缀为*.log, *.trace, *.out的文件; 2. /var/logs/test.log,只采集该文件; 3. /var/logs/*/a.log,采集/var/logs/目录的下一级目录中的a.log文件 4. /var/logs/service/a*.log,采集/var/logs/service/目录下以字母’a’开头,以’.log’结尾的文件 5. /var/logs/**/a.log,**表示递归5层目录 blackListPath array 否 配置黑名单,每个路径长度范围[2, 128]。 [/var/logs/*/a.log],具体路径规则请参考logPath中示例。 表4 workload配置 字段 类型 是否必选 说明 kind string 是 工作负载的类型 deployment daemonset statefulset job cronjob name string 是 工作负载的名称 namespace string 否 工作负载的namespace container string 否 容器的名称 表5 logDetail配置 字段 类型 是否必选 说明 示例 logType string 是 结构化类型,取值范围: custom_regex:正则分析 json:JSON delimiter:分隔符 logType: json extractRule: simpleLog: '{"json":"test100"}' simpleFields: - fieldName: json type: string userDefinedName: j111 tagFields: - fieldName: hostName type: string extractRule object 否 结构化的详细规则,具体字段请参考表6。 表6 extractRule配置 字段 类型 是否必选 说明 simpleLog string 是 结构化示例日志。示例:"2021-09-09/18:15:41 this log is Error NO 6323" regexRules string 否 正则表达式,当logType=custom_regex时必选,取值范围:[1,5000] tokenizer string 否 分隔符,当logType=delimiter时必选 simpleFields array 否 结构化示例字段列表,配置logDetail时必选,数组长度范围:[1,200] tagFields array 否 结构化tag字段列表,数组长度范围:[1,200] 表7 simpleFields配置 字段 类型 是否必选 说明 fieldName string 是 字段名称,长度范围:[1,50] type string 是 字段的数据类型,取值范围: string long float userDefinedName string 否 logType=json时的自定义名称,长度范围:[1,64] isAnalysis bool 否 是否开启快速分析 表8 tagFields配置 字段 类型 是否必选 说明 fieldName string 是 字段名称,长度范围:[1,50] type string 是 字段的数据类型,取值范围: string long float simpleLog string 否 示例字段,长度范围:[1,64] isAnalysis bool 否 是否开启快速分析
-
使用步骤 创建ltsconfig采集配置。 定义CRD文件即创建ltsconfig采集配置。 CRD配置格式如下所示,具体设置请参考配置参数说明。 apiVersion: v1apiVersion: lts.com/v1kind: LtsConfigmetadata: ## LtsConfig资源名,在集群内唯一 name: xxx-xxxspec: ## 日志组,可选,不填的话用集群对应的日志组 logGroup: xxx ## 日志保留时间,如果配置的logGroup不存在,会以ttlInDays指定的保存时间创建logGroup,取值范围[1,30],默认7天 ttlInDays: xx ## 日志流必填,不存在的话在LTS中创建 logStream: xxx ## 主机组,可选,不填的话用集群对应的默认主机组 hostGroup: xxx ## 定义采集日志源,即日志从哪里被采集 inputDetail: ## 容器标准输出 - 示例1:采集default命名空间中的所有容器的标准输出 ...... 创建完成后,执行如下命令启用该ltsconfig采集配置。 [root@test117-7cents crd]# kubectl apply -f stdout-all.yaml 查看ltsconfig采集配置。 使用kubectl get ltsconfig,查看当前所有的Logtail采集配置 [root@test117-7cents crd]# kubectl get ltsconfig NAME AGElts-crd-stdout-all 73stest 13m 执行kubectl get ltsconfig lts-crd-stdout-all -o yaml,查看Logtail采集配置的详细信息和状态。 [root@test117-7cents crd]# kubectl get ltsconfig lts-crd-stdout-all -o yamlapiVersion: lts.com/v1kind: LtsConfigmetadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"lts.com/v1","kind":"LtsConfig","metadata":{"annotations":{},"name":"lts-crd-stdout-all","namespace":"default"},"spec":{"inputDetail":{"containerStdout":{"allContainers":true},"type":"container_stdout"},"logStream":"logstream-1"}} creationTimestamp: "2021-11-18T06:49:29Z" generation: 1 name: lts-crd-stdout-all resourceVersion: "96627192" selfLink: /apis/lts.com/v1/namespaces/default/ltsconfigs/lts-crd-stdout-all uid: de510f9d-71fd-4379-ae3e-67900df80456spec: inputDetail: containerStdout: allContainers: true type: container_stdout logStream: logstream-1status: Status: '{"log_group_id":"","log_stream_id":"","host_group_id":"","access_config_id":"","structure_config_id":""}' 删除ltsconfig采集配置。 kubectl delete ltsconfig {name} 如果要删除对应的ltsconfig采集配置,只需删除对应的CRD文件即可。
-
使用前配置 请确保已在Kubernetes集群中执行安装Helm v3的命令。 登录到可以执行helm命令的节点,执行如下命令安装lts-controller: curl http://lts-crd-${regionId}.obs.${regionId}.myhuaweicloud.com/lts-crd/lts-controller-install.sh > lts-controller-install.sh; sh lts-controller-install.sh {projectId} {clusterId} {regionId} {accessKeyId} {accessKeySecret} {lbAddress} 表1 参数参考列表 参数 说明 projectId 项目ID clusterId 标识本集群的Id regionId 使用LTS服务的regionId(如cn-north-7) accessKeyId 华为云用户的ak,用于调用LTS的接口时进行认证 accessKeySecret 华为云用户的sk,用于调用LTS的接口时进行认证 lbAddress ICAgent上报数据的地址,非华为云主机的话为跳板机方式 在安装lts-controller的过程中,系统自动完成以下操作: 部署工作负载lts-crd-controller 以DaemonSet方式部署采集器ICAgent 创建自定义资源类型ltsconfig(CRD,Custom Resource Definition)
-
云审计服务支持的LTS操作列表 云审计支持的LTS操作列表如表1所示。 表1 云审计服务支持的LTS操作列表 操作名称 资源类型 事件名称 创建日志组 group createLogGroup 修改日志组 group updateLogGroup 删除日志组 group deleteLogGroup 创建日志流 topic createLogStream 修改日志流 topic updateLogStream 删除日志流 topic deleteLogStream 添加日志桶 logPailSetting addLogPail 删除日志桶 logPailSetting deleteLogPail 添加日志转储至OBS als addLogPailtoObs 修改日志转储至OBS als updateLogPailtoObs 删除日志转储至OBS als deleteLogPailtoObs 批量启动暂停周期性日志转储 als batchActionLogPailtoObs 创建指标过滤器 filter createLogFilter 修改指标过滤器 filter updateLogFilter 删除指标过滤器 filter deleteLogFilter 修改指标过滤器状态 filter updateLogFilterStatus 创建转储 transfer createLogTransfer 修改转储 transfer updateLogTransfer 删除转储 transfer deleteLogTransfer 创建快速查询 searchCriteria createLogSearchCriteria 修改快速查询 searchCriteria updateLogSearchCriteria 删除快速查询 searchCriteria deleteLogSearchCriteria 新增采集路径 logPath createLogAgent 修改采集路径 logPath updateLogAgent 删除采集路径 logPath deleteLogAgent 创建结构化模板 structLogConfig createLogStreamStructConfig 修改结构化模板 structLogConfig updateLogStreamStructConfig 删除结构化模板 structLogConfig deleteLogStreamStructConfig 创建快速分析 wordFreqConfig updateWordFreqConfig 存储日志路径配置 path addLogPath 添加统计规则 rule addRuleStatistics 修改统计规则 rule updateRuleStatistics 删除统计规则 rule deleteRuleStatistics 创建结构化 structurization addStructurization 删除结构化 structurization deleteStructurization 添加kafka实例 dmsKafka registerKafkaInfo 修改kafka实例 dmsKafka updateKafkaInfo 删除kafka实例 dmsKafka deleteKafkaInfo 创建dis转储 kafkaLogAccess createDisTransfer 修改dis转储 kafkaLogAccess updateDisTransfer 删除dis转储 kafkaLogAccess deleteDisTransfer 创建kafka转储 kafkaTransfer createKafkaTransfer 修改kafka转储 kafkaTransfer updateKafkaTransfer 删除kafka转储 kafkaTransfer deleteKafkaTransfer 创建日志清洗 logFilter createLogFilter 修改日志清洗 logFilter updateLogFilter 删除日志清洗 logFilter deleteLogFilter 创建图表 logChart createLogChart 修改图表 logChart updateLogChart 删除图表 logChart deleteLogChart 创建仪表盘 logDashboard createLogDashboard 修改仪表盘 logDashboard updateLogDashboard 删除仪表盘 logDashboard deleteLogDashboard 打开日志超额采集开关 LogCollectionSwitchOperation SwitchLogCollectionON 关闭日志超额采集开关 LogCollectionSwitchOperation SwitchLogCollectionOFF 创建ELB日志桶 elbPailType createElbPail 修改ELB日志桶 elbPailType updateElbPail 删除ELB日志桶 elbPailType deleteElbPail 添加日志路径采集规则 logPathCollectionType createLogPathCollection 修改日志路径采集规则 logPathCollectionType updateLogPathCollection 删除日志路径采集规则 logPathCollectionType deleteLogPathCollection 清理Redis缓存 cleanTenantResourceType deleteCleanTenantResource