目前我们的3.0是部署在虚拟机上的,计划是使用集群内的prometheus监控物理机。集群内的prometheus要怎么修改配置?看了下有个prometheus-k8s的secret,key名是prometheus.yaml.gz,这是对prometheus.yaml进行压缩后加密了吗?

prometheus.yaml.gz 这个key看起来没用,prometheus.yaml是没有通过configmap或secret处理的,在控制台上挂载configmap被还原了

这个和ks 做外挂etcd 的监控是一样的,创建个 service,再创建一个同名的 endpoint 指向外部 ip, 类似下面:

做好这一步之后可以参考 ks etcd 监控,创建 servicemonitor 并选择刚创建的 service:
https://github.com/kubesphere/kube-prometheus/blob/ks-v3.0/manifests/prometheus-serviceMonitorEtcd.yaml

https://github.com/kubesphere/kube-prometheus/blob/ks-v3.0/manifests/prometheus-serviceEtcd.yaml

外部服务有域名的话直接创建 externalName 的 service 就行了

    [root@bg-003-kvm006-vms003 test]# cat service-gfs.yaml 
    apiVersion: v1
    kind: Service
    metadata:
      name: gfs-node
      namespace: default
    spec:
      clusterIP: None
      ports:
      - name: metrics
        port: 9100
        targetPort: 9100
      selector: null
      
    ---
    apiVersion: v1
    kind: Endpoints
    metadata:
      name: gfs-node
      namespace: default
    subsets:
      - addresses:
          - ip: 192.168.0.236
        ports:
          - port: 9100
    [root@bg-003-kvm006-vms003 test]# cat serviceMonitorgfs.yaml 
    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
      labels:
        app.kubernetes.io/vendor: kubesphere
        k8s-app: gfs-node
      name: gfs-node
      namespace: kubesphere-monitoring-system
    spec:
      endpoints:
      - interval: 1m
        port: metrics
        scheme: http
      namespaceSelector:
        matchNames:
        - default
      selector:
        matchLabels:
          k8s-app: gfs-node
    [root@bg-003-kvm006-vms003 test]# kubectl -n default get service gfs-node
    NAME       TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
    gfs-node   ClusterIP   None         <none>        9100/TCP   31m
    [root@bg-003-kvm006-vms003 test]# kubectl -n kubesphere-monitoring-system get serviceMonitor gfs-node
    NAME       AGE
    gfs-node   31m

    benjaminhuo 现在service,endpoint和serviceMointor都创建了,在prometheus上能看到对应的target,但是没有数据,kubesphere-monitoring-system/gfs-node/0 (0/0 up),在浏览器上直接访问http://192.168.0.236:9100/metrics,是能查询到的