乐趣区

关于redis:命令行搞一切之如何使用命令行为-redis-做健康检测

如何应用命令行查看 redis 是否按预期工作?

redis-cli 基础知识

应用 redis-cli 查看数据库健康状况听起来很简略,实际上,它是:Redis 主机上的简略 redis-cli PING 返回 PONG。这看起来不太行的样子,但的确如此。返回PONG 的 redis 性能失常、身体健康,吃嘛嘛香。

更具体一点:这意味着数据集已齐全加载,Redis 已筹备好连贯。如果某些货色不能失常工作,它会显示谬误音讯,例如“(error) LOADING Redis is loading the dataset in memory”。这将在加载 rdb/aof 文件或期待复制实现时返回。

通过应用 redis-cli,您能够轻松应用 info 命令和子命令来获取更多统计信息和信息。

命令列表

要反复命令,您能够轻松应用两个选项进行监控:redis - cli - r 5 - i 2 <command> 将执行<command> 5 次,距离为 2 秒。

应用这些命令,您能够轻松地将 redis 集成到您的监控中。只需将 redis-cli 命令增加为自定义参数,例如增加到 Zabbix 或 Nagios。您还能够应用 prometheus 导出器从 redis 中获取指标。

集成提早监控、报告、慢日志

兴许你们中的一些人会问本人,为什么咱们首先须要监控,因为 redis 的速度十分快。答案是:您说得对,redis 旨在为每个实例每秒解决大量查问。但可怜的是,在大多数应用程序中,对均匀响应工夫和最坏状况的提早都有严格的要求。

尽管如此,因为 redis 有大量的命令,多且杂,也分为三六九等。有些命令运行速度很快,而且运行速度为常数或对数工夫,而其余命令则较慢,可能会导致提早峰值。采纳这种监控形式的其余起因是与操作系统的交互(例如磁盘持久性)和 redis 的单线程架构无关。

自 2.8.13 版本起,redis 引入提早监控,该命令有助于解决可能的提早问题。以下机制是该框架的一部分:

  • 用提早钩子来采样不同提早敏感代码的门路
  • 由其余事件宰割的提早峰值的工夫序列记录
  • 报告引擎从工夫序列中获取原始数据
  • 剖析引擎依据测量提供人类可读的报告和给出相应提醒

如何启用提早监控?

在 redis 运行时,提早监控能够很容易地通过 CONFIG SET latency-monitor-threshold 100 启用。尾数以毫秒为单位定义工夫。在咱们的示例中,每个须要超过 100ms 的事件都将被记录为提早峰值。

应用 LATENCY 命令报告信息

提早监控子系统的用户界面是 LATENCY 命令。像许多其余 Redis 命令一样,LATENCY 承受批改其行为的子命令。这些子命令是:

  • LATENCY LATEST – 返回所有事件的最新提早样本。
  • LATENCY HISTORY – 返回给定事件的延迟时间序列。
  • LATENCY RESET – 重置一个或多个事件的延迟时间序列数据。
  • LATENCY GRAPH – 出现事件提早样本的 ASCII 艺术图。
  • LATENCY DOCTOR – 回复人类可读的提早剖析报告。

无关详细信息,请参阅每个子命令的文档页面

当 redis 遇到提早峰值时我该怎么办?

下一步可能是启用慢日志。配置命令为 config set slowlog-log-slower-than 1000, 您能够记录每一个持续时间更长,超过 1000ms 的事件。

退出移动版