日志服务SLS入门指南

  • 什么是日志服务SLS
  • Nginx日志采集
  • 部署Nginx
  • 创建Logstore
  • 接入数据
  • 数据脱敏
  • 创建脱敏Logstore
  • 数据加工
  • 告警设置
  • 添加告警规则
  • 查看告警
  • 写在最后


什么是日志服务SLS

在说到日志服务SLS之前,首先了解一下什么是日志服务SLS?日志服务SLS是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能,全面提升您在研发、运维、运营、安全等场景的数字化能力。关于日志服务的更多内容可以参考官方文档:日志服务SLS 日志服务SLS的官方首页地址:https://www.aliyun.com/product/sls 在了解了什么是日志服务SLS之后,下面我们就开始上手操作吧。

Nginx日志采集

在进行Nginx日志采集之前,我们首先需要部署Nginx服务

部署Nginx

安装Nginx运行需要的插件

# 安装gcc

yum -y install gcc

# 安装pcre

yum install -y pcre pcre-devel

# 安装zlib

yum install -y zlib zlib-devel

下载Nginx安装包并解压

# 下载安装包

wget http://nginx.org/download/nginx-1.17.10.tar.gz

# 解压

tar -zxvf nginx-1.17.10.tar.gz

编译安装Nginx

cd nginx-1.17.10 

./configure 

make && make install

启动Nginx

cd /usr/local/nginx/

sbin/nginx ;tail -f ./logs/access.log

启动完成之后打开浏览器输入Nginx部署的云服务器ECS的公网地址即可以看到请求日志信息

日志服务SLS入门指南_日志服务

创建Logstore

登录日志服务SLS控制台:https://sls.console.aliyun.com/ 点击你想要操作的Project项目名称

日志服务SLS入门指南_数据库_02


点击日志库 + 号,输入Logstore名称及勾选WebTracking ,其他的默认即可

日志服务SLS入门指南_日志服务_03


点击【确定】之后

日志服务SLS入门指南_SLS_04


这里暂时先不进行数据接入,因此点击【取消】

接入数据

再次回到日志服务SLS控制台首页,选择【Nginx-文本日志】

日志服务SLS入门指南_数据_05


可以看到Nginx接入数据配置,

日志服务SLS入门指南_数据_06


选择项目Project以及刚才创建的Logstore,点击【下一步】

日志服务SLS入门指南_日志服务_07


这里选择【手动选择实例】,选择你需要操作的云服务器ECS,点击【创建】在弹出的弹框提示中选择【继续创建】

日志服务SLS入门指南_数据_08


看到成功状态之后点击【确认安装完毕】

日志服务SLS入门指南_Nginx_09


输入名称,点击【下一步】进入机器组配置,其中应用机器组就选我们刚才创建的机器组【test2023】,点击【下一步】进入Logtail配置

日志服务SLS入门指南_数据库_10


输入Logtail配置名称、日志路径、Nginx日志配置,输入日志样例

120.55.87.13 - - [30/Jun/2023:20:50:35 +0800] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"

点击校验,

日志服务SLS入门指南_数据_11


检验成功后点击【下一步】,到 查询日志分析 继续点击【下一步】

日志服务SLS入门指南_Nginx_12


点击【查询日志】跳转到logstore2023的【查询/分析】可以看到采集到的Nginx的原始日志

日志服务SLS入门指南_SLS_13

数据脱敏

创建脱敏Logstore

在接入Nginx数据之后我们可以看到日志数据中的敏感信息是可以直接看到的

日志服务SLS入门指南_数据库_14


这样会造成数据的不安全,那么我们需要对这部分敏感数据进行脱敏操作,按照上一步的操作 创建Logstore 的步骤再次创建logstore202302用于存储脱敏后的数据

日志服务SLS入门指南_日志服务_15


点击新创建的logstore202302

日志服务SLS入门指南_数据库_16


点击【开启索引】

日志服务SLS入门指南_Nginx_17


开启【全文索引】后点击【确定】

日志服务SLS入门指南_数据库_18


点击【确认】完成

数据加工

回到原始Nginx日志数据日志库logstore2023,点击【数据加工】

日志服务SLS入门指南_Nginx_19


输入需要处理的Nginx日志字段中的敏感字段处理方案

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****"))

日志服务SLS入门指南_数据_20


单击【保存数据加工】,在弹出页面中输入任务名称

日志服务SLS入门指南_Nginx_21


输入【目标名称】选择【目标库】加工范围选择【所有】单击【确定】,注意这里如果没有对角色授权的话需要先授权,授权成功之后点击【确定】,数据加工任务创建完成之后回到脱敏数据的日志库logstore202302,点击【查询/分析】按钮既可以看到脱敏后的数据

日志服务SLS入门指南_SLS_22

告警设置

添加告警规则

这里我们可以设置告警阈值检测Nginx日志信息,比如在logstore2023输入查询语句

status >= 400 | select status, count(*) as cnt group by status

可以查询到Nginx日志中的400以上错误码的日志信息,点击右上角【另存为告警】

日志服务SLS入门指南_数据_23


打开告警配置页面

日志服务SLS入门指南_数据库_24


点击【确定】告警规则添加成功。

查看告警

告警规则添加成功之后,后续可以通过如下步骤查看告警信息。点击左侧【告警】

日志服务SLS入门指南_Nginx_25


找到我们新建规则的【查看】可以看到实际的告警次数

日志服务SLS入门指南_SLS_26


点击【告警历史】的【查看详情】可以查看当前告警信息的详细内容,到这里我们基于日志服务SLS进行的Nginx日志采集,日志信息脱敏以及告警设置就完成了。

写在最后

最后来说一下本次对于日志服务SLS操作的整体感受,基本上整体操作可以参考官方文档的【快速入门】即可完成以上操作,不过在操作过程中,文档中也有描述不详尽的地方,这个时候可以辅助参考官方提供的在线课程 手把手进阶学习日志服务来完成对日志服务的基础操作。
另外,整个日志服务SLS的体系也比较完善,从数据采集、数据存储到数据加工、数据分析最后到告警、可视化及日志应用等,全套内容很丰富很全面,接入企业应用的话参考官方文档就够了,赞一个。