可观测性技术

eBPF系列之:DeepFlow 扩展协议解析实践(MongoDB协议与Kafka协议)

概述: 如何分析一个协议(MongoDB) 协议文档的分析思路 MongoDB协议操作码说明表 对最常见的操作码OP_MSG分析 在DeepFlow Agent扩展一个协议解析采集 DeepFlow Agent的开发文档概要 代码指引 定义一个协议,并用一个常量标识。 为新协议准备解析逻辑 定义结构体 实现 L7ProtocolParserInterface 利用Wasm插件扩展DeepFlow的协议采集 Kafka协议分析 Kafka的Header和Data概览 Kafka的Fetch API Kafka的Produce API Kafka协议DeepFlow Agent原生解码 DeepFlow Agent的 Wasm 插件 Wasm Go SDK 的框架 插件代码指引 结语 原生Rust扩展 Wasm插件扩展 附录 概述: MongoDB 目前使用广泛,但是缺乏有效的可观测能力。 DeepFlow 在可观测能力上是很优秀的解决方案,但是却缺少了对 MongoDB 协议的支持。 该文是为 DeepFlow 扩展了 MongoDB 协议解析,增强 MongoDB 生态的可观测能力,简要描述了从协议文档分析到在 DeepFlow 内实现代码解析的过程拆解。

Continue reading →

VictoriaMetrics的指标流聚合能力应用

社区VM对指标流聚合能力分析与问题 VictoriaMetrics开源项目的原生能力 VictoriaMetrics项目中的流聚合能力是从1.86版本开始整合到vmagent的,具体可参考: https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3460 从源码分析来看,流集合能力如图:

Continue reading →

eBPF系列之:Pixie浅剖析

部署过程和指令参考:pixie install Pixie平台主要由以下组件组成: Pixie Edge Module 边缘模块(PEM): Pixie’s agent, installed per node. PEMs use eBPF to collect data, which is stored locally on the node. Pixie的代理,安装在每个节点上。PEM使用eBPF收集数据,这些数据存储在节点本地。

Continue reading →

闲聊一下CPU时序和现代操作系统二三事

时分系统和Linux 首先我们补习一下时分系统,时分系统是一个非常重要的操作系统概念,它最大限度地提高了运算机的利用率,是实现多道程序并发执行的重要手段。 我们日常工作用到的Linux系统 内核也采用了时分系统的思想,主要体现在以下几个方面:

Continue reading →

Eyes On You:海量多云异构下的监控平台2022产品化演进之路

在多云部署、全球化组网、服务规模指数级增长的互联网业务场景中,监控平台早已超越“指标采集+告警通知”的基础定位,成为保障全链路稳定性的核心基建。本文基于大型互联网企业监控平台的真实演进历程,拆解2022年监控平台从规模化覆盖向产品化、易用化、智能化升级的完整规划与落地思路。

Continue reading →

监控系统企业架构演进史-拨测监控

前情概述: 在《监控系统企业架构演进史-跨地域混合云》中,监控系统已经逐步成熟且企业化发展。 这一章节简单讲述一下期间的拨测能力搭建,以下是这套系统的发展史,在监控平台搭建的过程中,内部监控采集还不足以满足企业业务需求,在计划发展apm之前,异地拨测的黑匣子监控也纳入了该系统的一个子功能。

Continue reading →

监控系统企业架构演进史-跨地域混合云

前情概述: 在《监控系统企业架构演进史-初入Prometheus》中,监控系统已经从单体架构升级到单IDC分布式架构了。 前一篇文章的内容是适用于虚拟机部署和容器部署的。Prometheus是云原生时代的产物,一般和Kubernetes配套使用,但是Prometheus本身也能在非Kubernetes取替传统监控如Zabbix使用的。 在该篇文章中,开始以Kubernetes的部署来升级整个监控系统架构,使之在跨地域混合云的业务场景中更具灵活性。

Continue reading →

Eyes On You:从SRE理念到Prometheus监控体系落地实践

在互联网业务分布式、高并发、多云部署的大背景下,SRE(网站稳定性工程) 成为保障服务可用性的核心角色,而监控体系则是SRE的“眼睛”。本文从SRE核心理念出发,拆解现代监控体系的痛点、技术栈选型、Prometheus核心原理与告警实战,还原一套可落地的企业级监控建设思路。

Continue reading →

监控系统企业架构演进史-初入Prometheus

Prometheus是一个开源的监控与时间序列数据库系统,在近年来得到了越来越广泛的应用。 官方的架构图如图所示: 本系列文章会以Prometheus的在一个企业里的部署架构演进过程中逐步理解和深入各种组件和概念。 先通过下图简单了解这个演进发展史

Continue reading →

监控采集点点记录

MYSQL的监控 MySQL权限经验原则 权限控制主要是出于安全因素,因此需要遵循一下几个经验原则: 只授予能满足需要的最小权限,防止用户干坏事。比如用户只是需要查询,那就只给select权限就可以了,不要给用户赋予update、insert或者delete权限。 创建用户的时候限制用户的登录主机,一般是限制成指定IP或者内网IP段。 初始化数据库的时候删除没有密码的用户。安装完数据库的时候会自动创建一些用户,这些用户默认没有密码。 为每个用户设置满足密码复杂度的密码。 定期清理不需要的用户。回收权限或者删除用户。 eg:

Continue reading →