问题描述

对于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 - Listhttps://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。缓存未命中并不一定意味着缓存出现了问题。

例如,在使用缓存端编程模式时,应用程序会首先查找缓存中的项。

  • 如果该项不存在(缓存未命中),则将从数据库中检索该项并将其添加到下一次缓存中。 对于缓存端编程模式,缓存未命中是正常行为。
  • 如果缓存未命中数大于预期值,请检查从缓存中填充并读取的应用程序逻辑。
  • 如果由于内存压力而导致项目从缓存中逐出,则可能存在一些缓存未命中的情况,但指标 Used Memory 或 Evicted Keys 可以更好的监视内存压力。
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个维度,表示不同的错误类型。 它们所代表的错误类型如下:

  1. Failover - 缓存故障转移时(从属缓存提升为主缓存)
  2. Dataloss - 缓存上发生数据丢失时
  3. UnresponsiveClients - 客户端从服务器读取数据的速度不够快时
  4. AOF - 存在与 AOF 暂留有关的问题时
  5. RDB - 存在与 RDB 暂留有关的问题时
  6. Import - 存在与导入 RDB 有关的问题时
  7. Export - 存在与导出 RDB 有关的问题时
Evicted Keys 逐出的密钥数 由于 maxmemory 限制,指定的报告间隔期间从缓存中逐出的项目数。 此数目映射到 Redis INFO 命令输出中的 evicted_keys。
Expired Keys 过期的密钥数 指定的报告间隔期间,缓存中过期的项目数。 此值映射到 Redis INFO 命令输出中的 expired_keys 。
Gets 获取数

指定的报告间隔期间,缓存中的获取操作数。

  • 此值是以下 Redis INFO 所有命令中的值的总和:

    • cmdstat_get、cmdstat_hget、cmdstat_hgetall、cmdstat_hmget、
    • cmdstat_mget、cmdstat_getbit 和 cmdstat_getrange
  • 等效于报告间隔期间缓存命中和未命中数的总和。
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 Monitorhttps://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接口调用来获取监控值的更多相关文章

  1. 第二百九十四节,Redis缓存-Redis安装

    redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sor ...

  2. 【redis】redis实现API接口调用调用次数的限制

    redis实现API接口调用调用次数的限制 参考地址:https://bbs.csdn.net/topics/391856106?page=1 参考地址:https://www.cnblogs.com ...

  3. ThinkPHP5配置redis缓存

    thinkphp采用cache类提供缓存功能支持,采用驱动方式,在使用缓存之前需要进行初始化操作.支持的缓存类型包括file.memcache.wincache.sqlite.redis和xcache ...

  4. thinkphp5的Redis缓存配置

    thinkphp采用cache类提供缓存功能支持,采用驱动方式,在使用缓存之前需要进行初始化操作.支持的缓存类型包括file.memcache.wincache.sqlite.redis和xcache ...

  5. TP5中用redis缓存

    在config.php配置文件下找到缓存设置,将原来的文件缓存修改为redis缓存,也可以改为多种类型的缓存: // +---------------------------------------- ...

  6. C# Azure 存储-分布式缓存Redis的新建&配置&查看

    1. 介绍 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键包括 string,hash,l ...

  7. Windows Azure Redis 缓存服务

    8月20日,Windows Azure (中国版)开始提供Redis缓存服务,比较国际版的Microsoft Azure晚了差不多一年的时间.说实话,微软真不应该将这个重要的功能delay这么长时间, ...

  8. Azure Redis 缓存使用注意事项与排查问题文档整理

    StackExchange.Redis 使用名为 synctimeout 的配置设置进行同步操作,该设置的默认值为 1000 毫秒. 如果同步调用未在规定时间内完成,StackExchange.Red ...

  9. Azure Redis 缓存的 ASP.NET 会话状态提供程序

    Azure Redis Cache 提供了一个会话状态提供程序,你可以使用其在缓存中(而不是内存中或在 SQL Server 数据库中)存储会话状态.要使用缓存会话状态提供程序,先首先配置缓存,然后使 ...

  10. 【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)

    问题描述 Azure Redis和所有的Redis服务一样,可以让你保留存储在Redis中的数据.以防万一在Redis服务器出现故障的时候能尽可能小的减少数据的损失.在Azure Redis服务中,默 ...

随机推荐

  1. 记录一次RPC服务有损上线的分析过程

    1. 问题背景 某应用在启动完提供JSF服务后,短时间内出现了大量的空指针异常. 分析日志,发现是服务依赖的藏经阁配置数据未加载完成导致.即所谓的有损上线或者是直接发布,当应用启动时,service还 ...

  2. 【笔记】vm-storage的go profile调用图表(没什么实际意义,就是为了做笔记)

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 1.启动 force merge curl -G &quo ...

  3. Go实现网络代理

    使用 Go 语言开发网络代理服务可以通过以下步骤完成.这里,我们将使用 golang.org/x/net/proxy 包来创建一个简单的 SOCKS5 代理服务作为示例. 步骤 1. 安装 golan ...

  4. go中异常处理流程

    在 Go 语言中,panic.recover 和 defer 是用于处理异常情况的关键字.它们通常一起使用来实现对程序错误的处理和恢复. 1. defer 语句 defer 用于在函数返回之前执行一段 ...

  5. springboot项目导入外部jar包的bean的几种方式

    背景 公司封装了基础包和日志包,将公共的配置抽取出来,供所有项目使用,因此就需要考虑,怎么引入外部jar包的Bean实例: 思考 因为公司的jar包就是普通的jar,不支持springboot的自动配 ...

  6. SqlSugar导航查询/多级查询

    1.导航查询特点 作用:主要处理主对象里面有子对象这种层级关系查询 1.1 无外键开箱就用 其它ORM导航查询 需要 各种配置或者外键,而SqlSugar则开箱就用,无外键,只需配置特性和主键就能使用 ...

  7. SpringSecurity使用步骤

    一.导入jar包(使用maven构建项目导入其坐标) <dependency> <groupId>org.springframework.security</groupI ...

  8. 在K8S中,Pod亲和性概念是什么?

    在Kubernetes(简称K8S)中,Pod亲和性和反亲和性(Affinity and Anti-Affinity)是集群调度策略的重要组成部分,它们用于控制Pod如何与节点或其他Pod相对应地放置 ...

  9. java线程池实现多任务并发执行

    Java线程池实现多任务并发执行 1️⃣ 创建一些任务来落地多任务并发执行 每一个数组里面的数据可以看成任务,或者是需要并发的业务接口, 数组与数组之间,可以看作为他们之间有血缘关系,简单来说就是: ...

  10. CentOS7下的防火墙配置整理

    CentOS7下的防火墙配置整理 一.firewalld的基本使用 [root@localhost jack]# systemctl start firewalld # 启动防火墙 [root@loc ...