阿里云oss(阿里云oss免费额度)


【点击查看】低成本上班族靠谱副业好项目 | 拼多多无货源创业7天起店爆单玩法

【点击查看】逆林创业记 | 拼多多电商店铺虚拟类项目新玩法(附完整词表&检测工具)

【点击查看】逆林创业记 | 小白ai写作一键生成爆文速成课

领300个信息差项目,见公众号【逆林创业记】(添加请备注:网站)

什么是阿里云日志服务

最近非常多的人问我,想做中心化的日志采集方案,大部分人的心中肯定已经有一个选择,那就是大名鼎鼎的ELK(包括不限于EFK) ,而我要推荐的则是阿里云的saas级服务,阿里云日志服务sls。

阿里云日志服务是目前比较少见的一站式saas服务,从采集,处理,到查询、展示,告警、投递,都有完整的功能,并且能够大幅降低维护成本,相比ELK也能大幅降低硬件成本。

阿里云日志核心服务模块如下:

如何存储

阿里云日志服务默认就是存储在该服务内的,并不需要关心存储在哪里,如果需要后续进行分析,可以投递到阿里云oss,或者是阿里云maxcompute来进行后期的计算

如何采集

大部分场景下可以使用logtail,阿里云自己研发的采集组件来完成,如果是安卓手机一类的客户端,可以在客户端集成SDK ,另外还支持logstash等等

如何查询

提供统一的类似Kibana的界面,支持告警阿里云oss,快速查询这些常见功能

日志接入类型丰富

这块接入数据支持的非常多了,常见的文本数据,nginx文本日志,docker、k8s均可以支持。

支持非常丰富的采集类型

个人使用体验

目前我在用的主要是docker标准输出这一项,目前虽然是全docker化运行,但是还没有上k8s,所以没有使用k8s,这里要说的就是不管是docker还是k8s,目前阿里云的处理都是对docker容器本身的label进行过滤,这点要格外注意。另外就是之前遇到了一些采集agent的小问题,但是瑕不掩瑜,依然是非常不错的选择。

相比于ELK 的方式,阿里云日志存储还增加了很多查询语句的类型,相比在Kibana上面更灵活。

我们现在是用阿里云日志服务统一采集后,让研发进行查看,可以通过阿里云RAM进行权限限制,这一点也算是比Kibana强一些,无需关心权限问题

性能方面也非常赞,现在我们日志总量大概20T左右,某单一的project里面存储的大概10TB,查询都是很快可以返回,完全无需担心性能问题。

告警支持钉钉、短信、邮件这些,最小频率基本上可以做到1-5mins,分钟级触发

另外有一点,我个人非常喜欢,阿里云日志服务的钉钉群,有问必答,不必担心不会用,强烈推荐

使用限制:

k8s支持:

目前阿里云日志服务增加了基于daemonset-CRD 的采集方式,通过这种方式,可以快速的对k8s采集进行配置

CRD配置的内部工作流程如下:

使用kubectl或其他工具应用aliyunlogconfigs CRD配置。alibaba-log-controller监听到CRD配置更新。alibaba-log-controller根据CRD内容以及服务端状态,自动向日志服务提交创建Logstore、创建采集配置以及应用机器组的请求。Logtail定期请求配置服务器,获取新的或已更新的配置并进行热加载。Logtail根据配置信息采集各个容器上的标准输出或文本文件。Logtail将采集到的数据发送到日志服务。

有了这个可以大大简化在界面配置的问题,非常轻松的可以实现从k8s配置,界面查看的功能

阿里云日志服务费用

目前看阿里云日志服务费用是比较划算的,20T总量的日志存储,55G+的索引量,每日写入内网8G+,大概每个月不到万元,相比较之下,如果使用托管的ELK,费用就会高非常多了,并且托管的ELK带入冷数据节点也是一笔不小的开销。

费用计算公式:

存储费用+索引费用+读写流量费用+活跃shard+读写次数+外网读取费用

其中后面三项价格非常低廉,并且有一定的免费额度,不用太过于纠结

阿里云日志服务效果展示

下图是新冠疫情的体验报表,和Kibana类似的界面,非常方便

阿里云日志服务官方示例

团队权限管理

团队成员比较多的情况下,需要为成员配置好阿里云的RAM权限,这里我们可以创建一个日志组只读权限,然后将我们团队的相关人员直接放进这个组里面就可以了。虽然阿里云RAM对很多服务支持的不很好,但是日志服务这块还是不错的,权限粒度可以精确到具体的logstore,也就是单个采集项目,如果需要细节配置也可以无忧处理

项目应用探讨

这里面主要探讨一个问题:是所有日志放到一起?还是分开?如果分开,要怎么分?

我们这里做的是一个软件project,对应到日志项目里面一个project,现在在搞微服务化,一个project会有多个微服务组件,我们现在是将单个项目放一起,微服务组件合起来采集,也就是在查询日志的时候只区分大项目,不区分小组件

但是这里会涉及到一个很明显的问题:项目的边界是什么?微服务化后,项目边界变得不再清晰,是个大问题,我们的做法是阿里云oss,通过业务对核心项目进行区分,相同项目分裂成微服务组件的情况下,这些组件使用同一个logstore进行采集,项目区分按照业务进行大项区分,目前是这样,如果各位看官有什么好的想法也可以评论里面讨论

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ3361245237,本站将立刻清除。