# Linux中資源監控器below怎么用
## 一、below簡介
below是由Facebook開源的一款Linux系統資源監控工具,專為現代容器化環境設計。它能夠以極低的開銷實時監控系統資源使用情況,特別適合Kubernetes等容器編排環境。
### 核心特性
- **低開銷監控**:采用eBPF技術實現,性能損耗極小
- **容器感知**:原生支持cgroups v2,完美適配容器環境
- **歷史數據存儲**:自動保存歷史監控數據(默認24小時)
- **多維度監控**:支持CPU、內存、磁盤、網絡等全棧監控
- **可視化界面**:內置TUI界面和Prometheus導出功能
## 二、安裝below
### Ubuntu/Debian系統安裝
```bash
# 添加below官方倉庫
curl -s https://api.github.com/repos/facebookincubator/below/releases/latest | grep browser_download_url | grep deb | cut -d '"' -f 4 | wget -qi -
# 安裝deb包
sudo apt install ./below_*.deb
# 下載最新RPM包
curl -s https://api.github.com/repos/facebookincubator/below/releases/latest | grep browser_download_url | grep rpm | cut -d '"' -f 4 | wget -qi -
# 安裝RPM包
sudo yum install ./below-*.rpm
# 安裝依賴
sudo apt install build-essential cmake libbpf-dev llvm clang
# 克隆源碼
git clone https://github.com/facebookincubator/below.git
cd below
# 編譯安裝
mkdir build && cd build
cmake ..
make
sudo make install
sudo belowd --store /var/lib/below
服務啟動后會持續收集系統資源數據并存儲在指定目錄。
sudo below
進入交互式終端界面后,可以通過快捷鍵操作:
- Tab:切換視圖面板
- ↑/↓:選擇監控項
- Enter:查看詳情
- q:退出當前視圖
# 查看CPU使用率(最近5分鐘)
below query cpu --last 5m
# 查看容器內存使用
below query memory --containers
# 顯示磁盤IO統計
below query disk
# 獲取網絡流量數據
below query network
修改/etc/below/belowd.toml配置文件:
[store]
path = "/var/lib/below"
retention = "48h" # 保留48小時數據
啟動時添加指標導出端口:
belowd --prometheus 9100
然后在Prometheus配置中添加:
scrape_configs:
- job_name: 'below'
static_configs:
- targets: ['localhost:9100']
對于Kubernetes環境,需要啟用cgroups v2:
# 修改內核參數
echo "GRUB_CMDLINE_LINUX=\"systemd.unified_cgroup_hierarchy=1\"" | sudo tee -a /etc/default/grub
sudo update-grub
sudo reboot
# 1. 進入交互式界面
sudo below
# 2. 按Tab切換到CPU視圖
# 3. 按Enter查看具體進程/容器的CPU使用詳情
# 4. 使用左右方向鍵查看不同時間點的數據
# 查詢內存增長趨勢
below query memory --containers --last 6h --format json
# 輸出示例
{
"containers": {
"nginx": {
"usage": {
"values": [
{"time": "2023-07-01T12:00", "value": 256},
{"time": "2023-07-01T18:00", "value": 1024}
]
}
}
}
}
# 顯示各網卡流量統計
below query network --interfaces
# 按容器篩選網絡流量
below query network --containers --last 30m
數據采樣間隔:
修改/etc/below/belowd.toml調整采集頻率:
[sampling]
interval = "10s" # 默認5秒,可適當調大
限制存儲大小:
[store]
max_size = "10GB" # 最大存儲占用
eBPF優化:
# 增加eBPF maps大小
belowd --bpf-map-size=2097152
錯誤現象:
Failed to initialize BPF program
解決方案:
# 檢查內核版本(需4.18+)
uname -r
# 加載必要的內核模塊
sudo modprobe bpf
檢查步驟: 1. 確認cgroups v2已啟用:
stat -fc %T /sys/fs/cgroup/
應顯示cgroup2fs
below --version | grep cgroup
清理緩存數據:
sudo systemctl stop belowd
rm -rf /var/lib/below/*
sudo systemctl start belowd
| 特性 | below | top | htop | glances |
|---|---|---|---|---|
| 容器支持 | ? | ? | ? | ? |
| 歷史數據 | ? | ? | ? | ? |
| eBPF技術 | ? | ? | ? | ? |
| 內存開銷 | <10MB | ~5MB | ~10MB | ~30MB |
| 數據導出 | Prometheus | ? | ? | ? |
/usr/share/doc/below/examples/通過本文介紹,您應該已經掌握below的基本用法和高級配置技巧。這款工具特別適合需要長期監控容器化環境的場景,相比傳統監控工具能提供更豐富的上下文信息。建議結合Prometheus和Grafana構建完整的監控體系。 “`
這篇文章約1500字,采用Markdown格式編寫,包含以下要素: 1. 分級標題組織內容結構 2. 代碼塊展示具體命令 3. 表格對比工具差異 4. 項目符號列表 5. 加粗強調重點內容 6. 實際應用場景示例 7. 故障排查指南 8. 配置優化建議
可根據需要調整各部分內容的深度或增刪特定章節。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。