一 云化 & 容器化场景下,对于一个日志服务来说,需要解决如下问题: 1.如何实时从各个主机上收集各种类型日志。 --采集探针 2.收集日志如何存储。 --存储集群, 成本? 3.日志查询 & 分析。 --分析计算集群, 成本? 4.报表 --报表服务,成本? 日志(Application Log Service,简称ALS)是针对运行在公有云上的应用,提供的实时日志存储&分析服务。提供的服务内容包括:日志数据收集,海量日志检索,日志存储和转储,日志订阅,关键词统计报表等。低成本,高效运维客户日志。
二 ALS架构图: 存储和查询的实现基于开源lucene,http://lucene.apache.org/。 微服务简介 Access: 数据收集代理,接受ICAgent上报数据 Config: 日志配置管理,包括日志文件模型,以及用户相关配置等,并对接外部所有查询请求。 Storage&Query: 日志存储,并提供内部查询接口。 流程简介 上报过程:ICAgent采集日志->Access(Proxy)->DMS 存储过程:Storage从DMS消费数据存储->写入配置到Config 查询过程: Console(API-G)->Config->Storage
三功能介绍 3.1日志数据收集:AOM服务中ICAgent默认提供日志采集能力,包括使用CCE(云容器引擎)部署容器日志以及主机上的系统日志等。 另外,日志服务提供自定义日志路径采集的能力,日志路径包括主机上指定目录和指定服务日志路径 3.2日志实时查看 简单的tail功能 3.3海量日志检索:支持通过滤条件+关键字的方式对租户下日志的全文检索,过滤条件包括集群,服务,主机,时间范围等。 3.4日志存储和转储:用户日志收集上来后,默认集中存储到日志服务中,7天+2G永久免费,更多计费详情参考https://www.huaweicloud.com/price_detail.html#/aom_detail 。同时,日志服务支持将重要日志转储到OBS(对象存储服务)中,用户可以定义日志桶和转储策略,日志服务以桶为单位,将日志转储至OBS。 3.5日志订阅&投递:用户可以把日志服务作为一个收集日志的通道,从DMS(分布式消息服务)中直接获取日志,从而处理自己的业务日志 3.6关键词统计&报表:关键词统计是针对日志对象,统计一段时间内特定关键词出现的频率,我们称之为“统计规则”,每一个统计规则的作用单用是前文提到的日志桶。每一条规则统计的结果将会作为一个指标被投递到AMS(应用监控服务)中,用户可以在AMS对这个指标进行监控和管理,如生成报表或者设置告警规则。 操作视频: https://support.huaweicloud.com/aom_video/index.html API参考:https://support.huaweicloud.com/aom_video/index.html
四日志数据收集 前提:安装好采集探针ICAgent 采集配置: 1. CCE集群下容器日志收集,我们采用的采集方案是通过挂载volume的方式将容器内的日志落地到宿主机,宿主机上通过日志采集ICAgent采集,标准输入stdout和stderr未重定向的日志默认采集,不需要配置 。配置方式参考如下: 2. 主机日志数据收集,通过用户配置采集路径规则,采集目标主机上的日志文件。配置方式参考:
五日志实时查看 日志实时查看,类比Linux上的tail功能, 通过此功能,可以实时查看最新的日志内容。 使用方式: 选择指定日志文件,点击“开启实时查看”,开始实时查看相关日志。 点击“关闭实时查看” ,或者离开当前页面后,停止实时查看功能。 使用限制:暂时不支持tail + grep功能,开启实时查看后,不支持关键词过滤。
六海量日志检索-日志文件查看 很多时候,我们需要从日志中找出一些异常或者ERROR的关键信息, 可以借助日志检索功能实现这样的诉求。 日志检索分为两大块内容: 日志文件: 日志文件实际上是一个“文件树”的视图, 通过“文件树”,能够快速的查找各个服务对应的日志文件的基本信息,包括文件名称、路径、写入时间等。 使用方式: 支持“集群”、“命名空间”、“服务名称”等过滤信息快速查找相关日志文件
如果我们需要从日志中找出一些异常或者ERROR的关键信息, 可以借助日志检索功能实现这样的诉求。 日志搜索: 简单而且好用的一个功能,快速对选定范围内的日志内容进行关键词检索,并且提供模糊和简单的管理搜索能力,如“?”,“*”等模糊,”||”(或),“&&”(与)等这样的关联查询 使用方式: 关键字+过滤条件+时间范围 关键字支持的搜索条件参考下面截图“提示” 过滤条件(包括高级搜索)能够有效地提高搜索结果命中率和搜索效率。 同时支持搜索结果的导出功能,将搜索结果导出为csv结构
七海量日志检索—分词
日志服务默认提供安装“空格”进行分词。在此基础上,用户如果需要通过其他字符进行分词的能力,可以在日志界面上添加。
八日志存储和转储
九日志下载 也许用户也会有一些下载诉求,也可以从日志界面中直接把日志生成原始日志文件,下载到本地进行处理。
十日志订阅(投递) 也行用户也会有一些其他诉求,需要对日志进行二次处理。 那么日志订阅这个能力,应该能满足诉求。 用户可以把日志服务作为一个收集日志的通道,从DMS(分布式消息服务)中直接获取日志,从而处理自己的业务日志 1)需要提前创建好DMS队列 2)需要队列对日志服务进行授权 3)用户可以只订阅日志,不使用日志的存储和分析功能,参考如下提示
十一关键词统计&报表 关键词统计是针对日志对象,统计一段时间内特定关键词出现的频率,我们称之为“统计规则”,每一个统计规则的作用单用是前文提到的日志桶。每一条规则统计的结果将会作为一个指标被投递到AMS(应用监控服务)中,用户可以在AMS对这个指标进行监控和管理,如生成报表或者设置告警规则。 1.关键词统计规则,关键词默认精准匹配(分词符为空格),支持使用*或?进行模糊匹配(*代表多个字符,?代表1个字符),也支持短语匹配(例如Hello World) 2.报表&告警设置,下图是“test11”规则产生的指标,可以针对该指标进行添加到视图生成报表,也可以对其设置阈值,监控其产生的频率