Статьи

Мониторинг приложений с помощью Prometheus Operator в Куберне

Вы можете настроить конфигурацию Prometheus на информацию о среде Kubernetes, в которой работают ваши приложения. Я описал, как сделать это вручную, в предыдущем сообщении в блоге . Prometheus Operator — это расширение для Kubernetes, которое управляет экземплярами мониторинга Prometheus более автоматизированным и эффективным способом.

Prometheus Operator позволяет вам определять экземпляры мониторинга и управлять ими как ресурсами Kubernetes. Если вы знаете, как управлять Kubernetes, есть низкий порог, чтобы начать и эффективно определять мониторинг ваших приложений.

Чтобы включить наших операторов Kubernetes for Prometheus, мы настроили определения ресурсов и RBAC, которые вы можете найти здесь . Это расширяет наш кластер, добавляя больше ресурсов Kubernetes, таких как ServiceMonitor или Prometheus . Точно так же вы можете использовать таблицу управления Prometheus Operator.

Мы определяем операторы нашего приложения config-example , аналогично предыдущему посту:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: config-example
  labels:
    team: example
spec:
  selector:
    matchLabels:
      app: config-example
  endpoints:
  - basicAuth:
      password:
        name: basic-auth
        key: password
      username:
        name: basic-auth
        key: username
    port: https
    scheme: https
    path: '/metrics/'
    tlsConfig:
      insecureSkipVerify: true
01
02
03
04
05
06
07
08
09
10
11
12
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: prometheus
spec:
  serviceAccountName: prometheus
  serviceMonitorSelector:
    matchLabels:
      team: example
  resources:
    requests:
      memory: 400Mi
01
02
03
04
05
06
07
08
09
10
apiVersion: v1
kind: Service
metadata:
  name: prometheus
spec:
  ports:
  - port: 9090
    name: http
  selector:
    prometheus: prometheus
1
2
3
4
5
6
7
apiVersion: v1
kind: Secret
metadata:
  name: basic-auth
data:
  password: YWRtaW5hZG1pbg==
  username: YWRtaW4=

Это устанавливает экземпляр Prometheus, который будет очищать приложения, развернутые с меткой app: config-example используя предоставленную конфигурацию для доступа к ней. Он также создает сервис prometheus для доступа к экземплярам мониторинга.

Вы можете найти полное описание API оператора Prometheus в документации .

После того как мы применили все ресурсы, мы можем увидеть запущенные экземпляры мониторинга в нашем кластере:

1
gt; kubectl get pods NAME READY STATUS RESTARTS AGE config-example-7db586bb95-jdmsx 1/1 Running 0 12m config-example-7db586bb95-z4ln8 1/1 Running 0 12m [...] prometheus-prometheus-0 3/3 Running 0 14m

Это позволяет нам просто отслеживать все экземпляры приложений без ручной настройки экземпляров Prometheus.

Посмотрите полный пример на GitHub ( deployment/ каталог).

Нашли пост полезным? Подпишитесь на мою рассылку, чтобы получить больше бесплатного контента, советы и рекомендации по IT и Java

Успех! Теперь проверьте свою электронную почту, чтобы подтвердить свою подписку.

Опубликовано на Java Code Geeks с разрешения Себастьяна Дашнера, партнера нашей программы JCG. Смотрите оригинальную статью здесь: Мониторинг приложений с помощью Prometheus Operator на Kubernetes

Мнения, высказанные участниками Java Code Geeks, являются их собственными.