我们有一个openshift集群(v3.11),其中Prometheus收集度量作为平台的一部分。我们需要长期存储这些指标,我们希望使用我们的InfluxDB时间序列数据库来存储它们。
Telegraf代理(TickStack中的T)具有用于Prometheus的输入插件和用于InfluxDB的输出插件,因此这似乎是一个自然的解决方案。
我正在苦苦挣扎的是Telegraf代理如何设置刮刮Openshift内的指标,我认为配置和文档与openshift之外的普罗米修斯有关?我看不到任何有关如何使用Openshift进行设置的参考。
Telegraf代理本身是否需要驻留在openshift上,或者可以将其设置为通过已发布的路由进行远程收集?
如果有人有任何设置经验或可以提供一些建议,我将不胜感激。
答案 0 :(得分:2)
使用Telegraf从OpenShift Prometheus获取指标的最简单方法是使用OpenShift附带的默认服务。要抓取的网址是:https://prometheus-k8s-openshift-monitoring.apps.<your domain>/federate?match[]=<your conditions>
由于Prometheus处于openshift身份验证代理后面,因此唯一的挑战是身份验证。您应该将新用户添加到prometheus-k8s-htpasswd
机密中,并使用其凭据进行抓取。
为此,您应该运行htpasswd -nbs <login> <password>
,然后将输出添加到prometheus-k8s-htpasswd
密码的末尾。
另一种方法是禁用/federate
端点的身份验证。为此,您应该在prometheus有状态集内的prometheus-proxy容器中编辑命令,并添加-skip-auth-regex=^/federate
选项。