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
繁體地址,請注明出處:http://hk.pswp.cn/news/907905.shtml
英文地址,請注明出處:http://en.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;單…