快捷搜索:  汽车  科技

prometheus 监控磁盘容量:深入浅出监控神器Prometheus

prometheus 监控磁盘容量:深入浅出监控神器Prometheus五、PromQLPromQL是Prometheus为我们提供的函数式的查询语言,查询表达式有四种类型:直接通过指标名即可进行查询,查询结果是当前指标最新的时间序列,比如查询Gc累积消耗的时间:

对于其他指标定义方式是一样的:

var ( MyCounter prometheus.Counter MyGauge prometheus.Gauge MyHistogram prometheus.Histogram MySummary prometheus.Summary ) // init 注册指标 func init() { // 1.定义指标(类型,名字,帮助信息) MyCounter = prometheus.NewCounter(prometheus.CounterOpts{ Name: "my_counter_total" Help: "自定义counter" }) // 定义gauge类型指标 MyGauge = prometheus.NewGauge(prometheus.GaugeOpts{ Name: "my_gauge_num" Help: "自定义gauge" }) // 定义histogram MyHistogram = prometheus.NewHistogram(prometheus.HistogramOpts{ Name: "my_histogram_bucket" Help: "自定义histogram" Buckets: []float64{0.1 0.2 0.3 0.4 0.5} // 需要指定桶 }) // 定义Summary MySummary = prometheus.NewSummary(prometheus.SummaryOpts{ Name: "my_summary_bucket" Help: "自定义summary" // 这部分可以算好后在set Objectives: map[float64]float64{ 0.5: 0.05 0.9: 0.01 0.99: 0.001 } }) // 2.注册指标 prometheus.MustRegister(MyCounter) prometheus.MustRegister(MyGauge) prometheus.MustRegister(MyHistogram) prometheus.MustRegister(MySummary) }

prometheus 监控磁盘容量:深入浅出监控神器Prometheus(1)

上面的指标都是没有设置标签的,我们一般的指标都是带有标签的,如何设置指标的标签呢?

如果我要设置带标签的counter类型指标,只需要将原来的NewCounter方法替换为NewCounterVec方法即可,并且传入标签集合。

MyCounter *prometheus.CounterVec // 1.定义指标(类型,名字,帮助信息) MyCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "my_counter_total" Help: "自定义counter" } // 标签集合 []string{"label1" "label2"} ) // 带标签的set指标值 MyCounter.With(prometheus.Labels{"label1":"1" "label2":"2"}).Inc()

prometheus 监控磁盘容量:深入浅出监控神器Prometheus(2)

其他同理。

prometheus 监控磁盘容量:深入浅出监控神器Prometheus(3)

五、PromQL

prometheus 监控磁盘容量:深入浅出监控神器Prometheus(4)

刚刚提到了Prometheus中指标有哪些类型以及如何导出我们的指标,现在指标导出到Prometheus了,利用其提供的PromQL可以查询我们导出的指标。

PromQL是Prometheus为我们提供的函数式的查询语言,查询表达式有四种类型:

  • 字符串:只作为某些内置函数的参数出现;
  • 标量:单一的数字值,可以是函数参数,也可以是函数的返回结果;
  • 瞬时向量:某一时刻的时序数据;
  • 区间向量:某一时间区间内的时序数据集合。
(一)瞬时查询

直接通过指标名即可进行查询,查询结果是当前指标最新的时间序列,比如查询Gc累积消耗的时间:

go_gc_duration_seconds_count

prometheus 监控磁盘容量:深入浅出监控神器Prometheus(5)

猜您喜欢: