[转帖]使用 SkyWalking 监控 MySQL(一)工具与方案

使用,skywalking,监控,mysql,工具,方案 · 浏览次数 : 0

小编点评

**GreatSQL社区原创内容** **SkyWalking v9.1.0监控工具简介** SkyWalking 是一个分布式应用程序性能监视 (APM) 工具,专为微服务、云原生架构和基于容器 (K8s) 架构而设计。 **主要功能:** - 全路径跟踪 - 指标采集 - 日志记录 - 多编程语言及平台支持(Java/C/C++/Go/Rust/Node/PHP)的代理收集 - 支持 Service Mesh (Stio + Envoy) **优点:** - 一站式全功能解决方案 - 支持全路径跟踪、指标采集和日志记录 **缺点:** - 依赖外部存储组件(H2/MySQL/PostgreSQL/Elasticsearch) - 非侵入式指标采集方式,需要手动修改配置文件 - 某些平台支持需要扩展 **其他监控工具比较:** - Zabbix - Prometheus - ELK - Zipkin - Jaeger **使用说明:** 官方文档不完善,只提供参数手册加功能列表。 ebpf agent 实现目前支持 Go 和 C 混合的硬编实现。 Ravor 远程执行 profiling 分析。

正文

https://my.oschina.net/GreatSQL/blog/5567471

 

 

* GreatSQL 社使

注:本文适用于 SkyWalking v9.1.0。


SkyWalking 简介

SkyWalking 是一个分布式系统的应用程序性能监视(APM)工具,专为微服务、云原生架构和基于容器(K8s)架构而设计。当前版本具备了全路径跟踪、指标采集、日志记录等功能,并对多种编程语言及平台(Java/C/C++/Go/Rust/Node/PHP 等)提了采集代理(agent),并对 service mesh(stio + Envoy )提供支持。

SkyWalking 的对比其他常用监控工具  Zabbix、Prometheus、ELK、Zipkin、Jaeger 等有以下特点:

优点

  1. 一站式全功能的解决方案,支持全路径跟踪、指标采集和日志记录。当前版本仍需依赖外部存储组件(H2/MySQL/PostgreSQL/Elasticsearch)。项目自带的 BanyanDB 正在积极研发中,正式发布后可不再依赖外部存储。

  2. 非侵入式为主的指标采集方式,一般不需要代码级的调整,对几十种主流 Java 组件都有官方插件支持。Java 程序通过 javaagent+bytebuddy 实现动态生成监控插件,Native 应用则通过 ebpf 实现类似功能。

  3. 标准协议的支持,支持 OpenTelemetry、Kafka、estapi、Zabbix 多种行业规范或者事实标准的接入,方便各种应用的对接。

  4. 微服务和云原生的支持,对基于容器(K8s+Java)的全链路监控,支持 ebpf agent 通过 sidecar 注入。

缺点

  1. agent 不够完善,OpenTelemetry 采集方式目前需要用 Prometheus node expoter 采集,再通过 Opentelemetry collector 转换后导出传导 SkyWalking oap.

  2. 比 Zabbix 等传统监控工具缺少自动探测和资产管理功能,增加自定义监控指标需要手工修改 MAL 配置文件,不能通过 UI 配置。

  3. 官方文档不完善,只是相当于参数手册加功能列表,但缺乏各种监控场景的配置指引。

  4. ebpf agent 虽然是亮点但实现很初级,最新发布版(0.2.0)只支持 cpu profiling。git 最新代码已增加 network profiling。功能均为 Go 和 C 混合的硬编实现,用户自行扩展不便。硬编码的 ebpf 代码也导致对 Linux 内核的兼容性差。gcc4.5 + 在不同的优化级别(O?)产生的符号命名不一样,会导致 ebpf 启动失败。

MySQL 的监控方案

监控项类别监控项监控方式
主机或 vm 的 OS 指标 cpu 内存  磁盘 Zabbix agent/Prometheus exporter + otl collect
MySQL 日志 日志文件 Filebeat httpoutput + SkyWalking http json api
ebpf cpu/network profile, sql query, fs profile(etx4/xfs) ebpf agent (skeywalking ravor), 除 cpu profile 外要自行扩展
jdbc client virtual db, 连接池状态等 Java agent

通过以上各种维度的监控可以全面掌握 MySQL 的运行状态,并能在出现性能问题时通过 ebpf agent(Ravor)远程执行 profiling 分析。基于 ebpf 的监控方式在 DBaaS-MySQL 容器化部署的方式下非常方便而且性能影响也最小。

限于篇幅原因,在后续的文章中会详细讲解每种监控方式的配置和相关扩展代码。

Enjoy GreatSQL :)

与[转帖]使用 SkyWalking 监控 MySQL(一)工具与方案相似的内容:

[转帖]使用 SkyWalking 监控 MySQL(一)工具与方案

https://my.oschina.net/GreatSQL/blog/5567471 * GreatSQL 社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 注:本文适用于 SkyWalking v9.1.0。 SkyWalking 简介 SkyWalking 是一个分布式系统的应用

[转帖]使用SkyWalking监控nginx (以openresty为例)

https://www.cnblogs.com/hahaha111122222/p/15829737.html 安装使用SkyWalking先看这篇文章,地址:https://www.cnblogs.com/sanduzxcvbnm/p/15829781.html 使用SkyWalking监控ngi

[转帖]Spring Cloud 整合 SkyWalking

https://www.jianshu.com/p/e81e35dc6406 Java Agent 服务器探针 探针,用来收集和发送数据到归集器。参考官网给出的帮助 Setup java agent,我们需要使用官方提供的探针为我们达到监控的目的,按照实际情况我们需要实现三种部署方式 IDEA 部署

[转帖]springboot中使用skywalking实现日志追踪

文章目录 SkyWalking分布式追踪系统介绍主要架构 环境引入依赖配置Log4j2下载编译好的8.7.0版本包使用探针实现日志追踪启动脚本启动Java服务访问服务 使用UI切换存储方式 SkyWalking分布式追踪系统 介绍 Skywalking是一个国产的开源框架,2015年有吴晟个人开源,

[转帖]br备份时排除某个库

作者: qhd2004 原文来源: https://tidb.net/blog/2a88149e 生产环境中我们使用br来备份数据库,但是有时候可能需要排除某个库,比如,skywalking后台库(实际中是skywalking暂时放在tidb中,后面会转到es,并且skywalking的数据对我们来

[转帖]br 备份时排除某个库

https://tidb.net/book/tidb-monthly/2023/2023-02/usercase/excluded-a-storeroom-during-br-backup 生产环境中我们使用br来备份数据库,但是有时候可能需要排除某个库,比如,skywalking后台库(实际中是s

[转帖]使用JMX服务监控Java程序性能

https://www.jianshu.com/p/3c3c836c1c20?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation 背景 单机收集服务器需要性能监控和测试。 JMX

[转帖]使用 tc netem 模拟网络异常

https://cizixs.com/2017/10/23/tc-netem-for-terrible-network/ 在某些情况下,我们需要模拟网络很差的状态来测试软件能够正常工作,比如网络延迟、丢包、乱序、重复等。linux 系统强大的流量控制工具 tc 能很轻松地完成,tc 命令行是 ipr

[转帖]使用 sysdig 进行监控和调试 linux 机器

https://cizixs.com/2017/04/27/sysdig-for-linux-system-monitor-and-analysis/ sysdig 简介 sysdig 官网 上对自己的介绍是: Open Source Universal System Visibility With

[转帖]使用MAT命令行工具生成堆dump分析文件

https://www.cnblogs.com/hellxz/p/use_mat_linux_command_line_generate_reports.html 写作目标 Java程序运行过程中,难免会出现 OOM,往往是在 JVM 启动参数中添加出现 OOM 时输出堆 dump(又名:堆转储、堆