Grafana既可允许用户查询、可视化、提醒和理解其指标,无论它们存储在哪里,又可以创建,探索,并与团队分享美丽的仪表板,并培养数据驱动的文化。grafana 已经被各大企业广泛应用,可以说时下最流行的监控面板解决方案了。
本文基于 grafana 强大的能力,用其监控节点重要信息,贴在此处以便于有需要的读者学。
搭建一套 k8s 集群, 可参考笔者博文 k8s笔记8–快速部署k8s集群 v1.19.4–calico网络
搭建 prometheus
搭建 grafana
节点安装 node_exporter
笔者用自己笔记本测试,直接使用 Lens 安装了prometheus、node_exporter 并对其进行持久化存储,安装 grafana 可参考笔者博文 k8s笔记12–grafana的配置和常见使用
将面板 json 信息导入到 grafana 中,然后再按需相关变量,本文中设涉及的变量如下:
面板文件链接: https://pan.baidu.com/s/1UbYLrzU9gzq4Xp8QT5-QHA 密码: 4l4a (具体路径 share/grafana/node-info.json)
在 https://grafana.com/grafana/dashboards/?search 搜索 node exporter
https://grafana.com/grafana/dashboards/1860
新建如下5个变量, 主要信息如下所示,具体配置可参考对应的截图
1.1 Datasource
1.2 node
label_values(node_exporter_build_info,instance)
1.3 maxmount
query_result(topk(1,sort_desc (max(node_filesystem_size_bytes{instance=~'$node',fstype=~"ext4|xfs"}) by (mountpoint))))
/.*\"(.*)\".*/
1.4 nodename
label_values(node_exporter_build_info{instance=~"$node"},kubernetes_node)
1.5 interval
1m,10m,30m,1h,6h,12h,1d,7d,14d,30d

1.1 Datasource

1.2 node

1.3 maxmount

1.4 nodename

1.5 interval

最终节点监控面板效果如下:
