Вы можете настроить конфигурацию 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, являются их собственными. |