惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
博客园_首页
博客园 - 聂微东
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
The Cloudflare Blog
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
D
Docker
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
B
Blog RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
Jina AI
Jina AI
博客园 - Franky
D
DataBreaches.Net

博客园 - zhh

Cesium 河道形状 Cesium 实现 FlowMap Unity3D c# 使对象物体始终面向摄像机 Cesium For Unity Convert WGS84 to Earth Centered Earth Fixed 小流域设计洪水计算 cesium自定义st TerrainProviderEdit cesium添加过道corridor Cesium:entity闪烁(点、面以及billboard) arcgis 3.x 打印 CAS Client集群环境的Session问题及解决方案 不能退出登录 Client Server集群模式下session问题[转] quartz数据不完整导致不调度并且报错Couldn‘t store trigger arcgis popup关闭事件 arcgis 叠加图片 watch arcgis 叠加图片 三维地图3DGIS平台技术指标要求规划 Java – Get All Dates Between Two Dates 太阳方位角
Redis Server监控数据采集
zhh · 2023-04-26 · via 博客园 - zhh

Redis Server监控数据采集

  • ping,info all, slowlog get/len/reset/cluster info/config get

Redis存活监控

       redis-cli -h [ip] -p [port] -a [pwd]

  • redis存活监控 (redis_alive):redis本地监控agent使用ping,如果指定时间返回PONG表示存活,否则redis不能响应请求,可能阻塞或死亡。当返回值不为1时,redis挂了,告警

    [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 ping | grep -c PONG

1
  • 连接个数 (connected_clients):客户端连接个数,如果连接数过高,影响redis吞吐量。>5000 时告警

         [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w "connected_clients" | awk -F":" '{print $2}'

   1
  • 连接数使用率(connected_clients_pct): 连接数使用百分比,通过(connected_clients/maxclients)计算;如果达到1,redis开始拒绝新连接创建,告警
  • 拒绝的连接个数(rejected_connections): redis连接个数达到maxclients限制,拒绝新连接的个数。告警

         [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w rejected_connections

         rejected_connections:0

  • 新创建连接个数 (total_connections_received): 如果新创建连接过多,过度地创建和销毁连接对性能有影响,说明短连接严重或连接池使用有问题,告警。 

        [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w total_connections_received

   total_connections_received:217

  • list阻塞调用被阻塞的连接个数 (blocked_clients): 如果监控数据大于0,告警

      [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w blocked_clients

   blocked_clients:0
  • redis分配的内存大小 (used_memory): redis真实使用内存,不包含内存碎片

      [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w used_memory

      used_memory:2513656

  • redis进程使用内存大小(used_memory_rss): 进程实际使用的物理内存大小,包含内存碎片;如果rss过大导致内部碎片大,内存资源浪费,和fork的耗时和cow内存都会增大。

      [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w used_memory_rss

  used_memory_rss:9728000
  • redis内存碎片率 (mem_fragmentation_ratio): 表示(used_memory_rss/used_memory),碎片率过大,导致内存资源浪费,不设置告警。小于1,表示redis已使用swap分区,则告警

      [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w mem_fragmentation_ratio

  mem_fragmentation_ratio:3.89
  • 键个数 (keys): redis实例包含的键个数。单实例键个数过大,可能导致过期键的回收不及时。
 

  [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w keys | awk -F':' '{print $2}' | awk -F',' '{print $1}' | awk -F'=' '{print $2}'

43
  • redis处理的命令数 (total_commands_processed): 监控采集周期内的平均qps
./redis-cli -c -p 7000 info | grep -w total_commands_processed| awk -F':' '{print $2}'
  • redis当前的qps (instantaneous_ops_per_sec): redis内部较实时的每秒执行的命令数
 ./redis-cli -c -p 7000 info | grep -w instantaneous_ops_per_sec | awk -F':' '{print $2}'
  • 请求键被命中次数 (keyspace_hits): redis请求键被命中的次数

  [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w keyspace_hits | awk -F':' '{print $2}'

  354
  • 请求键未被命中次数 (keyspace_misses): redis请求键未被命中的次数

  [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w keyspace_misses

  keyspace_misses:122
  • 请求键的命中率 (keyspace_hit_ratio):使用keyspace_hits/(keyspace_hits+keyspace_misses)计算所得,命中率低于50%告警
  • 最近一次fork阻塞的微秒数 (latest_fork_usec): 最近一次Fork操作阻塞redis进程的耗时数,单位微秒。

  [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w latest_fork_usec

 latest_fork_usec:315

三、Redis集群监控

  • cluster info 、info
  • 实例是否启用集群模式 (cluster_enabled): 通过info的cluster_enabled监控是否启用集群模式。不等于1则告警

   [root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 info | grep -w cluster_enabled

    cluster_enabled:1
  • 集群健康状态 (clusster_state):cluster_state不为OK则告警

[root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 cluster info

  • 集群数据槽slots分配情况 (cluster_slots_assigned):集群正常运行时,默认16384个slots

不等于16384则告警

[root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 cluster info | grep -w cluster_slots_ok

cluster_slots_ok:16384
  • 检测下线的数据槽slots个数 (cluster_slots_fail):集群正常运行时,应该为0. 如果大于0说明集群有slot存在故障。

[root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 cluster info | grep -w cluster_slots_fail

cluster_slots_fail:0
  • 集群的节点数 (cluster_known_nodes):集群中redis节点的个数

[root@tzgdevapp10 bin]# ./redis-cli -c -p 7000 cluster info | grep -w cluster_known_nodes

cluster_known_nodes:6

【转】
作者:疲马羁禽
链接:https://www.jianshu.com/p/68485d5c7fb9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。