使用prometheus + Hawkular 监控你的应用
最近在看k8s的代码,每个模块都有收集metrics相关的代码,例如scheduler 中var (E2eSchedulingLatency = prometheus.NewHistogram(prometheus.HistogramOpts{Subsystem: schedulerSubsystem,Name:"e2e_scheduling_latenc
·
最近在看k8s的代码,每个模块都有收集metrics相关的代码,例如scheduler 中
var (
E2eSchedulingLatency = prometheus.NewHistogram(
prometheus.HistogramOpts{
Subsystem: schedulerSubsystem,
Name: "e2e_scheduling_latency_microseconds",
Help: "E2e scheduling latency (scheduling algorithm + binding)",
Buckets: prometheus.ExponentialBuckets(1000, 2, 15),
},
)
)
metrics.BindingLatency.Observe(metrics.SinceInMicroseconds(bindingStart))
Prometheus 是一个可以收集你的程序运行的一些性能指标,比如采集一个http请求的时间,上面代码是k8s 记录调度一个pod所需要的时间,prometheus 客户端 将这些元数据保存起来,生成不同的Metrics 类型,使用Http的方式向外提供, 服务器端使用pull的方式采集这些数据,提供给用户使用。metrics的类型见: https://prometheus.io/docs/concepts/metric_types/
官网这里有它的简单使用方法:https://prometheus.io/docs/introduction/getting_started/
我们可以用 grafana 将Prometheus 收集的metrics 用dashboard展示出来:
更多推荐
已为社区贡献3条内容
所有评论(0)