可观测性:监控与日志

果子哥丶 果子哥丶     2023-03-13     491

关键词:

1、监控

监控类型

  • 资源监控:cpu、内存、网络等。
  • 性能监控:apm监控,一般是通过一些 Hook 的机制在,在虚拟机层、字节码执行层通过隐式调用,或者是在应用层显示注入,获取更深层次的一个监控指标,一般是用来应用的调优和诊断的。
  • 安全监控:对安全进行的一系列的监控策略,类似像越权管理、安全漏洞扫描等。
  • 事件监控:normal的事件变成-warning事件

Heapster

  • 每一个 Kubernetes 节点上有一个 cadvisor,是负责数据采集的组件。当 cadvisor 把数据采集完成,Kubernetes 会把 cadvisor 采集到的数据进行包裹,暴露成相应的 API。以下是三种API接口
    • summary接口
    • kubelet接口
    • Prometheus接口
  • Heapster支持summary和kubelet接口,定期去节点拉取数据,然后暴露成service。
  • k8s的dashboard或者hpa-controller获取到监控数据,实现相对应的弹性收缩等。

metrics-service取代了Heapster

  • 需要采集更多其他的资源信息,但Heapster的可扩展性有限
  • Heapster为了保证数据的离线能力,提供了很多sink,后期这些缺乏维护,导致Heapster项目出现了很多问题
  • Metrics-Server 的核心产生原因是为了实现监控接口的标准化。

Metrics-Service内部组成

  • core
  • source
  • API
  • API Registration:将相应的数据接口注册到k8s的API Server。用户通过API server访问API注册层,再到metrics-server

k8s监控接口标准

  • resource metrice:资源监控,包含节点、pod、namespace、class,通过metrics.k8s.io接口获取到
  • custom metrics:通过custom.metrics.k8s.io接口获取到,主要实现的Prometheus,提供的是资源监控和自定义监控(应用层自己定义,然后通过标准的Prometheus的client,暴露出相应的metrics,且被Prometheus采集)
  • External metrics:获取云产品的监控指标

Promethues

  • 很多开源项目以Prometheus作为监控标准

  • 针对数据库和中间件,有对应的Prometheus采集客户端,比如说etcd、zookeeper、mysql和postgresql

  • 数据采集链路

    • push到gateway,Prometheus通过pull拉取数据,防止短时间数据业务漏采。因为pull有周期,如果周期时间大于任务运行时间,单纯直接从任务上pull会遗失数据
    • 标准pull,直接去对应的数据任务上拉取数据
    • Prometheus之间的数据同步
  • 数据源配置

    • 标准的静态配置
    • 支持service discovery【配置annotation】
  • Operator:Prometheus Operator 可能是目前所有 Operator 里面做的最复杂的,但是它里面也是把 Prometheus 这种动态能力做到淋漓尽致的一个 Operator,如果在 K8s 里面使用 Prometheus,比较推荐使用 Prometheus Operator 的方式来去进行部署和运维。

2、日志

日志

  • 主机内核的日志
    • 网栈的异常: iptables mark
    • 驱动异常的日志
    • 文件系统异常日志
    • 节点异常,kernel panic 或者oom(out of memory)
  • Runtime的日志
    • Docker的一些日志,排查类似像删除pod hang的问题
  • 核心组件的日志
    • 外置的中间件:数据库etcd、网络Ingress
    • 内置的组件:API server、kube-scheduler、controller-manager、kubelet
  • 应用日志
    • 宿主机文件:日志文件写到宿主机,通过宿主机的日志轮转的策略进行日志的轮转,通过宿主机的agent进行采集
    • 容器内文件:通过sidecar的streaming的container,转写到stdout,通过stdout写到相应的log-file,然后通过本地的日志轮转,以及外部的agent采集
    • 容器标准/错误输出:agent采集stdout或者API获取数据
  • 举例
    • Fluentd在每个节点上起一个agent,agent会将数据汇聚到fluentd的server,server可以把数据离线到es,通过kibana展示

可观测性—overview

目录文章目录目录云原生可观测性的背景云原生可观测性与传统监控的区别可观测性的维度基础设施层业务层可观测性系统的技术栈可观测性的数据结构类型可观测性的系统组件CNCFOpenTelemetry可观测性系统的应用场景云原生可观... 查看详情

论自建可观测性的成本与收益

建立可观测性,是应该自己搭建,还是直接购买商业产品呢?有成本,我们必然希望它伴随着收益。建立可观测性的回报,主要是在系统可靠性的提升上。可观测性可以为最终用户带来更好的体验和服务,满足业务的需求,甚至... 查看详情

深入解读应用可观测性

...门的视角,具备比原有监控更广泛、更主动的能力,“可观测性”概念诞生了。什么是可观测性可观测性(Observability)一词最早出现在控制论领域,有着几十年的历史。随着云原生时代的到来,2018年,CNCF率先将可观测性一词引... 查看详情

在kubernetes中从0打造可观测性

...tes中使用Grafana、Prometheus、Loki、Tempo、OpenTelemetry来搭建可观测性平台。其中Grafana作为操作面板,Prometheus、Loki、Tempo作为数据源,分别用来获取指标、日志以及跟踪数据。同时,我们还将使用Exemplars将trace_id与Java指标相关联,使... 查看详情

企业实践|分布式系统可观测性之应用业务指标监控

本文主要讲述如何建立应用业务指标Metrics监控和如何实现精准告警。Metrics可以翻译为度量或者指标,指的是对于一些关键信息以可聚合的、数值的形式做定期统计,并绘制出各种趋势图表。透过它,我们可以观察系统的状态与... 查看详情

中国工商银行基于ebpf技术的云原生可观测图谱探索与实践

...景。在这个背景下,中国工商银行积极开展云原生可观测图谱的探索和实践,针对可观测体系中的痛难点,通过深入研究内核新技术,进一步完善云原生技术版图。业界云原生可观测体系痛点中国工商银行早期基... 查看详情

分布式架构-可观测性-聚合度量

系列目录分布式架构-可观测性(一)-原理概览分布式架构-可观测性(二)-事件日志分布式架构-可观测性(三)-链路追踪分布式架构-可观测性(四)-聚合度量引子  分布式架构的可观测性,度量(Metrics)的目的是揭示系统的总体运行... 查看详情

arms实践|日志在可观测场景下的应用

日志在可观测场景下的应用随着IT架构改变与云原生技术实践,融入开发与业务部门视角,运维团队具备比原有监控更广泛、更主动的可观测能力。日志作为可观测三支柱(Tracing、Metrics、Logs)之一,帮助运维... 查看详情

玩转分布式架构下的可观测性

可观测性背景云原生可观测性是从传统软件监控及数据分析可视化工具中,总结出在云原生领域中,从底层容器基础设施、通用技术组件到业务应用系统全链路监控运维、运营治理等产品化体系化的能力诉求。可观测性... 查看详情

阿里千万实例可观测采集器-ilogtail正式开源

简介:11月23日,阿里正式开源可观测数据采集器iLogtail。作为阿里内部可观测数据采集的基础设施,iLogtail承载了阿里巴巴集团、蚂蚁的日志、监控、Trace、事件等多种可观测数据的采集工作。iLogtail运行在服务器、容... 查看详情

科技云报道:2023年,可观测性迎来哪些新趋势?

科技云报道原创。可观测性不是一个新鲜的名词,但是近年来随着云原生技术的发展,在带来效率、可用性提升的同时也增加了复杂度,而可观测性成为降低这种复杂度的唯一手段,因此被推到了前所未有的重要... 查看详情

分布式架构-可观测性-事件日志

一、原理概览日志用来记录系统运行期间发生过的离散事件。日志就像阳光与空气,无可或缺却不太被重视。打印日志简单,也并不简单,尤其是复杂的分布式系统,就很难只依靠tail、grep、awk来从日志中挖掘信息了,往往还要... 查看详情

serverless可观测性

 整体解决方案 指标确定指标对于使用函数计算的用户而言,更关心的是业务逻辑,因此,常用的用户侧函数监控指标会包括以下几种:函数的总执行次数;函数的平均执行耗时;关键错误类型的发生次数(超时、并发超... 查看详情

观测云品牌正式亮相,携手通信院共推国内可观测性概念与技术发展!

...果,而由通信院主导、驻云科技参与制定的《中国可观测性标准》也在大会上重磅推出。 系统的可观测性是目前全球技术圈都在关注的一个热门话题,此次《中国可观测性标准》的发布迅 查看详情

聊聊可观测性

...博客:www.jokerbai.com随着分布式架构逐渐成为主流,“可观测性”一词也日益频繁地被人提起,它涉及的范围比较广泛,主要概括为如下三类:聚合度量(metrics)事件日志(logging)链路追踪(tracing)这三个方向虽然各有千秋,... 查看详情

istio可观测性(链路)

可观测性的英文是Observability,这是伴随着云原生技术发展产生的一个新兴词汇,在传统的IT中,并没有这种说法。简单来说,可观测性是通过系统输出信息到外部,以检测系统内部的运行状态。Trace,通过内部打点的方式串联起... 查看详情

一起体验skywalking+es8.5.x实时监控应用运行信息

...板问题,更好的持续优化,需要一套完备的”可观测性“系统,为系统架构师们或者决策者们提供数据库支持。可观测性什么是可观测性呢?简单来说,就是日志、指标、链路追踪的整套监控体系。图示:... 查看详情

如何专业化监控一个kubernetes集群?

简介:本文会介绍Kubernetes可观测性系统的构建,以及基于阿里云云产品实现Kubernetes可观测系统构建的最佳实践。作者:佳旭阿里云容器服务技术专家 引言 Kubernetes在生产环境应用的普及度越来越广、复杂度越来越高,随... 查看详情