【Azure Redis 缓存】Redis的监控方式? 是否有API接口调用来获取监控值
问题描述
对于PaaS的Azure Cache for Redis,Azure中有哪些监控方式?是否能有api接口调用来获取监控值?
问题答案
1) 在Redis的门户中,使用Metrics查看Redis的Service Load,Memroy, CPU指标:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-monitor#monitoring-charts
2) 在Azure Monitor -> Insight 来监控:https://docs.azure.cn/zh-cn/azure-monitor/insights/redis-cache-insights-overview
3) 使用API调用指标,参考文章:使用Python代码获取Azure Redis的监控指标值 (含Powershell脚本方式)
Metric Definitions - List: https://docs.microsoft.com/en-us/rest/api/monitor/metricdefinitions/list,(注:替代文件中的url host为management.chinacloudapi.cn)

Redis的监控指标
| Metrics Name | 指标 | 说明 |
| Cache Hits |
缓存命中数 |
在指定的报告间隔期间,成功的键查找次数。 此数目映射到 Redis INFO 命令输出中的 keyspace_hits。 |
| Cache Latency (Preview) | 缓存延迟(预览) |
基于缓存的节点间延迟计算缓存的延迟。该指标以微秒为单位,具有三个维度:Avg、Min 和 Max,分别表示指定的报告间隔期间缓存的平均延迟、最小延迟和最大延迟。 |
| Cache Misses | 缓存未命中数 |
在指定的报告间隔期间,失败的键查找次数。此数目映射到 Redis INFO 命令输出中的 keyspace_misses。缓存未命中并不一定意味着缓存出现了问题。 例如,在使用缓存端编程模式时,应用程序会首先查找缓存中的项。
|
| Cache Read | 缓存读取量 |
指定报告间隔期间,从缓存中读取的数据量,以每秒兆字节数(MB/秒)为单位。 此值来源于支持虚拟机的网络接口卡,该虚拟机托管缓存,但并不特定于 Redis。 此值对应于该缓存使用的网络带宽。 |
| Cache Write | 缓存写入量 |
指定报告间隔期间,写入缓存中的数据量,以每秒兆字节数(MB/秒)为单位。 此值来源于支持虚拟机的网络接口卡,该虚拟机托管缓存,但并不特定于 Redis。 此值对应于从客户端发送到缓存的数据的网络带宽。 |
| Connected Clients | 连接的客户端数 |
指定的报告间隔期间,客间户端与缓存的连接数。 此数目映射到 Redis INFO 命令输出中的 connected_clients。 一旦达到了连接限制,则对缓存的后续连接尝试将失败。 即使没有任何活动的客户端应用程序,由于内部进程和连接,仍可能存在一些连接的客户端的实例。 |
| CPU | CPU | 指定报告间隔期间,用于 Redis 的 Azure 缓存服务器的 CPU 使用率(以百分比表示)。 此值映射到操作系统 \Processor(_Total)\% Processor Time 性能计数器 |
| Errors | 错误 |
在指定的报告间隔期间,缓存可能会出现的特定故障和性能问题。 该指标现在具有7个维度,表示不同的错误类型。 它们所代表的错误类型如下:
|
| Evicted Keys | 逐出的密钥数 | 由于 maxmemory 限制,指定的报告间隔期间从缓存中逐出的项目数。 此数目映射到 Redis INFO 命令输出中的 evicted_keys。 |
| Expired Keys | 过期的密钥数 | 指定的报告间隔期间,缓存中过期的项目数。 此值映射到 Redis INFO 命令输出中的 expired_keys 。 |
| Gets | 获取数 |
指定的报告间隔期间,缓存中的获取操作数。
|
| Operations per Second | 每秒操作数 | 指定的报告间隔期间,由缓存服务器处理的每秒命令总数。 此值映射到 Redis INFO 命令中的“instantaneous_ops_per_sec” |
| Redis Server Load | Redis 服务器负载 |
Redis 服务器忙于处理消息并且非空闲等待消息的周期百分比。 如果此计数器达到 100,则意味着 Redis 服务器已达到性能上限并且 CPU 无法更快地工作。 如果看到高 Redis 服务器负载,则会在客户端看到超时异常。 在这种情况下,应该考虑将数据扩大或分区到多个缓存。 |
| Sets | 设置数 |
指定的报告间隔期间,对缓存的设置操作数。 此值是以下 Redis INFO 所有命令中的值的总和: cmdstat_set、cmdstat_hset、cmdstat_hmset、cmdstat_hsetnx、cmdstat_lset、cmdstat_mset、 cmdstat_msetnx、cmdstat_setbit、cmdstat_setex、cmdstat_setrange 和 cmdstat_setnx。 |
| Total Keys | 总密钥数 |
在上一个报告时段缓存中的最大密钥数。 此数目映射到 Redis INFO 命令输出中的 keyspace。 注:由于基础指标系统存在限制,对于已启用群集的缓存,“总密钥数”将返回在上一个报告时段内密钥数最多的分片的最大密钥数。 |
| Total Operations | 总操作数 |
指定的报告间隔期间,由缓存服务器处理的命令总数。此值映射到 Redis INFO 命令输出中的 total_commands_processed 。 当 Azure Cache for Redis 纯粹用于发布/订阅时,将不存在 Cache Hits、Cache Misses、Gets 或 Sets 的度量值, 但存在 Total Operations 度量值,该度量值反映发布/订阅操作的缓存使用情况。 |
| Used Memory | 已用内存 |
在指定报告间隔期间,缓存中的键/值对所用的缓存内存量(以 MB 为单位)。 此值映射到 Redis INFO 命令输出中的 used_memory 。 此值不包括元数据或碎片。 |
| Used Memory Percentage | 已用内存百分比 | 指定报告间隔期间使用的总内存的百分比。 此值引用 Redis INFO 命令输出中的 used_memory 值来计算百分比。 |
| Used Memory RSS | 已用内存 RSS | 指定报告间隔期间所用的缓存内存量(以 MB 为单位),包括碎片和元数据。 此值映射到 Redis INFO 命令输出中的 used_memory_rss 。 |
参考资料
使用Python代码获取Azure Redis的监控指标值 (含Powershell脚本方式): https://www.cnblogs.com/lulight/p/14389944.html
探究适用于 Azure Cache for Redis 的 Azure Monitor:https://docs.azure.cn/zh-cn/azure-monitor/insights/redis-cache-insights-overview
监视用于 Redis 的 Azure 缓存:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-monitor
【Azure Redis 缓存】Redis的监控方式? 是否有API接口调用来获取监控值的更多相关文章
- 第二百九十四节,Redis缓存-Redis安装
redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sor ...
- 【redis】redis实现API接口调用调用次数的限制
redis实现API接口调用调用次数的限制 参考地址:https://bbs.csdn.net/topics/391856106?page=1 参考地址:https://www.cnblogs.com ...
- ThinkPHP5配置redis缓存
thinkphp采用cache类提供缓存功能支持,采用驱动方式,在使用缓存之前需要进行初始化操作.支持的缓存类型包括file.memcache.wincache.sqlite.redis和xcache ...
- thinkphp5的Redis缓存配置
thinkphp采用cache类提供缓存功能支持,采用驱动方式,在使用缓存之前需要进行初始化操作.支持的缓存类型包括file.memcache.wincache.sqlite.redis和xcache ...
- TP5中用redis缓存
在config.php配置文件下找到缓存设置,将原来的文件缓存修改为redis缓存,也可以改为多种类型的缓存: // +---------------------------------------- ...
- C# Azure 存储-分布式缓存Redis的新建&配置&查看
1. 介绍 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键包括 string,hash,l ...
- Windows Azure Redis 缓存服务
8月20日,Windows Azure (中国版)开始提供Redis缓存服务,比较国际版的Microsoft Azure晚了差不多一年的时间.说实话,微软真不应该将这个重要的功能delay这么长时间, ...
- Azure Redis 缓存使用注意事项与排查问题文档整理
StackExchange.Redis 使用名为 synctimeout 的配置设置进行同步操作,该设置的默认值为 1000 毫秒. 如果同步调用未在规定时间内完成,StackExchange.Red ...
- Azure Redis 缓存的 ASP.NET 会话状态提供程序
Azure Redis Cache 提供了一个会话状态提供程序,你可以使用其在缓存中(而不是内存中或在 SQL Server 数据库中)存储会话状态.要使用缓存会话状态提供程序,先首先配置缓存,然后使 ...
- 【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)
问题描述 Azure Redis和所有的Redis服务一样,可以让你保留存储在Redis中的数据.以防万一在Redis服务器出现故障的时候能尽可能小的减少数据的损失.在Azure Redis服务中,默 ...
随机推荐
- 记录一次RPC服务有损上线的分析过程
1. 问题背景 某应用在启动完提供JSF服务后,短时间内出现了大量的空指针异常. 分析日志,发现是服务依赖的藏经阁配置数据未加载完成导致.即所谓的有损上线或者是直接发布,当应用启动时,service还 ...
- 【笔记】vm-storage的go profile调用图表(没什么实际意义,就是为了做笔记)
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 1.启动 force merge curl -G &quo ...
- Go实现网络代理
使用 Go 语言开发网络代理服务可以通过以下步骤完成.这里,我们将使用 golang.org/x/net/proxy 包来创建一个简单的 SOCKS5 代理服务作为示例. 步骤 1. 安装 golan ...
- go中异常处理流程
在 Go 语言中,panic.recover 和 defer 是用于处理异常情况的关键字.它们通常一起使用来实现对程序错误的处理和恢复. 1. defer 语句 defer 用于在函数返回之前执行一段 ...
- springboot项目导入外部jar包的bean的几种方式
背景 公司封装了基础包和日志包,将公共的配置抽取出来,供所有项目使用,因此就需要考虑,怎么引入外部jar包的Bean实例: 思考 因为公司的jar包就是普通的jar,不支持springboot的自动配 ...
- SqlSugar导航查询/多级查询
1.导航查询特点 作用:主要处理主对象里面有子对象这种层级关系查询 1.1 无外键开箱就用 其它ORM导航查询 需要 各种配置或者外键,而SqlSugar则开箱就用,无外键,只需配置特性和主键就能使用 ...
- SpringSecurity使用步骤
一.导入jar包(使用maven构建项目导入其坐标) <dependency> <groupId>org.springframework.security</groupI ...
- 在K8S中,Pod亲和性概念是什么?
在Kubernetes(简称K8S)中,Pod亲和性和反亲和性(Affinity and Anti-Affinity)是集群调度策略的重要组成部分,它们用于控制Pod如何与节点或其他Pod相对应地放置 ...
- java线程池实现多任务并发执行
Java线程池实现多任务并发执行 1️⃣ 创建一些任务来落地多任务并发执行 每一个数组里面的数据可以看成任务,或者是需要并发的业务接口, 数组与数组之间,可以看作为他们之间有血缘关系,简单来说就是: ...
- CentOS7下的防火墙配置整理
CentOS7下的防火墙配置整理 一.firewalld的基本使用 [root@localhost jack]# systemctl start firewalld # 启动防火墙 [root@loc ...