日志服务SLS实现云产品可观测实践

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
对象存储 OSS,内容安全 1000次 1年
简介: 认证考试:日志服务SLS实现云产品可观测实践

实验场景:

本实验帮助您快速了解日志服务SLS的使用场景,通过Logtail完成Demo应用的日志与指标数据采集,并完成采集后的数据可视化、数据加工、数据投递等常用场景,帮助您快速构建属于自己的可观测平台。

image.png

  1. 部署Demo应用,产生Demo应用日志数据。

  2. 创建SLS Project,创建两个Logstore,一个用于存放Demo应用日志(后续简称“采集Logstore”),另一个用于Demo应用日志数据加工后存储使用(后续简称“加工Logstore”),创建一个MetricStore用于存放ECS指标。

  3. 创建OSS Bucket用于存放加工Logstore投递的数据。(沙箱自动创建)

  4. ECS实例安装Logtail用于采集Demo应用日志和ECS指标使用。

  5. 使用数据查询加工语句统计每分钟日志level为ERROR数量,并通过可视化柱状图展示。

  6. 使用数据加工功能处理采集Logstore日志中的phone_number、e_mail、user_id等敏感字段数据,加工完后的数据存放在加工Logstore

  7. 使用数据投递功能,投递加工Logstore数据到OSS Bucket。


实验步骤:

切换至Web Terminal。输入ECS登录的用户名和密码进行登录。

下载安装Demo应用,并启动Demo应用。

wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/clouder/sls_demo.zip

显示100%,且saved 即表示下载完成,如下图所示。

image.png

执行如下代码,解压应用。

yum -y install unzip

image.png

unzip sls_demo.zip

image.png

执行如下代码,部署Demo应用。创建Demo应用文件夹,拷贝下载sls_demo_app到Demo应用文件夹,并赋予所有人sls_demo_app可执行权限。

mkdir /etc/demo && cp sls_demo/sls_demo_app /etc/demo/ && chmod a+x /etc/demo/sls_demo_app&&cp sls_demo/demo.service /etc/systemd/system/

image.png

执行如下代码,启动Demo应用服务。拷贝Demo应用服务demo.service到指定目录,设置启动Demo应用服务并设置开启启动。

systemctl enable demo.service && systemctl start demo.service

image.png

执行如下代码,验证Demo应用服务是否启动成功。

systemctl status demo.service

image.png

执行如下代码,查看日志路径。

ls /tmp/demo.log

image.png

执行如下代码,查看日志是否产生。

tail -f /tmp/demo.log

image.png

接下来对SLS资源进行调整

在浏览器地址栏输入如下链接,跳转链接即可进入SLS管理控制台。

https://sls.console.aliyun.com/

点击创建Project按钮,进行Project的创建。

image.png

选择Project所属地域(SLS Project所属地域需要和ECS处于同一个地域!!!),填入Project名称,点击创建,完成Project的创建。

image.png

如下图所示代表SLS Project成功创建,选择关闭即可,后续通过手动方式创建Logstore。

image.png

通过Project列表,选择上一步创建的Project,点击Project名称,即可进入Project。

image.png

接下来创建两个Logstore,一个用于Demo应用日志采集、可视化、数据加工源、数据投递使用(后续简称“采集Logstore”),另一个用于Demo应用日志数据加工后存储使用(后续简称“加工Logstore”)。可以通过下方的表格记录两个Logstore的名称,方便实验时区分两个Logstore的使用场景。

image.png

选择左侧导航菜单,进入Logstore创建向导,填入Logstore名称,完成Logstore的创建。

image.png

image.png

如下图所示代表Logstore创建成功,点击取消按钮即可,后续通过手动方式完成数据接入。

image.png

重复上一步骤,再次创建Logstore(名称为process),最终可以看到日志库Logstore数量为两个。

image.png

image.png

选择左侧导航菜单,进入MerticStore创建向导,填入MerticStore名称,完成MerticStore的创建。

选择MerticStore菜单,点击+号跳出创建MerticStore对话框,填写MetricStore名称为metricstore,点击确定完成MetricStore的创建。

image.png

如下图所示代表MetricStore创建成功,点击取消按钮即可,后续通过手动方式完成数据接入。

image.png

选择左侧导航菜单,回到Logstore中,点击采集Logstore,点击数据接入菜单,选择Logtail配置菜单,点击添加Logtail配置。

image.png

在快速数据接入向导对话框中,点击全部产品菜单,选择日志格式为“JSON-文本日志”。到此已经完成第一步选择日志空间。

image.png

确定后进入到如下页面,创建机器组

image.png

创建机器组步骤一。选择ECS机器,并手动选择实例完成Logtail的安装。

image.png

image.png

勾选ECS实例,ECS实例可通过实验左侧导航栏,选择云产品资源,ECS实例ID获取。点击创建生成自动安装Logtail命令参数,自动安装参数生成完毕后点击确定。

image.png

如下所示安装成功

image.png

创建机器组步骤二。填入机器组名称,机器组标识为默认选项即可,即IP地址作为机器组标识。到此已经完成创建机器组步骤。

image.png

image.png

Logtail配置:设置配置名称,设置日志路径,其余选项为默认值,点击下一步,完成Logtail配置。

填入配置名称。设置日志路径,Demo应用日志路径为/tmp/demo.log,最大监控目录默认为10,监控范围为0-10,所以小浩设置的日志路径/tmp/**/demo.log能匹配到/tmp/demo.log。

image.png

点击刷新直到有日志数据被采集和存储。点击自动生成索引。

image.png

如下图所示表示已完成采集Demo应用的配置。

image.png

选择左侧导航菜单,回到MetricStore,点击数据接入菜单,选择Logtail配置菜单,点击添加Logtail配置。

image.png

在快速数据接入向导对话框中,点击全部产品菜单,选择主机监控。到此已经完成第一步选择日志空间。

image.png

创建机器组:在采集应用日志时已经完成Logtail安装与机器组的创建,此步选择使用现有机器组即可。

image.png

image.png

数据源设置。会自动生成配置名称和插件配置,点下一步完成数据源设置。

image.png

结束:如下图所示表示已完成ECS主机监控的配置。

image.png

选择左侧导航菜单创建仪表盘。

image.png

使用默认布局,填写仪表盘名称,点击确认完成仪表盘的创建。

image.png

在仪表盘列表中点击上一步创建的仪表盘,点击添加新的图表,进入图表编辑模式。

image.png

①图表类型选柱状图,查询分析②选择Logstore(SQL),③选择采集Logstore。

image.png

图表编辑模式中,输入查询分析语句,完成图表配置。

level:ERROR| SELECT COUNT(*) AS "每分钟错误日志总数", date_format(__time__-__time__ %60,'%H:%i:%s') as time GROUP BY time ORDER BY time

image.png

image.png

选择左侧导航菜单,回到Logstore,选择数据处理,点击加工菜单,新建数据加工。

①选择日志存储,点击②“采集Logstore”展开Logstore菜单,选择③新建数据加工。

image.png

填写数据加工语句,完成数据加工,通过预览数据判断是否符合数据加工预期。

数据加工语句,删除日志中的user_id。

e_drop_fields("user_id")

①为原始日志可以看到有user_id字段,②为填写加工语句栏,填写加工语句后,可通过③预览数据查看加工后的数据是否预期(user_id是否删除)。

image.png

④为加工结果,可以看到加工后的日志user_id已经被删除。⑤为运行预览数据数据加工运行结果信息汇总。

image.png

点击①保存数据加工,创建数据加工任务。

image.png

填写数据加工①任务名称,存储目标点击②添加按钮配置数据加工后存储的Logstore。

image.png

存储目标需要配置①目标名称,②目标Project选择本实验创建的Project,③目标库为“加工Logstore”,选择加工范围菜单时间范围选择为④所有,点击⑤确定完成数据加工任务创建。

image.png

image.png

点击加工菜单,点击上一步创建的加工任务,即可查看数据加工概览情况。

选择左侧导航菜单,选择数据处理点击导出菜单,选择OSS(对象存储),新建OSS投递功能任务。

①选择日志存储,点击②“加工Logstore”展开Logstore菜单,点击导出,选择③OSS(对象存储)。

image.png

①配置OSS投递名称为oss-deliver,②填写OSS Bucket名称(上一步获取),其余选项默认即可,点击③确定完成。

image.png

点击OSS(对象存储)找到创建的任务,点击任务通过数据投递概览验证是否投递成功。同时也可以登录OSS控制台,验证投递Bucket是否有数据存在。

image.png

实验完毕,交卷。

证书如下:

image.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
46 1
|
3月前
|
存储 监控 数据库
Django 后端架构开发:高效日志规范与实践
Django 后端架构开发:高效日志规范与实践
71 1
|
1月前
|
Rust 前端开发 JavaScript
Tauri 开发实践 — Tauri 日志记录功能开发
本文介绍了如何为 Tauri 应用配置日志记录。Tauri 是一个利用 Web 技术构建桌面应用的框架。文章详细说明了如何在 Rust 和 JavaScript 代码中设置和集成日志记录,并控制日志输出。通过添加 `log` crate 和 Tauri 日志插件,可以轻松实现多平台日志记录,包括控制台输出、Webview 控制台和日志文件。文章还展示了如何调整日志级别以优化输出内容。配置完成后,日志记录功能将显著提升开发体验和程序稳定性。
68 1
Tauri 开发实践 — Tauri 日志记录功能开发
|
3月前
|
存储 监控 Serverless
阿里泛日志设计与实践问题之Grafana Loki在日志查询方案中存在哪些设计限制,如何解决
阿里泛日志设计与实践问题之Grafana Loki在日志查询方案中存在哪些设计限制,如何解决
|
3月前
|
存储 搜索推荐 大数据
阿里泛日志设计与实践问题之schema-on-read技术的发展对日志搜索的影响是啥,如何解决
阿里泛日志设计与实践问题之schema-on-read技术的发展对日志搜索的影响是啥,如何解决
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
46 2
|
3月前
|
弹性计算 缓存 监控
基于“日志审计应用”的 DNS 日志洞察实践
DNS 解析日志是一种记录 DNS 请求和响应的基础信息,监控 DNS 服务可以帮助用户识别网络活动并保持系统安全。日志审计服务支持采集 DNS 内网解析日志、公网权威解析日志、GTM 日志。理解 DNS 日志的字段含义,洞察 DNS 日志背后所代表的网络信息,既可以帮助发现和诊断 DNS 解析相关的问题,还可以检测和识别潜在的安全威胁。
8181 15
|
3月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
159 0
|
3月前
|
存储 关系型数据库 MySQL
深入MySQL:事务日志redo log详解与实践
【8月更文挑战第24天】在MySQL的InnoDB存储引擎中,为确保事务的持久性和数据一致性,采用了redo log(重做日志)机制。redo log记录了所有数据修改,在系统崩溃后可通过它恢复未完成的事务。它由内存中的redo log buffer和磁盘上的redo log file组成。事务修改先写入buffer,再异步刷新至磁盘,最后提交事务。若系统崩溃,InnoDB通过redo log重放已提交事务并利用undo log回滚未提交事务,确保数据完整。理解redo log工作流程有助于优化数据库性能和确保数据安全。
557 0
|
4月前
|
存储
测试问题之可观测性的本质是什么,SLS在可观测性领域采取了什么样的策略
测试问题之可观测性的本质是什么,SLS在可观测性领域采取了什么样的策略