检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
监控只会显示一条sql为select name from UserTable。 mysql最大采集行数:Agent可以采集的mysql最大行数。如果Agent采集的mysql行数超过配置的“mysql最大采集行数”,那么Agent立即停止采集。默认值:500,可配置范围:10~2000。
Mysql数据库 介绍APM采集的Mysql数据库指标的类别、名称、含义等信息。 表1 Mysql数据库采集参数 参数名 数据类型 应用类型 默认值 Agent支持的起始版本 Agent支持的终止版本 描述 是否采集原始sql radio JAVA false 2.0.0 - 调
NodeJsMysql数据库 介绍APM采集的NodeJsMysql数据库指标的类别、名称、含义等信息。 表1 NodeJsMysql数据库指标说明 指标类别 指标 指标名称 指标说明 单位 数据类型 默认聚合方式 数据库连接(connection,以数据库为维度统计sql调用详情。)
的调用情况。 数据库维度汇总 APM支持以数据库维度汇总对Mysql数据库监控的指标,具体指标以及说明,参见表2。 图5 数据库维度汇总Mysql数据库监控 表2 数据库维度汇总参数说明列表 指标集 指标 说明 数据库连接 db 数据库名称。 创建连接数 该数据库创建连接数。 销毁连接数
数据库 数据库监控项可以对数据库的访问进行监控,可以监控的数据库包含Mysql,Elastic Search,Hbase等多种类型。对于数据库的监控,采集器会采集具体的执行语句详情,方便用户定位代码级的性能问题。 登录管理控制台。 单击左侧,选择“管理与监管 > 应用性能管理 APM”,进入APM服务页面。
从告警详情中查看告警上报的时间、sqlId,以及数据库实例tier。 在APM的SQL分析页面,根据查询到的tier和时间选择查询范围,查询到对应数据库实例当前时间内的SQL语句列表。 用查询到的sqlId搜索,查询到具体的SQL语句。 查询到SQL语句后,根据业务场景和SQL语句的指标值进行分析。
数据库 C3P0连接池监控 Cassandra监控 ClickHouse数据库 DBCP连接池监控 Druid连接池监控 EsRestClient监控 GaussDb数据库 HBase监控 Hikari连接池监控 Jetcd监控 MongoDb监控 Mysql数据库 ObsClient监控
20000笔/10秒/租户 表2 数据采集 数据类型 采集数据 传输方式 存储方式 数据用途 时限 性能指标数据 JVM相关数据、异常、数据库、SQL语句以及中间件调用相关的数据。 通过WSS方式传输 APM服务端按照租户隔离存储 指标查看页面展示 免费版7天,企业版30天,到期彻底删除。 调用链数据
Postgresql数据库 介绍APM采集的Postgresql数据库指标的类别、名称、含义等信息。 表1 Postgresql数据库采集参数 参数名 数据类型 应用类型 默认值 Agent支持的起始版本 Agent支持的终止版本 描述 是否采集原始sql radio JAVA false
若需要发送告警通知,则“发送通知”需要选择“是”,并选择主题。 添加至服务参数说明: 若选择“是”,表示添加阈值规则到整个服务; 若选择“否”,表示添加阈值规则到单个实例。
Python类型 APM支持的Python类型 APM支持Python类应用,目前已支持多种主流框架、web服务器、通讯协议、数据库等,可实现应用轻松接入。 表1 skywalking探针Python组件和框架 探针类型 组件 版本 skywalking探针 aiohttp 3.7+
GO类型 APM支持的GO类型 APM支持GO类应用,目前已支持多种主流框架、web服务器、通讯协议、数据库等,可实现应用轻松接入。 表1 自研探针GO组件和框架 探针类型 组件 版本 skywalking探针 gin 1.7.0~1.9.0 skywalking探针 http Server
js类应用,目前已支持多种主流Node框架、web服务器、通讯协议、数据库等,可实现应用轻松接入。 表1 自研探针Node.js组件信息 探针类型 组件 版本 自研探针 express 4.0.0+ 自研探针 koa 2.0.0+ 自研探针 mysql 2.18.1 自研探针 mysql2 2.3.3 自研探针 ioredis
skywalking探针 Npgsql.EntityFrameworkCore.PostgreSQL 6.0.4+ skywalking探针 Pomelo.EntityFrameworkCore.MySql 6.0.1+ skywalking探针 CAP 6.0.1+ 表2 Opentelemetry探针
APM支持Php类应用,目前已支持多种主流框架、web服务器、通讯协议、数据库等,可实现应用轻松接入。 表1 skywalking探针Php组件和框架 探针类型 组件 版本 skywalking探针 PDO 0.1.0+ skywalking探针 MySQL 5.x.x~8.x.x skywalking探针
找到调用此方法的业务代码。 定位到业务代码块,该代码使用了一个缓存来存放每个instance的信息。通过自监控查看该sql的调用,发现每分钟会调10万次,进一步证实是缓存失效了。 当查询instance信息时,会先从缓存查,如果查不到再从mysql查。instance信息查到之后存入缓存,防止频繁访问数据库。
data[0][2]: 方法的index,对应methods中的数组下标。 data[0][3]: 行号 data[0][4]: 方法的子节点,就是方法中调用的其他方法。 methods Array of strings 调用栈上的方法信息是个二维数组。 method[0][0]: 方法的唯一id。
"tx_node_name" : "11.108.243.78:3306:apm2_cmdb", "tx_node_type" : "Mysql", "tx_env_id" : null }, { "tx_node_id" : "user", "tx_node_name"
查看代码,发现LargeEnum是个枚举类,定义了大量的常量。由于枚举类的方法 values() 底层是通过数组clone实现的,即每次调用values()方法,底层会复制一个枚举数组,所以会导致频繁分配堆内存,频繁GC。 图11 查看代码 问题修复,将values定义为一个常量,避免频繁调用enum
"env_id" : 3568 }, { "node_type" : "Mysql", "node_name" : "Mysql", "node_id" : "Mysql", "env_id" : null }, { "node_type"