macOS 安装 Grafana + Prometheus + Node Exporter

macOS 安装指南:Grafana + Prometheus + Node Exporter

    • 目录
    • 简介
      • 🚀 快速开始
    • 安装 Homebrew
      • 1. 安装 Homebrew
      • 2. 更新 Homebrew
    • 安装 Node Exporter
      • 使用 Homebrew 安装
      • 验证 Node Exporter
    • 安装 Prometheus
      • 使用 Homebrew 安装
      • 验证安装
    • 安装 Grafana
      • 使用 Homebrew 安装
      • 验证 Grafana 安装
    • 一键安装所有组件
    • 配置 Prometheus
      • 1. 创建配置文件
      • 2. Prometheus 配置内容
      • 3. 创建告警规则(可选)
      • 4. 启动 Prometheus
    • 配置 Grafana
      • 1. 首次登录配置
      • 2. 添加 Prometheus 数据源
      • 3. 配置通知渠道(可选)
    • 导入监控面板
      • 推荐的面板模板
        • 1. 通过面板 ID 导入
        • 2. 自定义面板 JSON
    • 验证和测试
      • 1. 检查所有服务状态
        • 验证目标状态
      • 3. Grafana 面板测试
    • 故障排除
      • 常见问题和解决方案
        • 1. Node Exporter 无法启动
        • 2. Prometheus 配置错误
        • 3. Grafana 连接问题
        • 4. 面板显示 "No data"
        • 5. 权限问题
    • 进阶配置
      • 1. 配置告警管理器
      • 2. 配置远程存储
      • 3. 设置数据保留策略
      • 4. 配置 HTTPS
      • 5. 性能优化
    • 最佳实践
      • 1. 监控策略
      • 2. 安全建议
    • 总结
      • ✅ 已完成的组件
      • 🎯 实现的功能
      • 🍺 Homebrew 安装优势
      • 📊 常用访问地址
      • 🔧 日常维护命令
      • 🚀 下一步扩展
    • 📋 快速参考
      • 核心安装命令
      • 服务管理
      • 常用访问地址
      • 配置文件位置
      • 推荐 Grafana 面板 ID
      • 故障排除命令
      • 维护命令

目录

  • 简介
  • 系统要求
  • 安装 Homebrew
  • 安装 Node Exporter
  • 安装 Prometheus
  • 安装 Grafana
  • 配置 Prometheus
  • 配置 Grafana
  • 导入监控面板
  • 验证和测试
  • 故障排除
  • 进阶配置
  • 总结

简介

在 macOS 系统上搭建监控

  • Node Exporter: 系统指标收集器

  • Prometheus: 时序数据库和监控服务器

  • Grafana: 数据可视化和仪表板平台

  • 🍺 统一使用 Homebrew 安装 - 简洁、快速、可靠

  • 🚀 一键安装命令 - 三个组件一次性搞定

  • 📊 开箱即用 - 完整的配置模板和面板

  • 🔧 自动化管理 - 服务自启动和状态监控

监控:

  • 实时监控系统性能(CPU、内存、磁盘、网络)
  • 设置告警规则
  • 创建美观的监控仪表板
  • 分析历史数据趋势

🚀 快速开始

安装 Homebrew

# 1. 安装所有组件
brew install grafana prometheus node_exporter# 2. 启动所有服务
brew services start grafana prometheus node_exporter# 3. 验证安装
http://localhost:3000  # Grafana 面板
http://localhost:9090  # Prometheus 监控
http://localhost:9100

安装 Homebrew

Homebrew 是 macOS 上最流行的包管理器

1. 安装 Homebrew

# 安装 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"# 验证安装
brew --version

2. 更新 Homebrew

# 更新 Homebrew 和包列表
brew update

安装 Node Exporter

Node Exporter 负责收集系统级别的指标数据。

使用 Homebrew 安装

# 安装 node_exporter
brew install node_exporter# 启动服务
brew services start node_exporter# 设置开机自启动
brew services enable node_exporter

验证 Node Exporter

# 检查服务状态
brew services list | grep node_exporter# 测试访问指标
curl http://localhost:9100/metrics | head -20# 检查进程
ps aux | grep node_exporter

安装 Prometheus

Prometheus 是核心的监控服务器,负责收集和存储时序数据。

使用 Homebrew 安装

# 安装 Prometheus
brew install prometheus# 查看安装信息
brew info prometheus

验证安装

# 检查版本
prometheus --version# 查看配置文件位置
ls -la /opt/homebrew/etc/prometheus.yml
# 或者(Intel 芯片)
ls -la /usr/local/etc/prometheus.yml

安装 Grafana

Grafana 提供强大的数据可视化和仪表板功能。

使用 Homebrew 安装

# 安装 Grafana
brew install grafana# 启动服务
brew services start grafana# 设置开机自启动
brew services enable grafana

验证 Grafana 安装

# 检查服务状态
brew services list | grep grafana# 访问 Web 界面
http://localhost:3000

默认登录信息:

  • 用户名:admin
  • 密码:admin

一键安装所有组件

一次性安装所有组件:

# 一次性安装所有监控组件
brew install grafana prometheus node_exporter# 启动所有服务
brew services start grafana
brew services start prometheus  
brew services start node_exporter# 设置开机自启动
brew services enable grafana
brew services enable prometheus
brew services enable node_exporter# 验证所有服务状态
brew services list | grep -E "(grafana|prometheus|node_exporter)"

配置 Prometheus

1. 创建配置文件

# 备份原配置文件
cp /opt/homebrew/etc/prometheus.yml /opt/homebrew/etc/prometheus.yml.backup# 编辑配置文件
nano /opt/homebrew/etc/prometheus.yml

2. Prometheus 配置内容

# prometheus.yml
global:scrape_interval: 15s          # 全局抓取间隔evaluation_interval: 15s      # 规则评估间隔scrape_timeout: 10s          # 抓取超时# 规则文件配置
rule_files:- "/opt/homebrew/etc/prometheus/rules/*.yml"# 抓取配置
scrape_configs:# Prometheus 自身监控- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']scrape_interval: 5smetrics_path: /metrics# Node Exporter 监控- job_name: 'node-exporter'static_configs:- targets: ['localhost:9100']scrape_interval: 15smetrics_path: /metrics# 可选:添加其他服务器的监控- job_name: 'remote-servers'static_configs:- targets: - 'server1.example.com:9100'- 'server2.example.com:9100'scrape_interval: 30s# 存储配置
storage:tsdb:path: /opt/homebrew/var/prometheusretention.time: 15dretention.size: 1GB# Web 配置
web:listen-address: 0.0.0.0:9090max-connections: 512read-timeout: 30s

3. 创建告警规则(可选)

# 创建规则目录
mkdir -p /opt/homebrew/etc/prometheus/rules# 创建基本告警规则
cat > /opt/homebrew/etc/prometheus/rules/basic_alerts.yml << EOF
groups:- name: basic_alertsrules:# 实例下线告警- alert: InstanceDownexpr: up == 0for: 5mlabels:severity: criticalannotations:summary: "实例 {{ \$labels.instance }} 已下线"description: "{{ \$labels.instance }} 已经下线超过 5 分钟"# 高 CPU 使用率告警- alert: HighCpuUsageexpr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80for: 5mlabels:severity: warningannotations:summary: "{{ \$labels.instance }} CPU 使用率过高"description: "CPU 使用率超过 80% 超过 5 分钟"# 高内存使用率告警- alert: HighMemoryUsageexpr: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100 > 90for: 5mlabels:severity: warningannotations:summary: "{{ \$labels.instance }} 内存使用率过高"description: "内存使用率超过 90% 超过 5 分钟"# 磁盘空间不足告警- alert: DiskSpaceLowexpr: (node_filesystem_avail_bytes{fstype!="tmpfs"} / node_filesystem_size_bytes{fstype!="tmpfs"}) * 100 < 10for: 5mlabels:severity: criticalannotations:summary: "{{ \$labels.instance }} 磁盘空间不足"description: "磁盘 {{ \$labels.device }} 可用空间少于 10%"
EOF

4. 启动 Prometheus

# 验证配置文件
prometheus --config.file=/opt/homebrew/etc/prometheus.yml --dry-run# 启动 Prometheus 服务
brew services start prometheus# 重启服务(如果已经在运行)
brew services restart prometheus

配置 Grafana

1. 首次登录配置

  1. 访问 http://localhost:3000
  2. 使用默认账号登录:admin / admin
  3. 设置新密码

2. 添加 Prometheus 数据源

  1. 点击左侧菜单 “Configuration” → “Data Sources”
  2. 点击 “Add data source”
  3. 选择 “Prometheus”
  4. 配置以下信息:
    • Name: Prometheus
    • URL: http://localhost:9090
    • Access: Server (default)
  5. 点击 “Save & Test”

3. 配置通知渠道(可选)

# 配置邮件通知
1. 进入 "Alerting""Notification channels"
2. 点击 "New Channel"
3. 选择通知类型(Email, Slack, Webhook 等)
4. 填写相关配置信息

导入监控面板

推荐的面板模板

1. 通过面板 ID 导入
  1. 点击左侧 “+” → “Import”
  2. 输入以下推荐的面板 ID:
# Node Exporter 经典面板
1860    # Node Exporter Full(最受欢迎)
11074   # Node Exporter for Prometheus Dashboard
405     # Node Exporter Server Metrics# macOS 专用面板
15797   # Node Exporter Mac OSX
12486   # Node Exporter macOS Dashboard
  1. 点击 “Load”
  2. 选择 Prometheus 数据源
  3. 点击 “Import”
2. 自定义面板 JSON

创建简单的 macOS 监控面板:

{"dashboard": {"id": null,"title": "macOS 系统监控","tags": ["macos", "node-exporter"],"timezone": "browser","panels": [{"id": 1,"title": "CPU 使用率","type": "stat","targets": [{"expr": "100 - (avg by(instance) (irate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100)","legendFormat": "CPU 使用率 %"}],"fieldConfig": {"defaults": {"unit": "percent","min": 0,"max": 100,"thresholds": {"steps": [{"color": "green", "value": null},{"color": "yellow", "value": 70},{"color": "red", "value": 90}]}}},"gridPos": {"h": 8, "w": 6, "x": 0, "y": 0}},{"id": 2,"title": "内存使用率","type": "stat","targets": [{"expr": "(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100","legendFormat": "内存使用率 %"}],"fieldConfig": {"defaults": {"unit": "percent","min": 0,"max": 100,"thresholds": {"steps": [{"color": "green", "value": null},{"color": "yellow", "value": 70},{"color": "red", "value": 90}]}}},"gridPos": {"h": 8, "w": 6, "x": 6, "y": 0}}],"time": {"from": "now-1h","to": "now"},"refresh": "30s"}
}

验证和测试

1. 检查所有服务状态

# 检查所有相关服务
brew services list | grep -E "(prometheus|grafana|node_exporter)"# 检查端口占用
lsof -i :9090  # Prometheus
lsof -i :3000  # Grafana
lsof -i :9100  # Node Exporter
验证目标状态

访问 http://localhost:9090/targets 确保所有目标都是 “UP” 状态。

3. Grafana 面板测试

  1. 访问 http://localhost:3000
  2. 选择导入的面板
  3. 确认数据正常显示
  4. 测试时间范围选择器
  5. 验证自动刷新功能

故障排除

常见问题和解决方案

1. Node Exporter 无法启动
# 检查端口是否被占用
lsof -i :9100# 查看错误日志
tail -f /var/log/node_exporter.log# 重启服务
brew services restart node_exporter
2. Prometheus 配置错误
# 验证配置文件语法
prometheus --config.file=/opt/homebrew/etc/prometheus.yml --dry-run# 检查规则文件
promtool check rules /opt/homebrew/etc/prometheus/rules/*.yml# 查看日志
tail -f /opt/homebrew/var/log/prometheus.log
3. Grafana 连接问题
# 测试 Prometheus 连接
curl http://localhost:9090/api/v1/query?query=up# 检查 Grafana 数据源配置
# 确保 URL 正确:http://localhost:9090
# 检查网络连接和防火墙设置
4. 面板显示 “No data”
# 检查查询语句
# 确认时间范围设置
# 验证数据源选择正确
# 检查标签匹配
5. 权限问题
# 修复配置文件权限
sudo chown $(whoami) /opt/homebrew/etc/prometheus.yml
sudo chmod 644 /opt/homebrew/etc/prometheus.yml# 修复数据目录权限
sudo chown -R $(whoami) /opt/homebrew/var/prometheus
sudo chown -R $(whoami) /opt/homebrew/var/grafana

进阶配置

1. 配置告警管理器

# 安装 Alertmanager
brew install alertmanager# 启动服务
brew services start alertmanager

2. 配置远程存储

# 在 prometheus.yml 中添加
remote_write:- url: "http://remote-storage:9201/write"queue_config:max_samples_per_send: 1000max_shards: 200capacity: 2500

3. 设置数据保留策略

# 启动 Prometheus 时指定保留期
prometheus \--storage.tsdb.retention.time=30d \--storage.tsdb.retention.size=10GB

4. 配置 HTTPS

# 在 prometheus.yml 中添加
web:tls_config:cert_file: server.crtkey_file: server.key

5. 性能优化

# 调整抓取参数
global:scrape_interval: 30s      # 减少抓取频率scrape_timeout: 10s       # 优化超时时间# 优化存储
storage:tsdb:min-block-duration: 2hmax-block-duration: 24h

最佳实践

1. 监控策略

  • 分层监控: 基础设施 → 应用 → 业务指标
  • 合理的抓取间隔: 根据需求平衡精度和资源消耗
  • 标签规范: 使用一致的标签命名约定
  • 告警分级: 区分不同严重程度的告警

2. 安全建议

# 配置防火墙
sudo pfctl -e
sudo pfctl -f /etc/pf.conf# 限制访问IP
# 在生产环境中不要使用默认密码
# 配置HTTPS访问
# 定期更新软件版本

总结

在 macOS 上搭建监控:

✅ 已完成的组件

  1. Node Exporter (端口 9100)

    • 收集系统级别指标
    • CPU、内存、磁盘、网络监控
    • 自动启动配置
  2. Prometheus (端口 9090)

    • 时序数据库和监控服务器
    • 数据收集和存储
    • 告警规则配置
  3. Grafana (端口 3000)

    • 数据可视化平台
    • 监控面板和仪表板
    • 告警通知配置

🎯 实现的功能

  • ✅ 实时系统监控
  • ✅ 历史数据分析
  • ✅ 可视化仪表板
  • ✅ 告警规则设置
  • ✅ 自动化服务管理

🍺 Homebrew 安装优势

通过统一使用 Homebrew 安装

  • 🚀 快速安装: 一条命令安装多个组件
  • 🔄 自动更新: brew upgrade 轻松更新所有组件
  • 📦 依赖管理: 自动处理依赖关系
  • 🗑️ 简洁卸载: brew uninstall 完全清理
  • ⚙️ 统一配置: 配置文件位置标准化
  • 🔧 服务管理: brew services 统一管理所有服务

📊 常用访问地址

Node Exporter:  http://localhost:9100/metrics
Prometheus:     http://localhost:9090
Grafana:        http://localhost:3000

🔧 日常维护命令

# 查看所有服务状态
brew services list | grep -E "(prometheus|grafana|node_exporter)"# 一键启动所有服务
brew services start grafana prometheus node_exporter# 一键重启所有服务
brew services restart grafana prometheus node_exporter# 一键停止所有服务
brew services stop grafana prometheus node_exporter# 更新所有组件
brew upgrade grafana prometheus node_exporter# 查看日志
tail -f /opt/homebrew/var/log/prometheus.log
tail -f /opt/homebrew/var/log/grafana/grafana.log

🚀 下一步扩展

  1. 添加更多 Exporter

    # 数据库监控
    brew install mysqld_exporter# Web服务器监控
    brew install nginx-prometheus-exporter# 网络探测
    brew install blackbox_exporter
    
  2. 集成其他服务

    • Docker 容器监控
    • Kubernetes 集群监控
    • 应用程序自定义指标
  3. 高级功能

    • 配置集群模式
    • 设置远程存储
    • 实现高可用架构

📋 快速参考

核心安装命令

# 安装所有组件
brew install grafana prometheus node_exporter# 启动所有服务
brew services start grafana prometheus node_exporter# 设置开机自启动
brew services enable grafana prometheus node_exporter

服务管理

# 查看服务状态
brew services list | grep -E "(grafana|prometheus|node_exporter)"# 启动服务
brew services start [service_name]# 停止服务
brew services stop [service_name]# 重启服务
brew services restart [service_name]# 禁用开机启动
brew services disable [service_name]

常用访问地址

服务地址用途
Grafanahttp://localhost:3000数据可视化面板
Prometheushttp://localhost:9090监控服务器界面
Node Exporterhttp://localhost:9100/metrics系统指标数据
Prometheus Targetshttp://localhost:9090/targets监控目标状态
Prometheus Confighttp://localhost:9090/config配置查看

配置文件位置

# Apple Silicon (M1/M2)
/opt/homebrew/etc/prometheus.yml
/opt/homebrew/etc/grafana/grafana.ini# Intel 芯片
/usr/local/etc/prometheus.yml
/usr/local/etc/grafana/grafana.ini

推荐 Grafana 面板 ID

1860    # Node Exporter Full(最受欢迎)
15797   # Node Exporter Mac OSX(macOS 专用)
11074   # Node Exporter for Prometheus Dashboard
405     # Node Exporter Server Metrics

故障排除命令

# 检查端口占用
lsof -i :3000  # Grafana
lsof -i :9090  # Prometheus  
lsof -i :9100  # Node Exporter# 查看日志
tail -f /opt/homebrew/var/log/grafana/grafana.log
tail -f /opt/homebrew/var/log/prometheus.log# 验证配置
prometheus --config.file=/opt/homebrew/etc/prometheus.yml --dry-run

维护命令

# 更新所有组件
brew upgrade grafana prometheus node_exporter# 完全卸载
brew services stop grafana prometheus node_exporter
brew uninstall grafana prometheus node_exporter

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

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

相关文章

不可变集合类型转换异常

记录一个异常&#xff1a;class java.util.ImmutableCollections$ListN cannot be cast to class java.util.ArrayList (java.util.ImmutableCollections$ListN and java.util.ArrayList 文章目录 1、原因2、解决方式一3、解决方式二4、关于不可变集合的补充4.1 JDK8和9的对比4…

【DAY37】早停策略和模型权重的保存

内容来自浙大疏锦行python打卡训练营 浙大疏锦行 知识点&#xff1a; 过拟合的判断&#xff1a;测试集和训练集同步打印指标模型的保存和加载 仅保存权重保存权重和模型保存全部信息checkpoint&#xff0c;还包含训练状态 早停策略 作业&#xff1a; 对信贷数据集训练后保存权…

【Zephyr 系列 3】多线程与调度机制:让你的 MCU 同时干多件事

好的,下面是Zephyr 系列第 3 篇:聚焦 多线程与调度机制的实践应用,继续面向你这样的 Ubuntu + 真板实战开发者,代码清晰、讲解通俗、结构规范,符合 CSDN 高质量博客标准。 🧠关键词:Zephyr、线程调度、k_thread、k_sleep、RTOS、BluePill 📌适合人群:想从裸机开发进…

实现RabbitMQ多节点集群搭建

目录 引言 一、环境准备 二、利用虚拟机搭建 ​ 三、镜像集群配置 四、HAProxy实现负载均衡(主用虚拟机操作) 五、测试RabbitMQ集群搭建情况 引言 在现代分布式系统中&#xff0c;消息队列&#xff08;Message Queue&#xff09;扮演着至关重要的角色,而 RabbitMQ 作为…

异步上传石墨文件进度条前端展示记录(采用Redis中String数据结构实现-苏东坡版本)

昔者&#xff0c;有客临门&#xff0c;亟需自石墨文库中撷取卷帙若干。此等文册&#xff0c;非止一卷&#xff0c;乃累牍连篇&#xff0c;亟需批量转置。然吾辈虑及用户体验&#xff0c;当效东坡"腹有诗书气自华"之雅意&#xff0c;使操作如行云流水&#xff0c;遂定…

Axure 基础入门

目录 认识产品经理 项目团队* 基本概述 认识产品经理 A公司产品经理 B公司产品经理 C公司产品经理 D公司产品经理 产品经理工作范围 产品经理工作流程* 产品经理的职责 产品经理的分类 产品经理能力要求 产品工具 产品体验报告 原型设计介绍 原型设计概述 为…

零基础学习计算机网络编程----socket实现UDP协议

本章将会详细的介绍如何使用 socket 实现 UDP 协议的传送数据。有了前面基础知识的铺垫。对于本章的理解将会变得简单。将会从基础的 Serve 的初始化&#xff0c;进阶到 Client 的初始化&#xff0c;以及 run。最后实现一个简陋的小型的网络聊天室。 目录 1.UdpSever.h 1.1 构造…

普中STM32F103ZET6开发攻略(二)

接上文&#xff1a;普中STM32F103ZET6开发攻略&#xff08;一&#xff09;-CSDN博客 各位看官老爷们&#xff0c;点击关注不迷路哟。你的点赞、收藏&#xff0c;一键三连&#xff0c;是我持续更新的动力哟&#xff01;&#xff01;&#xff01; 目录 接上文&#xff1a;普中…

用提示词写程序(3),VSCODE+Claude3.5+deepseek开发edge扩展插件V2

edge扩展插件;筛选书签,跳转搜索,设置背景 链接: https://pan.baidu.com/s/1nfnwQXCkePRnRh5ltFyfag?pwd86se 提取码: 86se 导入解压的扩展文件夹: 导入扩展成功: edge扩展插件;筛选书签,跳转搜索,设置背景

电脑桌面便签软件哪个好?桌面好用便签备忘录推荐

在日常办公中&#xff0c;一款优秀的桌面便签工具能显著提升工作效率。面对市面上琳琅满目的选择&#xff0c;不少用户都难以抉择。如果你正在寻找一款兼具轻量化与多功能性的便签软件&#xff0c;那么集实用性与便捷性于一身的"好用便签"&#xff0c;或许就是你的理…

性能优化 - 工具篇:基准测试 JMH

文章目录 Pre引言1. JMH 简介2. JMH 执行流程详解3. 关键注解详解3.1 Warmup3.2 Measurement3.3 BenchmarkMode3.4 OutputTimeUnit3.5 Fork3.6 Threads3.7 Group 与 GroupThreads3.8 State3.9 Setup 与 TearDown3.10 Param3.11 CompilerControl 4. 示例代码与分析4.1 关键点解读…

2025年十大AI幻灯片工具深度评测与推荐

我来告诉你一个好消息。 我们已经亲自测试和对比了市面上最优秀的AI幻灯片工具&#xff0c;让你无需再为选择而烦恼。 得益于AI技术的飞速发展&#xff0c;如今你可以快速制作出美观、专业的幻灯片。 这些智能平台的功能远不止于配色美化——它们能帮你头脑风暴、梳理思路、…

雪花算法:分布式ID生成的优雅解决方案

一、雪花算法的核心机制与设计思想 雪花算法&#xff08;Snowflake&#xff09;是由Twitter开源的分布式ID生成算法&#xff0c;它通过巧妙的位运算设计&#xff0c;能够在分布式系统中快速生成全局唯一且趋势递增的ID。 1. 基本结构 雪花算法生成的是一个64位&#xff08;lo…

第1章:走进Golang

第1章&#xff1a;走进Golang 一、Golang简介 Go语言&#xff08;又称Golang&#xff09;是由Google的Robert Griesemer、Rob Pike及Ken Thompson开发的一种开源编程语言。它诞生于2007年&#xff0c;2009年11月正式开源。Go语言的设计初衷是为了在不损失应用程序性能的情况下…

Higress项目解析(二):Proxy-Wasm Go SDK

3、Proxy-Wasm Go SDK Proxy-Wasm Go SDK 依赖于 tinygo&#xff0c;同时 Proxy - Wasm Go SDK 是基于 Proxy-Wasm ABI 规范使用 Go 编程语言扩展网络代理&#xff08;例如 Envoy&#xff09;的 SDK&#xff0c;而 Proxy-Wasm ABI 定义了网络代理和在网络代理内部运行的 Wasm …

NVMe IP现状扫盲

SSD优势 与机械硬盘&#xff08;Hard Disk Driver, HDD&#xff09;相比&#xff0c;基于Flash的SSD具有更快的数据随机访问速度、更快的传输速率和更低的功耗优势&#xff0c;已经被广泛应用于各种计算领域和存储系统。SSD最初遵循为HDD设计的现有主机接口协议&#xff0c;例…

`docker commit` 和 `docker save`区别

理解 docker commit 和 docker save 之间的区别对于正确管理 Docker 镜像非常重要。让我们详细解释一下这两个命令的作用及其区别。 1. docker commit 作用&#xff1a; docker commit roop-builder roop:v1 命令的作用是基于一个正在运行的容器 roop-builder 创建一个新的镜…

Linux内核体系结构简析

1.Linux内核 1.1 Linux内核的任务 从技术层面讲&#xff0c;内核是硬件和软件之间的一个中间层&#xff0c;作用是将应用层序的请求传递给硬件&#xff0c;并充当底层驱动程序&#xff0c;对系统中的各种设备和组件进行寻址。从应用程序的角度讲&#xff0c;应用程序与硬件没有…

python爬虫:Ruia的详细使用(一个基于asyncio和aiohttp的异步爬虫框架)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Ruia概述1.1 Ruia介绍1.2 Ruia特点1.3 安装Ruia1.4 使用案例二、基本使用2.1 Request 请求2.2 Response - 响应2.3 Item - 数据提取2.4 Field 提取数据2.5 Spider - 爬虫类2.6 Middleware - 中间件三、高级功能3.1 …

网络攻防技术二:密码学分析

文章目录 一、传统密码分析方法1、根据明文、密文等信息的掌握情况分类 2、从密码分析途径分类二、密码旁路分析1、概念2、旁路分析方法三、现代密码系统1、对称密码&#xff08;单密钥&#xff09;2、公开密码&#xff08;成对密钥&#xff09; 四、典型对称密码&#xff08;单…