SSH Exporter:基於Prometheus的遠端系統效能監控神器

无名大侠01發表於2024-07-31

SSH Exporter

English | 中文

介紹

SSH Exporter 是一個基於 Prometheus 規範的監控工具,透過 SSH 協議遠端收集目標伺服器的系統效能資料,如 CPU 使用率、記憶體使用情況、磁碟和網路 I/O 等,並將這些資料暴露為 Prometheus 格式的 metrics,以便被 Prometheus Server 抓取和儲存。

功能特性

  • 遠端監控:透過 SSH 協議連線到遠端伺服器,無需在被監控伺服器上安裝額外的 agent。
  • 全面的系統監控:支援監控 CPU、記憶體、磁碟和網路等多個方面的效能指標。
  • 動態配置:支援從 YAML 配置檔案中讀取監控目標和引數,便於動態管理監控節點。
  • 非同步收集:使用執行緒池非同步收集資料,提高資料收集效率。
  • 錯誤處理與重試機制:對於 SSH 連線失敗的情況,提供自動重試機制,確保資料收集的可靠性。
  • 多語言環境支援:在解析某些命令輸出時,根據系統語言自動適配,支援中文和英文環境。

使用方法

1.拉取程式碼

從 GitHub 上拉取程式碼

git clone https://github.com/2018-11-27/ssh-exporter.git

2. 配置

需要編輯 config.yml 檔案,配置需要監控的節點和監控指標。例如:

nodes:
  - ip: 192.168.1.101
    port: 22
    username: <username>
    password: <password>
  - ip: 192.168.1.102
    port: 22
    username: <username>
    password: <password>

metrics:
  - ssh_cpu_utilization
  - ssh_cpu_utilization_user
  - ssh_cpu_utilization_system
  - ssh_cpu_utilization_top5
  - ssh_cpu_percentage_wait
  - ssh_cpu_percentage_idle
  - ssh_cpu_count
  - ssh_memory_utilization
  - ssh_memory_utilization_top5
  - ssh_memory_utilization_swap
  - ssh_memory_available_bytes
  - ssh_memory_available_swap_bytes
  - ssh_disk_utilization
  - ssh_disk_used_bytes
  - ssh_disk_available_bytes
  - ssh_disk_read_bytes_total
  - ssh_disk_write_bytes_total
  - ssh_network_receive_bytes_total
  - ssh_network_transmit_bytes_total

3. 執行

安裝依賴後直接執行 ssh_exporter.py 指令碼即可啟動 SSH Exporter 服務。服務將監聽預設的 9122 埠,等待 Prometheus Server 的抓取請求。

# 安裝依賴:
pip3 install -r requirements.txt

# 啟動 SSH Exporter 服務:
python3 ssh_exporter.py

支援的Python版本:python>=3.8

4. Prometheus 配置

在 Prometheus 的配置檔案中新增一個新的 job,指定 SSH Exporter 的地址,以便 Prometheus 可以抓取資料。

scrape_configs:
  - job_name: 'ssh-exporter'
    static_configs:
      - targets: ['localhost:9122']

注意事項

  • 安全性:請確保 SSH 憑證(使用者名稱和密碼)的安全,避免洩露。
  • 網路配置:確保 Prometheus Server 可以訪問執行 SSH Exporter 的伺服器。
  • 效能影響:頻繁的 SSH 連線和資料收集可能會對遠端伺服器造成一定的效能影響,請根據實際需求調整資料收集頻率。

開發與維護

  • 問題反饋:請在 GitHub 倉庫中提交 issues。
  • 貢獻程式碼:歡迎提交 PR,共同完善 SSH Exporter。

相關文章