Мониторинг серверов Ubuntu с помощью Прометея - PullRequest
0 голосов
/ 21 сентября 2018

Мне нужно следить за несколькими серверами Ubuntu, используя Prometheus Operator.Эти серверы находятся за пределами кластера kubernetes, где работает мой оператор prometheus.Манифесты ниже работают для мониторинга одного из этих серверов с IP aaa.bbb.ccc.ddd.Как добавить несколько IP-адресов в качестве конечных точек для мониторинга?Или мне нужно создать одну конечную точку / службу для каждого из этих серверов?

apiVersion: v1
kind: Service
metadata:
  name: external-server
  namespace: monitoring
  labels:
    k8s-app: external-server
spec:
  type: ExternalName
  externalName: aaa.bbb.ccc.ddd
  clusterIP: ""
  ports:
  - name: metrics
    port: 9100
    protocol: TCP
    targetPort: 9100

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: external-server
  labels:
    k8s-app: external-server
spec:
  endpoints:
  - port: metrics
    interval: 30s
    honorLabels: true
    path: /metrics
  selector:
    matchLabels:
      k8s-app: external-server
  namespaceSelector:
    matchNames:
    - monitoring

apiVersion: v1
kind: Endpoints
metadata:
  name: external-server
  labels:
    k8s-app: external-server
subsets:
- addresses:
  - ip: aaa.bbb.ccc.ddd
  ports:
  - name: metrics
    port: 9100
    protocol: TCP

Ответы [ 2 ]

0 голосов
/ 22 сентября 2018

Это полное решение, которое сработало для меня.Обратите внимание на тот факт, что мне пришлось изменить Service type на ClusterIP.

apiVersion: v1
kind: Service
metadata:
  name: external-server
  namespace: monitoring
  labels:
    k8s-app: external-server
spec:
  type: ClusterIP
  clusterIP: None
  ports:
  - name: metrics
    port: 9100
    protocol: TCP

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: external-server
  labels:
    k8s-app: external-server
spec:
  endpoints:
  - port: metrics
    interval: 30s
    scheme: http
  selector:
    matchLabels:
      k8s-app: external-server
  namespaceSelector:
    matchNames:
    - monitoring

apiVersion: v1
kind: Endpoints
metadata:
  name: external-server
  labels:
    k8s-app: external-server
subsets:
- addresses:
  - ip: aaa.bbb.ccc.ddd
  - ip: aaa.bbb.ccc.eee
  ports:
  - name: metrics
    port: 9100
    protocol: TCP

. После развертывания оба IP-адреса будут отображаться как конечные точки в Targets в external-server. * 1008.*

0 голосов
/ 21 сентября 2018

Просто используйте

apiVersion: v1
kind: Endpoints
metadata:
  name: external-server
subsets:
- addresses:
  - ip: aaa.bbb.ccc.ddd
  - ip: aaa.bbb.ccc.eee
  - ip: aaa.bbb.ccc.fff
  ports:
  - name: metrics
    port: 9100
    protocol: TCP

, и в Prometheus /targets будет добавлена ​​новая цель с несколькими конечными точками.enter image description here

...