prometheus-libvirt-exporter 是一款用于监控 KVM 虚拟化平台的开源导出器,它通过 libvirt 接口获取宿主机和虚拟机的资源使用情况,并以 Prometheus 格式导出指标,供 Grafana 等可视化工具展示。它尤其适用于使用 libvirt 管理的 KVM 环境,如纯 QEMU/KVM 部署场景,不依赖 OpenStack 等平台。
2、核心特点
✅ 兼容 Prometheus:原生导出 Prometheus 指标格式,支持 Prometheus 自动发现与抓取。
📊 丰富的监控指标:虚拟机数量(运行中、关闭、挂起等)CPU 使用情况(总 vCPU 与使用率)内存使用(总量、已用、空闲)磁盘 IOPS 和吞吐量网络流量(接收/发送吞吐量)
💡 无需依赖云平台:专为不使用 OpenStack 的 KVM 部署场景设计。
🛠 部署简洁:单可执行文件运行,支持 systemd 管理。
3、适用场景 在裸机上部署 KVM/QEMU 虚拟化环境,需要对虚拟机状态进行资源监控。 企业内部使用 libvirt 管理虚拟机,不依赖 OpenStack、oVirt 等平台。 结合 Prometheus + Grafana 打造完整的监控与可视化方案。 想统一将物理机、容器与虚拟机指标纳入 Prometheus 体系。
4、部署安装goroot@huqi-virtual-machine:/usr/local# wget https://go.dev/dl/go1.14.15.linux-amd64.tar.gz
root@huqi-virtual-machine:/usr/local# tar -xzvf go1.14.15.linux-amd64.tar.gz
root@huqi-virtual-machine:/usr/local# go version
go version go1.14.15 linux/amd64
root@huqi-virtual-machine:/usr/local# export GO111MODULE=on
root@huqi-virtual-machine:/usr/local# export GOPROXY=https://goproxy.cn,direct安装deproot@huqi-virtual-machine:/usr/local# wget https://github.com/golang/dep/releases/download/v0.5.4/dep-linux-amd64
root@huqi-virtual-machine:/usr/local# cp -rp dep-linux-amd64 /usr/local/bin/dep
root@huqi-virtual-machine:/usr/local# chmod +x /usr/local/bin/dep
root@huqi-virtual-machine:/usr/local# dep version
dep:
version : v0.5.4
build date : 2019-07-01
git hash : 1f7c19e
go version : go1.12.6
go compiler : gc
platform : linux/amd64
features : ImportDuringSolve=false安装libvirt_exporterroot@huqi-virtual-machine:/usr/local# git clone https://github.com/zhangjianweibj/prometheus-libvirt-exporter.git
root@huqi-virtual-machine:/usr/local# mv prometheus-libvirt-exporter libvirt_exporter
root@huqi-virtual-machine:/usr/local# cd libvirt_exporter
root@huqi-virtual-machine:/usr/local/libvirt_exporter# dep ensure
root@huqi-virtual-machine:/usr/local/libvirt_exporter# go build prometheus-libvirt-exporter.go
root@huqi-virtual-machine:/usr/local/libvirt_exporter# ./prometheus-libvirt-exporter创建systemdroot@huqi-virtual-machine:/usr/local/libvirt_exporter# cat > /usr/lib/systemd/system/libvirt_exporter.service <<EOF
[Unit]
Description=prometheus-libvirt-exporter
[Service]
ExecStart=/usr/local/libvirt_exporter/prometheus-libvirt-exporter
Restart=on-failure
KillMode=process
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
5、对接Prometheus - job_name: ‘libvirt_exporter’
static_configs:
- targets: [‘10.255.7.201:9000’]
6、对接grafana
Libvirt Dashboard(ID: 15682)此仪表板适用于使用 prometheus-libvirt-exporter 监控纯 KVM 环境(不适用于 OpenStack)。主要功能:显示虚拟机的总数、运行中、已关闭、无状态、挂起和崩溃的数量展示 vCPU 总数和已使用数量显示内存总量、可用和已使用情况提供磁盘读/写 IOPS 及吞吐量您可以通过仪表板 ID 15682 在 Grafana 中导入该仪表板
常见exporter


参考链接
https://mp.weixin.qq.com/s/z8HF1f5-sk539vUanYq2-A
https://prometheus.io/docs/instrumenting/exporters/

607

被折叠的 条评论
为什么被折叠?



