【30天精通Prometheus:一站式监控实战指南】第8天:redis_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们👋

  欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀

  Prometheus是云原生和DevOps的核心监控工具,我们将从基础概念开始,逐步涵盖配置、查询、告警和可视化。💪

  在接下来的30天里,我们将解锁Prometheus的实战技巧,通过案例和分享,助你深入理解其工作原理。📆

  目标:30天后,你将熟练掌握Prometheus,为未来的项目挑战做好准备!💯

  这是一段精彩旅程,期待你的加入!🎉


文章目录

  • 一、redis_exporter概述📘
  • 二、安装redis_exporter💾
    • 2.1 访问redis_exporter官方网站 🌐
    • 2.2 选择适合的版本🔍
    • 2.3 下载redis_exporter⬇️
    • 2.4 解压安装包📂
    • 2.5 运行redis_exporter🚀
  • 三、redis_exporter指标和配置详解📖
    • 3.1 redis_exporter.service
  • 四、实战演练:生产环境搭建指南🔨
    • 4.1 创建普通用户管理redis_exporter👤
    • 4.2 解压redis_exporter.tar.gz📦
    • 4.3 将redis_exporter集成到Prometheus配置中✂️
    • 4.4 更改redis_exporter软件包名称✂️
    • 4.5 编辑redis_exporter.service文件📝
    • 4.6 启动redis_exporter.service🔌
    • 4.7 查看服务是否正常启动🔍
  • 相关资料下载地址📚

一、redis_exporter概述📘

定义
  redis_exporter是一个开源的监控工具,专为收集和导出Redis数据库的性能指标而设计,以便进行有效的监控和分析。作为Prometheus监控生态系统的一部分,redis_exporter能够将捕获的数据转化为Prometheus可以识别的格式。

功能
  1.数据收集:redis_exporter能够连接到Redis数据库,并从中获取多种性能指标,包括但不限于命令处理时间、内存使用情况、客户端连接数、键空间状态等。

  2.数据导出:所收集的数据被格式化为Prometheus可识别的metrics格式,使得Prometheus可以轻松抓取并存储这些数据以供后续分析。

  3.兼容性:redis_exporter支持多种Redis版本,并能与Prometheus及其他监控解决方案无缝集成,提供全面的监控能力。

应用场景

  • IT运维和缓存管理:对于依赖Redis作为缓存层的大型企业或组织,redis_exporter是确保系统性能稳定的关键工具。它使IT运维团队能够实时监控Redis实例的健康状态和性能,从而预防潜在问题并优化系统性能。
  • 云服务与托管服务:云服务提供商可以利用redis_exporter为客户提供关于Redis服务的深入性能洞察,增强客户对服务质量和可靠性的信心。
  • 开发和测试环境:在软件开发和QA测试阶段,开发人员和测试工程师可以利用redis_exporter来监测Redis的性能表现,以确保应用与缓存层之间的交互效率,进而优化整体应用性能。

二、安装redis_exporter💾

注意事项和常见问题
  1.权限问题:在安装redis_exporter之前,需要确保当前用户有足够的权限来执行安装命令和访问必要的文件目录。在Unix-like系统中,可能需要使用sudo命令或以root用户身份执行安装。

  2.网络配置:redis_exporter默认会监听一个特定端口(例如:9121)。需要确保服务器的防火墙或网络安全组设置允许Prometheus服务器或其他监控工具访问该端口。

  3.服务管理:如果使用systemd等服务管理工具来管理redis_exporter,应确保服务配置文件(如/etc/systemd/system/redis_exporter.service)已正确设置,以便能够顺利启动、停止和重启服务。

  4.日志和错误排查:建议定期检查redis_exporter的日志文件,以便及时发现并解决问题。如果使用systemd,可以通过journalctl -u redis_exporter命令查看相关日志。

  5.版本兼容性:在安装前,请确认redis_exporter的版本与您的Redis数据库版本以及Prometheus等监控系统的版本相兼容。

  6.安装路径与文件权限:确保redis_exporter的安装路径具有适当的权限,以便服务能够正常访问和运行。同时,应检查所有配置文件(如包含Redis连接信息的配置文件)的路径和权限设置是否正确。

2.1 访问redis_exporter官方网站 🌐

  • 打开浏览器,访问redis_exporter的官方Github下载页面,通常位于Github官方网站下:https://github.com/oliver006/redis_exporter/releases

2.2 选择适合的版本🔍

  • 在下载页面,你将看到不同操作系统的redis_exporter二进制包。根据你的操作系统选择适合的版本。例如,如果你使用的是Linux 64位系统,就选择redis_exporter-x.x.x.linux-amd64.tar.gz(其中x.x.x是版本号)。
redis_exporterversionredis version
1.59.02.x、3.x、4.x、5.x、6.x and 7.x+
1.58.02.x、3.x、4.x、5.x、6.x and 7.x+
1.57.02.x、3.x、4.x、5.x、6.x and 7.x+
1.56.02.x、3.x、4.x、5.x、6.x and 7.x+
1.55.02.x、3.x、4.x、5.x、6.x and 7.x+

2.3 下载redis_exporter⬇️

  • 点击所选版本的下载链接,将redis_exporter的二进制包下载到你的本地计算机。

2.4 解压安装包📂

  • 将下载的redis_exporter压缩包解压到你想要安装的目录。你可以使用命令行工具(如tar)来完成这个步骤。解压后,你将看到一个名为redis_exporter-x.x.x.linux-amd64的目录,其中包含postgres_exporter的二进制文件和其他相关文件。
tar -xzf redis_exporter-x.x.x.linux-amd64.tar.gz

2.5 运行redis_exporter🚀

/home/deploy/redis_exporter/redis_exporter -redis.addr 127.0.0.1:6379 -redis.password exporter -web.listen-address=0.0.0.0:9121

三、redis_exporter指标和配置详解📖

3.1 redis_exporter.service

连接与认证参数

  • -redis.addr string
       用于指定 Redis 实例的地址。例如,你可以输入 localhost:6379 或者某个 IP 地址和端口号来指定 Redis 服务器的位置。
  • -redis.password string
       Redis 实例设置了密码保护,可以使用这个参数来提供密码。例如,-redis.password yourpassword。
  • -redis.password-file string
       除了直接提供密码,你还可以将密码存储在一个文件中,并通过这个参数指定文件路径。这样做的好处是可以增加安全性,避免在命令行中直接暴露密码。
  • -redis.user string
       对于 Redis 6.0 及以上版本,支持基于用户名和密码的认证(ACL)。这个参数允许你指定用于连接 Redis 的用户名。
  • -connection-timeout string
       设置连接到 Redis 实例的超时时间。如果在这个时间内没有成功建立连接,redis_exporter 将报错。时间格式通常为“时间单位+数值”,例如“10s”表示10秒。
  • -ping-on-connect
       redis_exporter 在每次连接到 Redis 时都会发送一个 PING 命令来确认连接是否成功。这有助于检测“僵尸”连接。
  • -skip-tls-verification
       是否跳过TLS验证。当与 Redis 的连接是通过 TLS/SSL 加密时,这个选项允许你跳过 TLS 证书的验证。这个参数通常不推荐配置,因为它降低了安全性,但在某些测试或开发环境中可能是有用的。

导出与度量参数

  • -namespace string
       设置度量的命名空间。Prometheus 中的指标可以有一个前缀(或命名空间),这有助于在存在多个相同类型的 exporter 时区分它们的指标。例如,如果你有两个 Redis 实例,并且你想为每个实例设置不同的命名空间来区分它们的指标,这个选项就会很有用。
  • -export-client-list
       决定是否抓取与 Redis 客户端列表相关的特定指标。当这个选项被启用时,redis_exporter 会从 Redis 的 CLIENT LIST 命令中提取额外的信息,如每个客户端的地址、连接时长等,并将这些信息作为指标暴露给 Prometheus。
  • -export-client-port
       在导出客户端列表时,决定是否包含客户端的端口信息。如果启用了 --export-client-list,这个选项将决定是否在导出的客户端信息中包含每个客户端的端口号。
  • -include-config-metrics
       决定是否包含所有 Redis 配置设置作为度量。当这个选项被启用时,redis_exporter 会从 Redis 的 CONFIG GET 命令中获取所有的配置选项,并将它们作为指标暴露给 Prometheus。
  • -include-system-metrics
       决定是否包含系统度量,如系统的总内存使用情况。启用此选项后,redis_exporter 将包含一些与运行 Redis 服务器的系统相关的指标,例如系统的总内存大小。
  • -redis-only-metrics
       决定是否仅导出与 Redis 相关的度量,而不导出 Go 运行时度量。默认情况下,redis_exporter 可能还会暴露一些与 Go 运行时环境相关的指标(如内存使用情况、GC 次数等)。如果你只对 Redis 的指标感兴趣,并希望减少 Prometheus 中指标的数量,可以启用此选项来仅导出 Redis 相关的指标。

扫描与键检查参数

  • -check-key-groups string
       允许用户通过 Lua 正则表达式指定哪些键应该被分组并监控。接受一个或多个 Lua 正则表达式,用于匹配 Redis 键名。匹配的键将被分组,并且可以为每组键收集和报告聚合指标。这对于监控具有相似命名模式的键组特别有用。
  • -check-keys string
       指定要导出值和长度/大小的键的模式列表。接受一个或多个模式(可以是正则表达式),用于匹配需要监控具体值和大小的 Redis 键。匹配到的键将导出其值和大小作为指标。
  • -check-keys-batch-size int
       设置在每次检查过程中大致要处理的键的数量。由于检查大量的键可能会对 Redis 性能产生影响,因此这个参数允许用户限制每次检查时处理的键的数量。这有助于分散负载,减少对 Redis 服务器的冲击。
  • -check-single-keys string
       指定要单独监控的特定键的列表。与 --check-keys 类似,但此参数用于指定单个、具体的键,而不是通过模式匹配。这对于需要特别关注某些特定键的情况很有用。
  • -check-single-streams string
       指定要单独监控的 Redis 流的列表。允许用户指定一个或多个特定的 Redis 流,以便收集和报告与这些流相关的指标,如流的长度、待处理的消息数等。
  • -check-streams string
       通过模式匹配来指定要监控的 Redis 流。与 --check-single-streams 类似,但这个参数是通过模式(可以是正则表达式)来匹配需要监控的流。这对于监控具有相似命名模式的多个流特别有用。
  • -count-keys string
       指定要计数的键的模式列表。允许用户通过模式匹配来指定哪些键应该被计数。这对于了解符合特定模式的键的数量非常有用,而不需要获取每个键的具体值或大小。

脚本与安全性参数

  • -script string
       允许用户指定一个或多个 Redis Lua 脚本的路径,这些脚本用于收集额外的度量信息。Redis 支持通过 Lua 脚本来扩展其功能,用户可以编写自定义的 Lua 脚本来检索 Redis 数据或执行复杂的操作。通过 --script 参数,redis_exporter 可以执行这些 Lua 脚本,并将脚本的输出作为额外的度量指标暴露给 Prometheus。
  • -redact-config-metrics
       决定是否对可能包含敏感信息的 Redis 配置设置进行编辑或隐藏。当启用这个选项时,redis_exporter 在暴露 Redis 配置设置作为度量指标之前,会先对这些设置进行检查和编辑,以确保不会泄露任何敏感信息。例如,Redis 的配置中可能包含密码、密钥或其他不应公开的信息。通过启用 --redact-config-metrics,redis_exporter 可以帮助保护这些信息不被意外暴露。

Web接口与遥测参数

  • -web.listen-address string
       redis_exporter 的 Web 接口和遥测数据的监听地址。定义了 redis_exporter 应该在哪个网络地址上监听传入的连接请求。通常,这个地址可以是一个具体的 IP 地址和端口组合,如 0.0.0.0:9121,表示在所有可用的网络接口上的 9121 端口监听。如果你只想在本地接口上监听,可以使用 127.0.0.1:9121。
  • -web.telemetry-path string
       设置暴露 Prometheus 度量数据的 HTTP 路径。默认情况下,Prometheus exporter 通常在根路径 / 上暴露度量数据。但是,如果你的环境中需要将度量数据暴露在一个特定的子路径下,你可以使用这个参数来设置。例如,设置为 -web.telemetry-path /redis_metrics 将会使得度量数据在 /redis_metrics 路径下可用。
  • -tls-server-*
       与 redis_exporter Web 接口使用的 TLS(传输层安全性)配置有关。TLS 用于加密网络通信,以确保数据的机密性和完整性。–tls-server-* 参数允许你配置与 TLS 相关的各种设置,如私钥、证书等,以确保 redis_exporter 的 Web 接口通过 HTTPS 安全地暴露度量数据。具体的参数可能包括 --tls-server-key-file(指定私钥文件的路径)、-tls-server-cert-file(指定证书文件的路径)等。通过这些参数,你可以为 redis_exporter 启用 HTTPS,并增强数据传输的安全性。

其他参数

  • -config-command string
       指定用于获取 Redis 配置的命令字符串。Redis 的 CONFIG GET 命令用于获取 Redis 服务器的配置参数。通过这个参数,您可以自定义或限制 redis_exporter 在检索配置信息时所使用的命令。例如,如果您只想检索特定的配置选项,可以使用这个参数来指定。
  • -disable-exporting-key-values
       决定是否禁用从 Redis 中导出键和值的功能。默认情况下,redis_exporter 可能会导出 Redis 中的键和对应的值作为度量信息。如果出于安全或性能的考虑,您不希望导出这些键值对,可以通过设置这个参数为 true 来禁用这个功能。
  • -is-cluster
       指示 redis_exporter 是否正在监控一个 Redis 集群。Redis 支持集群模式,允许多个 Redis 节点共同工作以提供高可用性和可扩展性。当设置为 true 时,redis_exporter 将以集群模式运行,并适当地收集和处理集群相关的度量信息。
  • -is-tile38
      指示 redis_exporter 是否应抓取 Tile38 特定的度量。Tile38 是一个地理空间数据库,兼容 Redis 协议。如果设置为 true,redis_exporter 将尝试收集和暴露与 Tile38 相关的特定度量信息。
  • -max-distinct-key-groups int
       设置要作为不同度量呈现的最具内存利用率的唯一键组的最大数量。当使用 --check-key-groups 参数对键进行分组时,这个参数限制了要跟踪和暴露度量信息的唯一键组的数量。这个参数有助于控制内存使用和性能指标的数量,特别是在有大量键组的情况下。
  • -set-client-name
       是否将客户端名称设置为redis_exporter。决定 redis_exporter 是否应将其客户端名称设置为 redis_exporter。当连接到 Redis 服务器时,客户端可以设置一个名称来标识自己。如果设置为 true,redis_exporter 将在连接时将其客户端名称设置为 redis_exporter,这有助于在 Redis 的客户端列表中识别和跟踪 redis_exporter 的连接。

四、实战演练:生产环境搭建指南🔨

4.1 创建普通用户管理redis_exporter👤

useradd deploy

4.2 解压redis_exporter.tar.gz📦

注意:
  我的是x86,所以使用redis_exporter-v1.59.0.linux-amd64.tar.gz,您可以使用uname -a命令查看系统架构

tar xvf redis_exporter-v1.59.0.linux-amd64.tar.gz -C /home/deploy/

4.3 将redis_exporter集成到Prometheus配置中✂️

  将redis_exporter集成到Prometheus配置中,确保数据能够正常采集。编辑Prometheus的配置文件(通常是prometheus.yml),在scrape_configs部分添加redis_exporter的配置。告诉Prometheus将采集localhost:9121的数据。

scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "redis_exporter"static_configs:- targets: ["localhost:9121"]

4.4 更改redis_exporter软件包名称✂️

mv redis_exporter-v1.59.0.linux-amd64 /home/deploy/redis_exporter

4.5 编辑redis_exporter.service文件📝

cat > /etc/systemd/system/redis_exporter.service <<EOF
[Unit]
Description=Redis Exporter
After=network.target[Service]
Type=simple
User=deploy
Group=deploy
ExecStart=/home/deploy/redis_exporter/redis_exporter \
-redis.addr 127.0.0.1:6379 \
-ping-on-connect \
-export-client-list \
-web.listen-address=0.0.0.0:9121
ExecReload=/bin/kill -HUP
Restart=on-failure[Install]
WantedBy=multi-user.target
EOF

4.6 启动redis_exporter.service🔌

sudo systemctl daemon-reloadsudo systemctl enable --now redis_exporter.service

4.7 查看服务是否正常启动🔍

# 查看service服务是否启动
sudo systemctl status redis_exporter.service# 查看端口是否存在
sudo ss -ntulp | grep 9121

相关资料下载地址📚

  • 官方文档:https://prometheus.io/docs/introduction/overview/
  • 下载地址:https://github.com/prometheus/prometheus/releases/tag/v2.52.0
  • 文档地址:https://prometheus.io/docs/prometheus/latest/installation/
  • 离线包下载链接:https://pan.baidu.com/s/1ANF_AlFnM5_FMIbKBuzBmg 提取码:yqpt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/331069.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1301-习题1-1高等数学

1. 求下列函数的自然定义域 自然定义域就是使函数有意义的定义域。 常见自然定义域&#xff1a; 开根号 x \sqrt x x ​&#xff1a; x ≥ 0 x \ge 0 x≥0自变量为分式的分母 1 x \frac{1}{x} x1​&#xff1a; x ≠ 0 x \ne 0 x0三角函数 tan ⁡ x cot ⁡ x \tan x \cot x …

生产物流智能优化系统

对生产调度、物流调度【车辆路径问题、配送中心拣选问题】智能优化算法研究形成系统性程序&#xff0c;逐步开发设计一个智能优化系统【包括&#xff1a;问题说明、实验界面、算法结构和算法程序应用说明】&#xff0c; 当前完成TSP和集送车辆路径的算法程序&#xff0c;程序效…

Pandas高效数据清洗与转换技巧指南【数据预处理】

三、数据处理 1.合并数据&#xff08;join、merge、concat函数&#xff0c;append函数&#xff09; Concat()函数使用 1.concat操作可以将两个pandas表在垂直方向上进行粘合或者堆叠。 join属性为outer&#xff0c;或默认时&#xff0c;返回列名并集&#xff0c;如&#xff…

【大数据】MapReduce JAVA API编程实践及适用场景介绍

目录 1.前言 2.mapreduce编程示例 3.MapReduce适用场景 1.前言 本文是作者大数据系列专栏的其中一篇&#xff0c;前文我们依次聊了大数据的概论、分布式文件系统、分布式数据库、以及计算引擎mapreduce核心概念以及工作原理。 书接上文&#xff0c;本文将会继续聊一下mapr…

K8S认证|CKA题库+答案| 17. 节点维护

17、节点维护 CKA v1.29.0模拟系统免费下载试用&#xff1a; 百度网盘&#xff1a;https://pan.baidu.com/s/1vVR_AK6MVK2Jrz0n0R2GoQ?pwdwbki 题目&#xff1a; 您必须在以下Cluster/Node上完成此考题&#xff1a; Cluster Ma…

无线领夹麦克风哪个品牌好?无线麦克风品牌排行榜前十名推荐

​在当今的数字化浪潮中&#xff0c;个人声音的传播和记录变得尤为重要。无论是会议中心、教室讲台还是户外探险&#xff0c;无线领夹麦克风以其卓越的便携性和连接稳定性&#xff0c;成为了人们沟通和表达的首选工具。面对市场上琳琅满目的无线麦克风选择&#xff0c;为了帮助…

Arduino下载与安装(Windows 10)

Arduino下载与安装(Windows 10) 官网 下载安装 打开官网&#xff0c;点击SOFTWARE&#xff0c;进入到软件下载界面&#xff0c;选择Windows 选择JUST DOWNLOAD 在弹出的界面中&#xff0c;填入电子邮件地址&#xff0c;勾选Privacy Policy&#xff0c;点击JUST DOWNLOAD即可 …

使用SDL_QT直接播放渲染YUV格式文件

0.前要 下载一个文件&#xff0c;名字为 400_300_25.mp4&#xff0c;我们用ffmplay.exe将其转化为yuv文件&#xff0c;具体操作如下&#xff1a; 进入cmd控制台&#xff0c;进入ffmplay.exe文件的目录下&#xff0c;输入ffmpeg -i 文件名.mp4 文件名.yuv 回车&#xff0c;会生…

Java进阶学习笔记15——接口概述

认识接口&#xff1a; Java提供了一个关键字Interface&#xff0c;用这个关键字我们可以定义一个特殊的结构&#xff1a;接口。 接口不能创建对象。 注意&#xff1a;接口不能创建对象&#xff0c;接口是用来被类实现&#xff08;implements&#xff09;的&#xff0c;实现接口…

kotlinx.coroutines.debug.AgentPremain

大家好 我是苏麟 . 项目引入AI大模型 debug 出现报错 设置 勾选

微调Llama3实现在线搜索引擎和RAG检索增强生成功能

视频中所出现的代码 Tavily SearchRAG 微调Llama3实现在线搜索引擎和RAG检索增强生成功能&#xff01;打造自己的perplexity和GPTs&#xff01;用PDF实现本地知识库_哔哩哔哩_bilibili 一.准备工作 1.安装环境 conda create --name unsloth_env python3.10 conda activate …

读书笔记-Java并发编程的艺术--持续更新中

文章目录 第1章 并发编程的挑战1.1 上下文切换1.1.1 多线程一定快吗1.1.2 如何减少上下文切换 1.2 死锁1.3 资源限制的挑战 第2章 Java并发机制的底层实现原理第3章 Java内存模型第4章 Java编发编程基础第5章 Java中的锁第6章 Java并发容器和框架第7章 Java中的13个原子操作类第…

不知道是该怎么引用多个函数片段?具体示例如代码

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

Linux之共享内存mmap用法实例(六十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

三前奏:获取/ 读取/ 评估数据【数据分析】

各位大佬好 &#xff0c;这里是阿川的博客 &#xff0c; 祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 前面的博客 数据分析—技术栈和开发环境搭建 …

【全网最全】2024电工杯数学建模B题问题一14页论文+19建模过程代码+py代码+2种保奖思路+数据等(后续会更新成品论文等)

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击如下的卡片链接&#xff0c;那是获取资料的入口&#xff01; 【全网最全】2024电工杯数学建模B题问一论文19建模过程代码py代码2种保奖思路数据等&#xff08;后续会更新成品论文等&#xff09;「首先来看看目前已…

香蕉成熟度检测YOLOV8NANO

香蕉成熟度检测YOLOV8NANO&#xff0c;采用YOLOV8NANO训练&#xff0c;得到PT模型&#xff0c;然后转换成ONNX模型&#xff0c;让OEPNCV调用&#xff0c;从而摆脱PYTORCH依赖&#xff0c;支持C。python&#xff0c;安卓开发。能检测六种香蕉类型freshripe freshunripe overripe…

轻松拿捏C语言——【字符串函数】的使用及模拟实现

&#x1f970;欢迎关注 轻松拿捏C语言系列&#xff0c;来和 小哇 一起进步&#xff01;✊ &#x1f389;创作不易&#xff0c;请多多支持&#x1f389; &#x1f308;感谢大家的阅读、点赞、收藏和关注&#x1f495; &#x1f339;如有问题&#xff0c;欢迎指正 感谢 目录 一、…

力扣--哈希表13.罗马数字转整数

首先我们可以知道&#xff0c;一个整数&#xff0c;最多由2个罗马数字组成。 思路分析 这个方法能够正确将罗马数字转换为阿拉伯数字的原因在于它遵循了罗马数字的规则&#xff0c;并且对这些规则进行了正确的编码和处理。 罗马数字规则 罗马数字由以下字符组成&#xff1a…

解决 Failed to parse remote port from server output【Remote-SSH】【VSCode】

描述 一早起来&#xff0c;发现remote-ssh无法进入服务器容器&#xff0c;本地使用git bash进行ssh可正常连接服务器&#xff0c;基本确定是vscode工具本身的问题。重装本地用户的.vscode相关目录清空&#xff0c;vscode重装均无果&#xff0c;不建议尝试。弹窗信息为Could no…