Redis六-监控

下载安装redis

# 下载 Redis 7.0 稳定版
curl -O https://download.redis.io/releases/redis-7.0.12.tar.gz

# 解压文件
tar xzf redis-7.0.12.tar.gz
ln -s redis-3..0.12 redis  # 建立一个软链接,便于操作
cd redis-7.0.12
make
make install
redis-server redis.conf  # 启动 Redis 服务

appendonly yes
maxmemory 1gb

下载安装redis exporter

git clone https://github.com/oliver006/redis_exporter.git
cd redis_exporter
go build .
./redis_exporter --version
nohup ./redis_exporter &  # 后台运行

配置Prometheus

vi /usr/local/prometheus/prometheus.yml
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.

scrape_configs:

  - job_name: 'prometheus-agent'
    file_sd_configs:
    - files:
      - /usr/local/prometheus/discovery_node_exporter.yml
      refresh_interval: 5s

vi /usr/local/prometheus/discovery_node_exporter.yml
[
  {
    "targets": ["1.1.1.10:9121"],
    "labels": {"info": "wiseHYH"}
  }
]

img

配置Grafana

  • 集群状态
    redis_cluster_enabled # 是否开启集群模式
    img

  • AOF状态
    redis_aof_enabled # 是否开启AOF

  • RDB快照时间
    redis_rdb_last_save_timestamp_seconds * 1000 # 最后一次RDB快照时间戳(秒)*1000 转毫秒,因为Grafana默认是毫秒,不乘以1000会转换到1970年

Standard options > Unit > Datetime default

  • 慢日志查询长度
    redis_slowlog_length # 慢日志长度

  • 内存
    redis_memory_used_bytes /1024 /1024 /1024 # 已使用内存
    redis_memory_max_bytes /1024 /1024 /1024 # 最大内存-->maxmemory 1gb
    Standard options > Unit > GB

redis_mem_fragmentation_ratio # 内存碎片比率
什么是内存碎片?

  1. Redis 分配的内存空间大于实际存储数据的长度。
  2. 当 Redis 中的某个数据删除时,Redis 通常不会轻易释放内存给操作系统,而是保留给后续的写入操作使用。
    比如,一个字符串对象实际内容只有3个字节,但是使用了64字节的空间来保存它

mem_fragmentation_ratio (内存碎片率)= used_memory_rss (操作系统实际分配给 Redis 的物理内存空间大小)/ used_memory(Redis 内存分配器为了存储数据实际申请使用的内存空间大小)
mem_fragmentation_ratio (内存碎片率)的值越大代表内存碎片率越严重

config set activedefrag yes  # 开启内存碎片整理
config set active-defrag-ignore-bytes 500mb  # 内存碎片占用空间达到 500mb 的时候开始清理
config set active-defrag-threshold-lower 50  # 内存碎片率大于 1.5 的时候开始清理

redis-cli MEMORY PURGE  # 清理内存碎片


重启节点也可以做到内存碎片重新整理。可以将碎片率过高的主节点转换为从节点,以便进行安全重启。
  • key
    redis_db_keys # key数量
    redis_expired_keys_total # 过期key数量

  • fork
    redis_latest_fork_seconds # 最后一次fork耗时

整体效果
img

posted @ 2026-02-25 17:31  WiseHYH  阅读(10)  评论(0)    收藏  举报