prom-file-sd-config-generator使用示例
https://github.com/amitsaha/prom-file-sd-config-generator
功能比较单一,就是从url使用http GET请求获取一个资源列表,然后自动把他解析成json写进文件,需要提前配置好prometheus基于文件的自动发现功能
GET返回的格式类似于
<a href="http://127.0.0.1:9100/metrics/testitem1">target1</a>
<a href="http://127.0.0.1:9200/metrics/testitem2">target2</a>
<a href="http://127.0.0.1:9300/metrics/testitem3">target3</a>
使用示例
准备一个响应请求的程序
package main
import (
"fmt"
"net/http"
"os"
"github.com/gin-gonic/gin"
)
type targetlist []string
func port() string {
port := os.Getenv("PORT")
if len(port) == 0 {
port = "8088"
}
return ":" + port
}
var list1 = targetlist{`<a href="http://127.0.0.1:9090/metrics">localhost</a>`,
`<a href="http://172.29.36.125:9100/metrics">ser2</a>`}
func main() {
engine := gin.Default()
engine.GET("/list", func(c *gin.Context) {
str := ""
for _, item := range list1 {
str = str + "\n" + item
}
fmt.Println(str)
c.String(http.StatusOK, str)
})
engine.Run(port())
}
运行程序
./prom-file-sd-config-generator --config-path /var/file-sd.json --target-source "http://127.0.0.1:8088/list"
#一共就三个参数
#--config-path json文件地址
#--target-source 响应url
#--scrape-interval int 采集间隔,默认5s
有docker 镜像,使用方法和上面一样,挂参数就行
没看到有更改标签相关的功能,而且还得自己开发响应程序,感觉不实用
评论已关闭