小微企业阿里云最佳实践系列(四):云监控与 SLS 日志服务

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

概述
阅读对象
本博文主要写给创业团队、技术团队人数 < 5 人、没有专业运维等小微企业作为参考,需要掌握基础的服务器管理、软件开发等经验。

博文主要内容
本博文主要为大家介绍阿里云提供的基础云监控、日志服务两大产品,通过云监控与日志服务可以做到每天不需要时刻关注所开发的软件系统、服务器、数据库等健康状况就掌握异常情况,并能及时进行应急响应和处理。

云监控
官方介绍
云监控服务可用于收集获取阿里云资源的监控指标或用户自定义的监控指标,探测服务可用性,以及针对指标设置警报。使您全面了解阿里云上的资源使用情况、业务的运行状况和健康度,并及时收到异常报警做出反应,保证应用程序顺畅运行。

SLS 日志服务
官方介绍
日志服务(Log Service,简称LOG/原SLS)是针对实时数据一站式服务,在阿里集团经历大量大数据场景锤炼而成。
提供日志类数据采集、消费、投递及查询分析功能,全面提升海量日志处理/分析能力,服务智能研发/运维/运营/安全等场景。

两款产品主要解决问题
天然集成,使用阿里云相关产品时云监控会默认设置报警规则,在出现异常例如 CPU 使用率过高时自动触发报警;
数据可视化,可以通过云监控监控大盘实时掌握各个云资源或应用的健康状况、性能指标等;
监控数据处理,可以通过编写数据收集脚本上传只云监控,并在控制台设置灵活的监控指标、纬度;
灵活报警,可以按照企业的实际情况以及所监控的资源或应用级别灵活设置报警规则,例如一般异常报警通知到开发组,重要报警通知到项目经理或技术总监等;
全托管服务,日志服务无需自建存储,通过 Agent 收集上传日志即可,不用担心服务器磁盘被日志写满导致应用系统异常;
生态丰富,无论是服务端应用(如:Java、PHP)还是浏览器应用(例如:JavaScript)等,均可以接入日志服务进行统一管理;
实时性强,写入即可消费,无需按照以往还需要登录服务器查看日志文件,使用日志服务可以在控制台实时查看和分析日志;
如何选择使用
云监控使用基础免费版即可体验丰富的功能,根据企业实际情况也可以选择付费版。
日志服务目前按量付费,也有免费额度,使用起来整体费用都比较少,几乎可以忽略不计。
案例一、云监控实时检测网站状态,宕机时第一时间响应和处理
1、控制台打开云监控,进入站点管理
image

2、点击右侧的新建监控任务
image

3、填写所监控的网址并设置监控频率,这里我们为了让监控更灵敏,设置 1分钟
image

4、设置报警规则
image

这里的可用性指一个探测周期内失败率,正常情况下为 100%,我们这里设置 90% 或 95% 即可,平均响应时间指超过多少毫秒无法打开网站即判定为失败,这里我们可以设置为 3000 毫秒,连续阀值这里,有时网站因为网络抖动的原因导致探测点无法打开,这里设置为 1 的话,每次探测点探测失败均会触发报警,这里我们为了避免误报可以设置为 3 次,基本上 3 次均探测失败就不仅仅是网络抖动原因,而是网站确实无法打开了。
5、设置好之后点击创建按钮即可完成,这时我们可以通过列表直观的查看所监控的站点健康状况
image

案例二、日志服务收集 nginx 访问日志以及分析
1、控制台打开日志服务,未开通日志服务时需要开通后操作,点击创建 Project
image

这里所属地域可以根据自己的 ECS 服务器或者所收集日志的目标最近区域选择
2、创建好 Project 之后还需要创建 Logstore 存储日志
image
image

如果应用的日志比较少,这里的 Shard 数据可以选择 1
3、创建好 Logstore 之后进入数据接入环节
image
image

根据实际情况选择对应的接入方式,这里我们使用 nginx 的访问日志做教程,这里选择 nginx 访问日志即可
4、填写配置信息,我们需要知道服务器上 nginx 日志存储的位置,例如存放于 /usr/local/nginx/logs 目录中,我们需要收集 access.log 日志
image

这里的路径配置这样填写即可
image

5、打开 nginx.conf 找到 log_format 配置,如图:
image

填入 NGINX 日志格式中,这里会自动生成 NGINX 键名称
image

检查无误后点击下一步
6、应用到机器组,这里我们将需要添加的服务器加入到一个机器组中进行批量监控
image

机器组标识选择 IP 地址,并且填写 ECS 服务器内网 IP 地址
image

7、添加完成之后确认机器状态正常
image

若检测异常,参考文档进行解决:https://help.aliyun.com/document_detail/51458.html
8、再次点击 Logtail 配置,进行未完成的应用到机器组的操作
image

选择我们刚添加的机器组
image

应用到机器组即可完成
9、配置完成后回到日志库,点击预览确保我们接入正确,并且日志服务收集到 nginx 的访问日志
image

如果有这样的数据,表明我们的所有配置都是没有问题的
image

10、接下来我们可以点击查看查看 nginx 的访问日志,这样就不需要登录服务器查看访问日志
image
image

11、日志服务高级玩法:根据查询脚本生成报表
请求报表
image

原始脚本
image

供复制参考

request_uri:/api/* | select request_uri, count(1) count, round(avg(request_time), 2) request, round(avg(response_time),2) response group by request_uri order by count desc limit 10

总结
通过云监控、日志服务灵活搭配可以创造我们很多想要的功能,这些需要大家深入研究学习和使用,同时也欢迎大家讨论
了解更多详情可点击加关注

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
0
0
0
4
分享
相关文章
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
205 9
优化 Apache 日志记录的 5 个最佳实践
Apache 日志记录对于维护系统运行状况和网络安全至关重要,其核心包括访问日志与错误日志的管理。通过制定合理的日志策略,如选择合适的日志格式、利用条件日志减少冗余、优化日志级别、使用取证模块提升安全性及实施日志轮换,可有效提高日志可用性并降低系统负担。此外,借助 Eventlog Analyzer 等专业工具,能够实现日志的高效收集、可视化分析与威胁检测,从而精准定位安全隐患、评估服务器性能,并满足合规需求,为强化网络安全提供有力支持。
优化 Apache 日志记录的 5 个最佳实践
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
208 7
数据采集监控与告警:错误重试、日志分析与自动化运维
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
266 13
简单聊聊MySQL的三大日志(Redo Log、Binlog和Undo Log)各有什么区别
在MySQL数据库管理中,理解Redo Log(重做日志)、Binlog(二进制日志)和Undo Log(回滚日志)至关重要。Redo Log确保数据持久性和崩溃恢复;Binlog用于主从复制和数据恢复,记录逻辑操作;Undo Log支持事务的原子性和隔离性,实现回滚与MVCC。三者协同工作,保障事务ACID特性。文章还详细解析了日志写入流程及可能的异常情况,帮助深入理解数据库日志机制。
397 0
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
183 5
图解MySQL【日志】——Redo Log
图解MySQL【日志】——Undo Log
Undo Log(回滚日志)是 MySQL 中用于实现事务原子性和一致性的关键机制。在默认的自动提交模式下,MySQL 隐式开启事务,每条增删改语句都会记录到 Undo Log 中。其主要作用包括:
190 0
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
434 35
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL事务日志-Undo Log工作原理分析
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
241 7
MySQL事务日志-Undo Log工作原理分析

相关产品

  • 日志服务
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等

    登录插画

    登录以查看您的控制台资源

    管理云资源
    状态一览
    快捷访问