大多仪表盘的度量指标的监控纬度区别不大,以 Vert.x
的度量指标为例,说下各个度量指标是做什么的
是一个可增可减的仪表盘。最简单的度量指标,只有一个简单的返回值, 比如用于描述当前队列中等待的任务数、CPU 当前的使用百分比等等这类可以使用一个值来描述的指标。
{
"vertx.pools.worker.vert.x-worker-thread.pool-ratio" : {
"type" : "gauge",
"value" : 0.0
}
}
复制代码
只增不减的计数器。Counter 类型的指标其工作方式和计数器一样,只增不减(除非系统发生重置),比如我们系统当前提供的服务总次数。
{
"vertx.eventbus.messages.pending" : {
"type" : "counter",
"count" : 0
}
}
复制代码
Meter 度量一系列事件发生的速率(rate),例如 TPS、QPS、RPS 等等。Meters 会统计最近 1 分钟,5 分钟,15 分钟等的速率。
{
"vertx.eventbus.messages.sent" : {
"type" : "meter",
"oneSecondRate" : 0,
"count" : 0,
"meanRate" : 0.0,
"oneMinuteRate" : 0.0,
"fiveMinuteRate" : 0.0,
"fifteenMinuteRate" : 0.0,
"rate" : "events/seconds"
}
}
复制代码
用于统计和分析样本的分布情况。
{
"vertx.http.servers.0.0.0.0:8082.bytes-written" : {
"type" : "histogram",
"count" : 2,
"min" : 17464.0,
"max" : 17989.0,
"mean" : 17840.46452488381,
"stddev" : 236.47058393806049,
"median" : 17989.0,
"75%" : 17989.0,
"95%" : 17989.0,
"98%" : 17989.0,
"99%" : 17989.0,
"99.9%" : 17989.0
}
}
复制代码
是 Histogram 和 Meter 的结合。
{
"vertx.http.servers.0.0.0.0:8082.get-requests" : {
"type" : "timer",
"oneSecondRate" : 0,
"count" : 4,
"meanRate" : 0.0035204401211698486,
"oneMinuteRate" : 0.06396446829654137,
"fiveMinuteRate" : 0.013222836942706007,
"fifteenMinuteRate" : 0.004432121596082617,
"rate" : "events/seconds",
"min" : 0.516933,
"max" : 17.52113,
"mean" : 4.683465039234329,
"stddev" : 7.301217751544212,
"median" : 0.526388,
"75%" : 0.5501079999999999,
"95%" : 17.52113,
"98%" : 17.52113,
"99%" : 17.52113,
"99.9%" : 17.52113,
"durationRate" : "milliseconds"
}
}
复制代码
vertx.event-loop-size
event-loop 池中线程数的量表 vertx.worker-pool-size
worker 池中线程数的量表 vertx.cluster-host
群集主机设置的量表(在集群模式下才有) vertx.cluster-port
群集端口设置的量表(在集群模式下才有) vertx.verticles
当前部署的 verticle
的总数量的计数器 vertx.verticles.<verticle-name>
某个 verticle
的部署数量计数器