概述
阅读对象
本博文主要写给创业团队、技术团队人数 < 5 人、没有专业运维等小微企业作为参考,需要掌握基础的服务器管理、软件开发等经验。
博文主要内容
本博文主要为大家介绍阿里云提供的基础云监控、日志服务两大产品,通过云监控与日志服务可以做到每天不需要时刻关注所开发的软件系统、服务器、数据库等健康状况就掌握异常情况,并能及时进行应急响应和处理。
云监控
官方介绍
云监控服务可用于收集获取阿里云资源的监控指标或用户自定义的监控指标,探测服务可用性,以及针对指标设置警报。使您全面了解阿里云上的资源使用情况、业务的运行状况和健康度,并及时收到异常报警做出反应,保证应用程序顺畅运行。
SLS 日志服务
官方介绍
日志服务(Log Service,简称LOG/原SLS)是针对实时数据一站式服务,在阿里集团经历大量大数据场景锤炼而成。
提供日志类数据采集、消费、投递及查询分析功能,全面提升海量日志处理/分析能力,服务智能研发/运维/运营/安全等场景。
两款产品主要解决问题
- 天然集成,使用阿里云相关产品时云监控会默认设置报警规则,在出现异常例如 CPU 使用率过高时自动触发报警;
- 数据可视化,可以通过云监控监控大盘实时掌握各个云资源或应用的健康状况、性能指标等;
- 监控数据处理,可以通过编写数据收集脚本上传只云监控,并在控制台设置灵活的监控指标、纬度;
- 灵活报警,可以按照企业的实际情况以及所监控的资源或应用级别灵活设置报警规则,例如一般异常报警通知到开发组,重要报警通知到项目经理或技术总监等;
- 全托管服务,日志服务无需自建存储,通过 Agent 收集上传日志即可,不用担心服务器磁盘被日志写满导致应用系统异常;
- 生态丰富,无论是服务端应用(如:Java、PHP)还是浏览器应用(例如:JavaScript)等,均可以接入日志服务进行统一管理;
- 实时性强,写入即可消费,无需按照以往还需要登录服务器查看日志文件,使用日志服务可以在控制台实时查看和分析日志;
如何选择使用
- 云监控使用基础免费版即可体验丰富的功能,根据企业实际情况也可以选择付费版。
- 日志服务目前按量付费,也有免费额度,使用起来整体费用都比较少,几乎可以忽略不计。
案例一、云监控实时检测网站状态,宕机时第一时间响应和处理
1、控制台打开云监控,进入站点管理
2、点击右侧的新建监控任务
3、填写所监控的网址并设置监控频率,这里我们为了让监控更灵敏,设置 1分钟
4、设置报警规则
这里的可用性指一个探测周期内失败率,正常情况下为 100%,我们这里设置 90% 或 95% 即可,平均响应时间指超过多少毫秒无法打开网站即判定为失败,这里我们可以设置为 3000 毫秒,连续阀值这里,有时网站因为网络抖动的原因导致探测点无法打开,这里设置为 1 的话,每次探测点探测失败均会触发报警,这里我们为了避免误报可以设置为 3 次,基本上 3 次均探测失败就不仅仅是网络抖动原因,而是网站确实无法打开了。
5、设置好之后点击创建按钮即可完成,这时我们可以通过列表直观的查看所监控的站点健康状况
案例二、日志服务收集 nginx 访问日志以及分析
1、控制台打开日志服务,未开通日志服务时需要开通后操作,点击创建 Project
这里所属地域可以根据自己的 ECS 服务器或者所收集日志的目标最近区域选择
2、创建好 Project 之后还需要创建 Logstore 存储日志
如果应用的日志比较少,这里的 Shard 数据可以选择 1
3、创建好 Logstore 之后进入数据接入环节
根据实际情况选择对应的接入方式,这里我们使用 nginx 的访问日志做教程,这里选择 nginx 访问日志即可
4、填写配置信息,我们需要知道服务器上 nginx 日志存储的位置,例如存放于 /usr/local/nginx/logs 目录中,我们需要收集 access.log 日志
这里的路径配置这样填写即可
5、打开 nginx.conf 找到 log_format 配置,如图:
填入 NGINX 日志格式中,这里会自动生成 NGINX 键名称
检查无误后点击下一步
6、应用到机器组,这里我们将需要添加的服务器加入到一个机器组中进行批量监控
机器组标识选择 IP 地址,并且填写 ECS 服务器内网 IP 地址
7、添加完成之后确认机器状态正常
若检测异常,参考文档进行解决:https://help.aliyun.com/document_detail/51458.html
8、再次点击 Logtail 配置,进行未完成的应用到机器组的操作
选择我们刚添加的机器组
应用到机器组即可完成
9、配置完成后回到日志库,点击预览确保我们接入正确,并且日志服务收集到 nginx 的访问日志
如果有这样的数据,表明我们的所有配置都是没有问题的
10、接下来我们可以点击查看查看 nginx 的访问日志,这样就不需要登录服务器查看访问日志
11、日志服务高级玩法:根据查询脚本生成报表
请求报表
原始脚本
供复制参考
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
总结
通过云监控、日志服务灵活搭配可以创造我们很多想要的功能,这些需要大家深入研究学习和使用,同时也欢迎大家讨论
点击了解更多详细内容