Мониторинг Nginx при помощи stub_status и Prometheus Exporter. Часть 2

Для получения данных с Nginx status монитора в Prometheus необходим запуск Prometheus exporter в Kubernetes кластере. Напишем deployment манифест для запуска экспортера в Prometheus.

Создадим файл exporter.yaml:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: nginx-prometheus-exporter
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app:nginx-prometheus-exporter
    spec:
      containers:
        - name:nginx-prometheus-exporter
          image: "nginx/nginx-prometheus-exporter:0.8.0"
          imagePullPolicy: Always
          args: ["-nginx.scrape-uri", "https://mywebsite/basic_status"]
          ports:
            - containerPort: 9113
              name: http

---
apiVersion: v1
kind: Service
metadata:
  name: nginx-prometheus-exporter
  annotations:
    prometheus.io/scrape: 'true'
    prometheus.io/port:   '9113'
spec:
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: 9113
  selector:
    app: nginx-prometheus-exporter
  type: ClusterIP

Для того, чтобы Prometheus мог забирать данные с pod-ов очень важно добавить соответствующую аннотацию в Service манифест:

prometheus.io/scrape: 'true'
prometheus.io/port:   '9113'

Далее применяем манифест:

kubectl apply -f exporter.yaml

 

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *