OpenMetrics加入CNCF
作者:Noah Crowley / 用例,产品,开发者
2018年8月21日
导航到
上周五,云原生计算基金会宣布接受开源指标展示格式OpenMetrics(Prometheus展示格式的演变)进入CNCF沙箱。
云原生计算基金会是一个“致力于使云原生计算普遍和可持续的开源软件基金会”;他们为各种用于构建“云原生”软件的项目提供家园和支持——这些软件是可扩展的、耐用的分布式系统,通过互联网连接提供功能。第一个从CNCF“毕业”的项目是Kubernetes;OpenMetrics作为“沙箱”项目进入该基金会,这是他们为早期工作所分类的项目。
看到这种努力得到更广泛社区的支持真是太好了。《Prometheus指标》展示格式已成为基于拉取的指标的既定格式,因此看到标准被拆分为自己的项目,为额外的合作和更深入地融入更广泛的供应商生态系统打开了大门。
我们在TICK Stack中已经支持Prometheus展示格式一段时间了,无论是在我们的收集代理Telegraf还是在我们的流和批量处理引擎Kapacitor中。
Telegraf能够以Prometheus格式抓取和暴露指标。以下是一些Telegraf系统指标通过/metrics
端点暴露的示例
# HELP system_load1 Telegraf collected metric
# TYPE system_load1 gauge
system_load1{host="demo-host.local"} 2.61
# HELP system_load15 Telegraf collected metric
# TYPE system_load15 gauge
system_load15{host="demo-host.local"} 2.19
# HELP system_load5 Telegraf collected metric
# TYPE system_load5 gauge
system_load5{host="demo-host.local"} 2.23
# HELP system_n_cpus Telegraf collected metric
# TYPE system_n_cpus gauge
system_n_cpus{host="demo-host.local"} 4
# HELP system_n_users Telegraf collected metric
# TYPE system_n_users gauge
system_n_users{host="demo-host.local"} 5
# HELP system_uptime Telegraf collected metric
# TYPE system_uptime counter
system_uptime{host="demo-host.local"} 230446
可以通过启用Prometheus输入插件来抓取以Prometheus格式暴露的指标,确保您的配置中存在以下部分
# Read metrics from one or many prometheus clients
[[inputs.prometheus]]
## An array of urls to scrape metrics from.
urls = [
"https://127.0.0.1:9100/metrics",
"http://remotehost.com:9100/metrics",
"http://192.168.1.199:9100/metrics",
]
## An array of Kubernetes services to scrape metrics from.
# kubernetes_services = ["http://my-service-dns.my-namespace:9100/metrics"]
## Use bearer token for authorization
# bearer_token = /path/to/bearer/token
## Specify timeout duration for slower prometheus clients (default is 3s)
# response_timeout = "3s"
## Optional TLS Config
# tls_ca = /path/to/cafile
# tls_cert = /path/to/certfile
# tls_key = /path/to/keyfile
## Use TLS but skip chain & host verification
# insecure_skip_verify = false
如果您需要为Prometheus生成新的Telegraf配置,可以使用以下命令,添加您想启用的任何其他插件,例如:
分隔的系统插件,如下所示
$ telegraf --sample-config --input-filter prometheus:system --output-filter prometheus_client
Kapacitor也可以抓取Prometheus风格的端点。您可以在Kapacitor抓取和发现文档中找到有关此功能的更多信息。
展望未来,InfluxData 将将 OpenMetrics 格式作为一等公民来支持,并与其他开源公司和组织合作,推动标准的发展。那么,我们未来可以期待什么?
要了解项目进展的最新情况,以及参与讨论,可以通过 OpenMetrics GitHub 页面,特别是 GitHub Issues。目前正在进行许多有趣的讨论,例如 关于如何版本化指标的讨论。
您可以在这里 阅读完整的公告。