ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Monitoring架构详解:Telegraf如何把NAS、虚拟机、路由器等7类设备指标统一汇入InfluxDB?

Monitoring架构详解:Telegraf如何把NAS、虚拟机、路由器等7类设备指标统一汇入InfluxDB? Monitoring架构详解Telegraf如何把NAS、虚拟机、路由器等7类设备指标统一汇入InfluxDB【免费下载链接】MonitoringMonitor ESXi, Synology, Docker, PiHole and Raspberry Pi and Windows using Grafana, InfluxDB and Telegraf项目地址: https://gitcode.com/gh_mirrors/moni/MonitoringMonitoring 是一个面向家庭实验室的开源监控项目通过 Grafana InfluxDB Telegraf 三件套把 Synology NAS、VMware ESXi 虚拟机、Docker 容器、PiHole、树莓派、Windows 主机和路由器的运行指标统一采集、存储并可视化。本文带你拆解这套监控架构一份 Telegraf 配置如何覆盖 7 类异构设备、数据如何汇入同一个 InfluxDB 时序库最终在 Grafana 中呈现为 8 块可交互的监控仪表盘。监控架构总览采集、存储、展示三层分离整个系统只有三个角色职责清晰、互不耦合层级组件职责 采集层Telegraf通过 SNMP、vSphere API、Docker API、HTTP API 等插件从各设备拉取指标 存储层InfluxDB时序数据库所有设备指标汇入同一个telegraf数据库 展示层Grafana将指标渲染成 8 块仪表盘支持定时自动刷新核心思路是无论设备是什么品牌、什么系统Telegraf 都先把它们翻译成统一的时序数据点measurement tag field再写入同一个 InfluxDB。这样一来跨设备的关联分析比如NAS 温度飙升时磁盘 IO 是否异常变得轻而易举。7 类设备的采集方案速查表设备Telegraf 插件采集通道采集间隔Synology NASinputs.snmpSNMP v2SYNOLOGY 系列 MIB60s路由器 RT-AC68梅林固件inputs.snmpSNMP v2UCD / DISKIO MIB60sVMware ESXi / vCenterinputs.vspherevCenter SDK API30sDocker 容器inputs.dockerTCP API 端点2375 端口30sPiHole 广告拦截器inputs.httpjsonHTTP APIapi.php30s树莓派inputs.exec 本地系统插件自定义脚本 / sysfs 接口30sWindows 主机Telegraf Windows 服务本机 WMI / 性能计数器30s 所有插件都声明在telegraf.conf中SNMP 设备单独设置为 60 秒间隔降低对网络设备的压力。1️⃣ Synology NASSNMP 拉取磁盘、RAID 与 UPS 全套指标Telegraf 主机通过 SNMP 与 NAS 通信。先用snmpwalk枚举设备上的 OIDsyno_snmpwalk.txt中保存了输出样例再把关心的 OID 固化到telegraf.conf磁盘温度与 RAID 状态SYNOLOGY-DISK-MIB / SYNOLOGY-RAID-MIB系统负载、内存UCD-SNMP-MIBUPS 电池电压、电量与剩余续航SYNOLOGY-UPS-MIBCIFS / NFS / SSH 等服务当前登录用户数SYNOLOGY-SERVICES-MIB一个 SNMP agent 配置就能覆盖 NAS 的生命体征。前提是安装snmp-mibs-downloader并把群晖官方 MIB 文件放到~/.snmp/mibs目录。2️⃣ 路由器梅林固件的 SNMP Agent 让 RT-AC68 透明化梅林固件内置了 UCD-SNMP-MIBTelegraf 因此可以读到 CPU 负载、内存分布、中断/上下文切换、每个网口的吞吐、TCP/ICMP 统计甚至磁盘 IO。配置中还能用fielddrop/tagdrop过滤掉loop*、ram*等无意义设备保持数据干净。3️⃣ VMware ESXivSphere 插件直连 vCenterinputs.vsphere插件直接对接 vCenter SDKtelegraf.conf中vcenters [https://vcsa.lan/sdk]通过vm_metric_include和host_metric_include白名单只采集 CPU 需求/空闲、内存延迟、磁盘读写延迟、网络收发等关键指标避免拉取全量指标造成数据爆炸。4️⃣ Docker跨主机采集只暴露 TCP 端点Docker 主机是 Synology而 Telegraf 跑在树莓派上。为了不直接暴露docker.sock作者在 NAS 的dockerd.json里额外开放了tcp://synology.lan:2375端点Telegraf 只需一行endpoint配置即可远程采集每个容器的 CPU、内存与网络用量。5️⃣ PiHole 树莓派httpjson 与 exec 脚本的轻量组合PiHole 拦截统计inputs.httpjson插件直接 GEThttp://pi.hole/admin/api.php拿到查询总数、拦截数、缓存命中等指标piholestats.py则是等价的 Python 轮询脚本。树莓派温度telegraf_pi_temp.sh脚本调用vcgencmd读取 GPU 温度、读/sys/class/thermal/thermal_zone0/temp读取 CPU 温度输出 JSON 后由inputs.exec解析入库。6️⃣ Windows 主机Telegraf 服务化部署在 Windows 上把 Telegraf 安装为系统服务即可采集 CPU 使用率、可用内存、各磁盘的吞吐量 / 延迟 / 队列长度等指标仪表盘按盘符逐盘展示。7️⃣ 加餐Plex 媒体服务器监控借助 Varken 导出器Grafana Dashboards/Plex Dashboard还能展示片库规模、播放次数、下载队列与 WAN 带宽——家庭媒体中心也纳入了同一套监控体系。InfluxDB 统一存储所有设备共用一个时序库所有指标最终都写入同一个 InfluxDB[[outputs.influxdb]] urls [http://synology.lan:8086] database telegrafAgent 层统一设置 30 秒采集间隔、10 秒刷新周期interval 30s、flush_interval 10s。对家庭规模来说这个粒度足以捕捉故障趋势又不会让 InfluxDB 存储压力过大。为什么强调一个库因为统一存储之后Grafana 中任何仪表盘都可以混用来自 NAS、虚拟机和路由器的数据源——这是单点监控工具做不到的。快速上手3 步搭好你的 Telegraf 家庭监控部署三件套在 NAS 的 Docker 中运行 InfluxDB 与 Grafana在一台常开的小主机树莓派即可上安装 Telegraf。修改telegraf.conf替换 PiHole 地址、SNMP 的 community 与设备 IP、vCenter 账号密码、Docker 端点等。验证并导入仪表盘重启后用telegraf -test确认指标正常入库再到 Grafana 中依次导入Grafana Dashboards/下的 8 个 JSON 文件Synology、ESXi、PiHole、Docker、Windows、RT-AC68、Plex、Home Assistant。总结Monitoring 项目最大的参考价值不在于某块仪表盘而在于它示范了一套异构设备统一监控架构Telegraf 的插件模型抹平了 NAS、虚拟机、路由器、容器和 PC 之间的协议差异InfluxDB 提供单一事实数据源Grafana 负责最后的可视化。把这三层搭好你的家庭实验室就拥有了上帝视角 【免费下载链接】MonitoringMonitor ESXi, Synology, Docker, PiHole and Raspberry Pi and Windows using Grafana, InfluxDB and Telegraf项目地址: https://gitcode.com/gh_mirrors/moni/Monitoring创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表