ELK、EFK、Prometheus、SkyWalking、K8s的排列组合

简介: ELK、EFK、Prometheus、SkyWalking、K8s的排列组合
  • EFK + K8s
  • Prometheus+ K8s
  • SkyWalking + K8s


这3个监控组合都非常不错,那在实际生产过程中,对一家中等规模的微服务业务应用,该如何选型呢?

如果企业采用spring + k8s技术栈,EFK + Prometheus + SkyWalking就是我推荐的监控三套件,这三个分别是日志、metrics和调用链监控的利器,社区生态好。


而CAT主要为物理机/虚拟机场景研发,容器环境应该也支持,但是文档资料较少。总体CAT是一个不错的产品,但是相对门槛较高,社区和文档不足。相比而言,skywalking门槛较低,社区文档好,对容器环境有明确的支持。


方法级监控可以用Promethues,但是需要对方法进行埋点,如果是Spring应用,你用MicroMeter对方法添加相应的注解即可。注意,最好在框架层统一埋点。


Skywalking也可以监控到方法级,前提是需要相应的plugin支持,如果现成的plugin监控不到你的方法,你可以扩展或者自己写plugin。


elastic不适合用于数据存储 那我们项目里用elastic 也相当于给skywalking做了数据库,稳定性和效率怎么看?

elastic属于一种高性能大容量的nosql数据存储,底层基于反向索引数据结构,在大数据存储、搜索和分析方面有广泛用途。它可以做skywalking的存储,也可以做普通日志存储。关于性能稳定性和效率,elastic本身是分布式高性能设计,实际要看你的调优和运维能力,国内公司如携程,有超过50台机器做成的elastic集群,每天收集存储超过TB级别数据量。

fluentd V.S logstash 有何优势在k8s中

不能说有明显的优势,logstash历史比较老一点,fluentd比较新一点,目前是云原生支持的项目之一。尽管存在一些差异,但Logstash和Fluentd之间的相似之处大于它们的区别。 Logstash或Fluentd的用户在日志管理方面遥遥领先。

skywalking可和EFK共用ES吗?ES集群个数和内存CPU如何分配?

因为需使用istio的熔断流量控制,istio也有一些trace什么的zipkin,怎么选择?


skywalking当然可和efk共用ElasticSearch,它们用不同的index,实际要不要这样弄,具体要考虑业务场景/容量需求等因素。集群节点个数和内存CPU建议先粗略估算,然后监控起来(ES有很多监控手段),运行一段时间后根据监控数据优化容量规划。


zipkin的trace监控是应用层的,可以和应用/框架代码紧密集成,开发定制灵活性更高。istio的trace是系统层的,对应用层无倾入,但是开发人员的控制和定制弱。具体框架和运维团队要协商综合考虑,哪种更适合,当然也可以两个都用结合起来。

架构图image.png

image.png

image.png

参考

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
2月前
|
Prometheus 监控 Kubernetes
如何用 Prometheus Operator 监控 K8s 集群外服务?
如何用 Prometheus Operator 监控 K8s 集群外服务?
|
4月前
|
存储 Prometheus Kubernetes
K8s + prometheus + vm(VictoriaMetrics)
K8s + prometheus + vm(VictoriaMetrics)
105 1
|
4月前
|
Prometheus Kubernetes 监控
云原生|kubernetes |使用Prometheus监控k8s cAdvisor篇(进阶篇--- 一)(centos操作系统)
云原生|kubernetes |使用Prometheus监控k8s cAdvisor篇(进阶篇--- 一)(centos操作系统)
424 0
|
6月前
|
Prometheus 监控 Cloud Native
基于k8s+Prometheus+Alertmanager+Grafana构建企业级监控告警系统(下)
基于k8s+Prometheus+Alertmanager+Grafana构建企业级监控告警系统
|
2月前
|
Prometheus Kubernetes 监控
|
3月前
|
Prometheus Kubernetes Cloud Native
kubernetes安装Prometheus
##### 安装 在目标集群上,执行如下命令: ```shell kubectl apply -f https://github.com/512team/dhorse/raw/main/conf/kubernetes-prometheus.yml
|
4月前
|
Prometheus Cloud Native Unix
prometheus|云原生|kubernetes内部安装prometheus
prometheus|云原生|kubernetes内部安装prometheus
60 0
|
6月前
|
Prometheus Kubernetes 监控
【 Kubernetes的Kiali、prometheus、grafana和ELK系统】
【 Kubernetes的Kiali、prometheus、grafana和ELK系统】
123 0
|
6月前
|
存储 Prometheus 监控
基于k8s+Prometheus+Alertmanager+Grafana构建企业级监控告警系统(上)
基于k8s+Prometheus+Alertmanager+Grafana构建企业级监控告警系统
|
2月前
|
存储 监控 数据可视化
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
242 0