promethus中的Counter、Gauge、Summary及Histogram的含义和区别

peomethus是用来监控数据的一个开源库,它非常好用。对于promethus来说,它内置了四种指标,我们需要根据自己的场景来使用这四种指标。

需要注意的是,我们在自己的服务端代码中使用promethus,相当于我们是promethus的客户端,我们只能通过端口的方式暴露数据,数据的采集是通过promethus的服务端来完成的(包括采集的间隔,采集的客户端(及我们自己的服务端)地址及端口号都需要在promethus的服务端的yaml文件进行设置)。

1、Counter

这是一个只增不减的计数器,它会默认初始化为0。代码中本地输出信息是测试用的,实际上我们在自己编写代码时不需要去写这样的代码, 我们在开启客户端和服务端后,通过

127.0.0.1:9090/metric

即可看到服务端收集到的指标的值。

package main

import (
	"fmt"

	_ "git-biz.qianxin-inc.cn/infra-components/sdk/microservice-framework/go-framework.git/prometheus"
	"github.com/golang/protobuf/proto"
	"github.com/prometheus/client_golang/prometheus"
	dto "github.com/prometheus/client_model/go"
)

func main() {
	//初始化容器
	pushCounter := prometheus.NewCounter(prometheus.CounterOpts{
		Name: "repository_pushes",
		Help: "How many HTTP requests processed, partitioned by status code and HTTP method.",
	})

	//注册容器
	_ = prometheus.Register(pushCounter)

	pushCounter.Inc() //容器的值+1


	//本地输出信息
	metric := &dto.Metric{}
	pushCounter.Write(metric)
	fmt.Println(proto.MarshalTextString(metric)) //输出容器的值,为1
}

你可能感兴趣的:(java,开发语言)