使用skywalking监控mysql工具与方案(代码片段)

老叶茶馆_ 老叶茶馆_     2022-12-04     560

关键词:

注:本文适用于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
ebpfcpu/network profile, sql query, fs profile(etx4/xfs)ebpf agent( skeywalking ravor), 除cpu profile外要自行扩展
jdbc clientvirtual db,连接池状态等Java agent

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

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

Enjoy GreatSQL :)


《深入浅出MGR》视频课程

戳此小程序即可直达B站

https://www.bilibili.com/medialist/play/1363850082?business=space_collection&business_id=343928&desc=0



文章推荐:


想看更多技术好文,点个“在看”吧!

skywalking与springbootadmin区别

参考技术A作用不一样。根据查询相关公开信息,skywalking是一个apm系统,包含监控、追踪、并拥有故障诊断能力的分布式系统。springbootadmin是一个开源的社区项目,用于管理和监控应用程序的软件。 查看详情

ant-nginx是啥

参考技术Askywalking与pinpoint全链路追踪方案对比由于公司目前有200多微服务,微服务之间的调用关系错综复杂,调用关系人工维护基本不可能实现,需要调研一套全链路追踪方案,初步调研之后选取了skywalking和pinpoint进行对比;选取skywal... 查看详情

skywalking搭建链路监控

一、skywalking简介官网:https://github.com/apache/skywalking引用官网的架构:二、部署OAP和UI需使用的镜像apache/skywalking-oap-server:8.6.0-es7apache/skywalking-ui:8.6.0创建 查看详情

应用性能监控系统skywalking

1. 概念与架构SkyWalking是一个开源监控平台,用于从服务和云原生基础设施收集、分析、聚合和可视化数据。SkyWalking提供了一种简单的方法来维护分布式系统的清晰视图,甚至可以跨云查看。它是一种现代APM,专门为云原生... 查看详情

rancher、普罗米修斯、cadvisor、grafana、skywalking

...fana:数据可视化面板,在普罗米修斯中展示Cadvisor数据。skywalking:链路追踪工具,也可监控jvm。 查看详情

mysql查询监控工具[关闭]

...日志?我会透露更多信息,也许有人会考虑解决方法。我使用实体框架从.net连接到mysql 查看详情

如何监控mysql

...控命令也可以拿来参考,用于构建自己的监控体系。三、使用接着我们来看下如何使用这个工具。pt-stalk通常以后台服务形式监控MySQL并等待触发条件,当触发条件时收集相关诊断数据。触发条件相关的参数有以下几个:function:... 查看详情

如何监控mysql

...控命令也可以拿来参考,用于构建自己的监控体系。三、使用接着我们来看下如何使用这个工具。pt-stalk通常以后台服务形式监控MySQL并等待触发条件,当触发条件时收集相关诊断数据。触发条件相关的参数有以下几个:function:... 查看详情

skywalking(代码片段)

介绍SkyWalking 创建与2015年,提供分布式追踪功能。从5.x开始,项目进化为一个完成功能的ApplicationPerformanceManagement系统。他被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。提供以下主要功... 查看详情

走进skywalking-插件概念[#2]

参考技术A[TOC]在解析SkyWalking的源码之前,我们先来了解下SkyWalking中的插件机制,那它的作用是什么?为什么先要去了解它呢?我们知道SkyWalking是用来监控应用程序的系统,那它必然需要收集我们应用程序中需要监控的相关数据... 查看详情

搭建skywalking对java应用进行监控(代码片段)

APM概述APM(ApplicationPerformanceManagement)即应用性能管理系统,是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理,主要指对企业的关键业务应用进行监测、优化,提高企业... 查看详情

如何实时监控mysql状态

...控命令也可以拿来参考,用于构建自己的监控体系。三、使用接着我们来看下如何使用这个工具。pt-stalk通常以后台服务形式监控MySQL并等待触发条件,当触发条件时收集相关诊断数据。触发条件相关的参数有以下几个:function:... 查看详情

你们天天说的应用性能监控:skywalking(代码片段)

►►►SkyWalking简介SkyWalking是一款优秀的APM工具(ApplicationPerformanceMonitoring,应用性能监控),专为微服务、云原生架构和基于容器(Docker、K8S、Mesos)的架构而设计,包含了分布式追踪、性能指标分析... 查看详情

你们天天说的应用性能监控:skywalking(代码片段)

SkyWalking简介SkyWalking 是一款优秀的 APM工具(ApplicationPerformanceMonitoring,应用性能监控),专为微服务、云原生架构和基于容器(Docker、K8S、Mesos)的架构而设计,包含了分布式追踪、性能指标分析和服... 查看详情

skywalking对nginx进行监控(代码片段)

本文基于Skywalking-8.7.0和Nginx-1.20.1书接上回,Skywalking已经能对Java应用非常轻松地接入监控,典型应用中,系统都是在负载均衡器后端跑JavaWeb应用,而最常用的负载均衡器就是Nginx。如果我们想把也纳入监控,... 查看详情

如何实时监控mysql中的sql语句的执行情况?

...控命令也可以拿来参考,用于构建自己的监控体系。三、使用接着我们来看下如何使用这个工具。pt-stalk通常以后台服务形式监控MySQL并等待触发条件,当触发条件时收集相关诊断数据。触发条件相关的参数有以下几个:function:... 查看详情

如何实时监控mysql中的sql语句的执行情况

...控命令也可以拿来参考,用于构建自己的监控体系。三、使用接着我们来看下如何使用这个工具。pt-stalk通常以后台服务形式监控MySQL并等待触发条件,当触发条件时收集相关诊断数据。触发条件相关的参数有以下几个:function:... 查看详情

monyog的sshsetting怎么配置

...A  带界面工具  1、MySQL视化工具  些工具都免费使用:    a、MySQL查询浏览器(MySQLQueryBrowser):用说…  b、MySQL管理员(MySQLAdministrator):功能集服务器管理所适合DBA使用发员析员帮助DBA创建备份、创建用户并配... 查看详情