Telegraf:系统仪表盘
Telegraf 指标的 InfluxDB 仪表盘
描述
Telegraf + InfluxDB 的模板化仪表盘。
类似于基本的 https://grafana.net/dashboards/914,但具有模板、重复面板/行等功能。
最初是作为“学习 InfluxDB/Telegraf”的项目创建的,最终变成了我每天都在使用的工具。
变量(包括服务器/数据源/间隔等标准变量)
- CPU(默认值为全部)
- 磁盘(每个磁盘的 IOPS)
- 网络接口(数据包、带宽、错误/丢弃)
- 挂载点(空间/inode)
指标
- 详细的网络堆栈信息,nstat 插件允许我们获取原始 SNMP 数据,例如
- TCP 握手数据
- TCP 中断数据
- ICMP 错误,ICMP 数据
- SYN 数据
- TCP 错误(重传等)
- IPv4 错误
- IPv6 错误
- 连接跟踪数据
- 文件描述符
- UDP 数据
…以及基本上可以从普通 Linux 系统中提取的所有“通用”信息
默认情况下,所有变量都指向“全部”,因此如果您的磁盘/网络接口数量很多,仪表盘可能会非常庞大。
到目前为止,我在一台拥有 46 个磁盘和 8 个接口的机器上测试过它,加载正常(但速度很慢,性能较差的浏览器几乎无法处理所有这些数据)
已知问题/权宜之计
Docker 的“veth”接口通过模板正则表达式列入黑名单。Docker 使用诸如“veth%container_id%”之类的名称创建了大量此类接口,即使它们几个月前就已不存在,也会出现在选择器中,因此有关这些接口的信息实际上毫无用处。
磁盘 IO 仅显示对于 /dev/sda、/dev/hda、/dev/vda 等磁盘。使用每个分区的 IOPS 会生成过多的图表,但如果您确实需要它,可以通过编辑“磁盘”模板变量中的正则表达式来修复它。此外,我不确定 drbd 和其他“虚拟”块设备的情况。
拆分 IPv4/IPv6 数据(我没有 IPv6 网络,因此优先级不高)
更新日志
- 2019 年 8 月 7 日:支持 nvme 磁盘 (/dev/nvmeXnY)