背景知识
日志服务(SLS)
日志服务 (Simple Log Service,简称 SLS) 是云原生观测分析平台,为 Log/Metric/Trace 等数据提供大规模、低成本、实时平台化服务。一站式提供数据采集、加工、分析、告警可视化与投递功能,全面提升研发、运维、运营和安全等场景数字化能力。产品地址:https://www.aliyun.com/product/sls 。
基本概念
功能概览
数据采集:支持Log、Metric、Trace等数据类型,并支持50多种数据源,包括阿里云产品、服务器与应用、物联网设备、移动端、开源软件、标准协议等。
日志存储:支持智能分层存储。数据分层存储时,可降低您长周期存储的成本,同时保证日志的查询、分析、可视化、告警、投递和加工等能力不受影响。
数据加工:提供200多个内置函数、400多个正则表达式、灵活的自定义函数,实现过滤、分裂、转换、富化、复制等效果,满足数据分派、规整、融合等场景。
查询与分析:支持PB级数据实时查询与分析,提供10多种查询运算符、10多种机器学习函数、100多个SQL函数,并支持定时SQL和SQL独享版。
可视化:支持查询与分析结果可视化,提供10多种统计图表,包括表格、线图、柱状图、地图等,并支持基于统计图表自定义仪表盘(支持外嵌与下钻分析)。
告警:提供一站式告警功能,包括告警监控、告警管理、通知(行动)管理等,适用于开发运维、IT运维、智能运维、安全运维、商务运维等多个场景。
消费与投递:支持数据实时消费,适用于Storm消费、Flume消费、Flink消费等场景;支持数据实时投递,适用于将数据投递至OSS、TSDB等云产品。
日志审计:在继承现有日志服务所有功能基础上,还支持多账户下实时自动化、中心化采集云产品日志并进行审计,以及支持审计所需的存储、查询及信息汇总。
使用方式
如何通过日志服务实现个人敏感信息保护
准备原始数据
复制下方地址,在Chromium浏览器打开新页签,粘贴并访问日志服务控制台。
https://sls.console.aliyun.com/
在日志服务控制台下方的Project列表中,选择Project资源所在地域,然后单击Project名称。
在日志存储页面左侧,单击日志库下的“+”号。
在创建Logstore对话框中,输入Logstore名称,打开WebTracking开关,然后单击确定。
Logstore名称:输入nginx-access-log。
WebTracking:打开WebTracking开关,您可以通过WebTracking从HTML、H5、iOS或Android上采集数据到日志服务。
在创建成功对话框中,单击取消。
在日志存储页面左侧,选择日志库>您的Logstore>数据接入>模拟接入,然后单击“+”号。
在快速接入面板中,单击NGINX访问日志下的模拟接入。
在模拟接入页面,单击开始导入。
在模拟接入页面,等待大约一分钟,模拟数据生成后,单击开始使用。
返回如下页面,您可以看到生成的NGINX模拟数据,数据中的客户端IP字段remote_addr和访问者用户名字段remote_user没有脱敏,信息安全隐患非常大。
数据脱敏
在日志存储页面左侧,单击日志库下的“+”号。
在创建Logstore对话框中,输入Logstore名称,打开WebTracking开关,然后单击确定。(该Logstore用来存储脱敏后的数据。)
Logstore名称:输入nginx-access-log-fmt。
WebTracking:打开WebTracking开关,您可以通过WebTracking从HTML、H5、iOS或Android上采集数据到日志服务。
在创建成功对话框中,单击取消。
在日志存储页面左侧,单击nginx-access-log-fmt。在nginx-access-log-fmt页签右上方,单击开启索引。
在查询分析面板中,打开全文索引,单击确定。
在查询分析设置对话框中,单击确认。
在nginx-access-log-fmt页签左侧,单击nginx-access-log。在nginx-access-log页签,单击数据加工。
在nginx-access-log数据加工页签,输入如下加工语句,单击保存数据加工。
e_set("remote_addr", regex_replace(v("remote_addr"), grok("(%{IP})"), replace=r"*.*.*.*"))
e_set("remote_user", regex_replace(v("remote_user"), r"(\S)\S+", replace=r"\1****"))
在创建数据加工规则面板,输入规则名称,单击添加,然后配置存储目标,时间范围选择为所有,单击确定。
规则名称:自定义规则名称,例如mask-sensitive-info。
目标名称:存储目标的名称,输入nginx-access-log-fmt。
目标Region:选择您的Project资源所在地域。
目标Project:选择您的Project名称。
目标库:选择nginx-access-log-fmt。
时间范围:选择所有。
在创建结果对话框中,单击确认。
在nginx-access-log页签左侧,单击nginx-access-log-fmt。在nginx-access-log-fmt页签右上方,单击查询/分析。
返回如下页面,您可以看到NGINX模拟数据中的客户端IP字段remote_addr和访问者用户名字段remote_user已经脱敏。
查看数据加工任务及开启监控告警
在日志存储页面左侧,选择日志库>nginx-access-log>数据处理>加工>您的数据加工任务(例如下图的mask-sensitive-info)。
返回如下页签,您可以看到数据加工任务详情和执行状态。
在数据加工概览页签的执行状态区域,单击开启监控。
在告警中心页签,选择所有监控规则,单击开启。
在提示对话框中,单击确定。
返回如下页面,当状态为已开启时,表示您已成功开启监控,日志服务会在数据加工存在异常时,为您发送告警通知,便于您快速发现数据加工过程中的异常问题。
推荐
更多文章见:
日志服务SLS实现云产品可观测实践(https://developer.aliyun.com/article/1343018?spm=a2c6h.13148508.setting.30.61624f0ehG0bti)