Golang 基于Prometheus Node_Exporter 开发自定义脚本监控

Node_Exporter 源码 目录结构
通过collector目录下源码文件名可以看到具体监控项通过单独的代码文件去采集

新建custom_scripts.go 开始编写自定义脚本监控项采集器
- 定义struct

- 定义所要用到的变量

- 定义init函数去注册collector,NewCoustomScriptCollector 返回CoustomScriptCollector 结构体

- 实现*Unix执行脚本函数

- 注册Collector接口Update方法
主要逻辑:遍历目录下的脚本文件,给脚本文件增加执行权限,然后执行脚本,脚本输出格式Key=Value,取key、value生成metrics数据

在脚本目录放入 测试脚本

编译运行

查看metrics数据

最后展示的话可以在grafana中添加图表,也可在alertmanger添加报警规则,具体可以参考