从官网拿个例子:
官网地址:https://godoc.org/github.com/prometheus/client_golang/prometheus
我们需要告诉Prometheus从哪里抓取指标。Prometheus操作员可使用ServiceMonitorCRD 轻松管理此操作。为了告诉Prometheus从Ambassador的/metrics端点收集指标,我们将使用Ambassador的管理服务和端口将以下YAML复制到名为的文件中ambassador-monitor.yaml,并使用kubectl
---
apiVersion: monitoring.coreos.com/v1 #API版本,每个k8s版本不同,要用对应的版本
kind: ServiceMonitor #创建的类型
metadata: #元数据信息
name: ambassador-monitor #名称
namespace: monitoring #所在的名称空间,默认为default,如果要describe指定的pod,要加对应的namespace,eg: describe pod -n kube
labels: #标签, 标签值:标签名 把服务与服务关联时会用到
app: ambassador
spec: #设置的是定义的kind: ServiceMonitor中的详细信息
namespaceSelector:
matchNames:
- default
selector: #选择器,选择特定类型对象
matchLabels: #标签选择器
service: ambassador-admin #选择service是ambassador-admin的标签,就可以与相应的标签所对应的类型关联
endpoints:
- port: ambassador-admin
可以看见k8s的namespace是这个,所以deployment,service,monitor-service的namespace要与k8s一致
可以看见下面k8s match的lab只有如下,所以,deployment,service,monitor-service的lab要与k8s一致
可以看见key值是k8s-app
value值为挺多的,随便对应一个就好
以下是一些k8s基本操作,文件在下面
vim prometheus_expoler_node.y