问题描述

对于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. SAP标准附件-GOS(generic object service)

    标准附件功能显示需要用户是 A类型 对话用户 本文介绍一个Public Class :CL_GOS_DOCUMENT_SERVICE 该类包含了创建附件,注释,URL,个人注释等方法,这些方法中都会涉 ...

  2. node中的优先从缓存中加载模块与模块的加载规则

    执行 node main.js 请问 b模块会被加载几次 //main.js require('./a.js') var fn = require('./b.js') console.log(fn.s ...

  3. 你对iframe知道多少

    iframe 嵌套第三方页面出现的问题 我们需要通过一个接口获取被嵌套的地址. 然后将改地址赋值给iframe的src中,代码如下 <template> <div> <i ...

  4. 4.1 C++ STL 动态链表容器

    List和SList都是C++ STL中的容器,都是基于双向链表实现的,可以存储可重复元素的特点.其中,List内部的节点结构包含两个指针一个指向前一个节点,一个指向后一个节点,而SList只有一个指 ...

  5. svg图片引入方式

    第一种直接引入: <svg t="1684280784467" class="icon" viewBox="0 0 1024 1024" ...

  6. 我管你什么okr还是kpi,PPT轻松交给你

    word一键转ppt 通过[文件]→[选项]→[快速访问工具栏],选择[不在功能区中的命令],找到[发送到Microsoft PowerPoint ],单击[添加]后再[确定] 调出功能按钮后,就可以 ...

  7. Python初学(请大神多多指教)

    python的注释单行注释用#号多行注释用'''  '''注释 基本数据类型 字符串--   n1 = "alex"   n2 = 'root'       n3 = " ...

  8. 十八张图带你入门实时监控系统HertzBeat

    我们经常讲:研发人员有两只眼睛,一只是监控平台,另一只是日志平台.在对性能和高可用讲究的场景里,监控平台的重要性再怎么强调也不过分. 这篇文章,我们聊聊开源实时监控告警系统 HertzBeat 赫兹跳 ...

  9. golang 中 取切片元素 与 切片再生成切片的区别

    func main() { //定义一个切片 a := []byte{1, 2, 3} fmt.Printf("a的类型%T\n", a) //a的类型[]uint8 fmt.Pr ...

  10. JS Leetcode 80. 删除有序数组中的重复项 II题解,常规解法与快慢双指针做法

    壹 ❀ 引 今天的题目来自LeetCode80. 删除有序数组中的重复项 II,是一道难度中等,但实际挺简单的一道题,题目描述如下: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每 ...