Nginx экспортер не найден Ingress nginx - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь опубликовать метрики от моего входа в nginx до Прометея. Я прочитал файлы readme kubernetes.io для развертывания и настройки. Мой nginx работает без сбоев, но экспортер узла не работает после повторной попытки.

У меня есть два контейнера в упомянутом модуле как побочные машины, настроенные как показано ниже в моей среде.

Почему nginxэкспортер не работает?

Мой файл nginx-ingress.yaml показан ниже:

spec:
  selector:
    matchLabels:
      app: nginx-ingress
  template:
    metadata:
      labels:
        app: nginx-ingress
      annotations:
        prometheus.io/scrape: "true"
        prometheus.io/port: "9113"
    spec:
      serviceAccountName: nginx-ingress
      containers:
      - image: nginx/nginx-ingress:edge
        name: nginx-ingress
        ports:
        - name: http
          containerPort: 80
          hostPort: 80
        - name: https
          containerPort: 443
          hostPort: 443
        - name: stub
          containerPort: 8080
          hostPort: 8080
        env:
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        args:
          - -nginx-configmaps=$(POD_NAMESPACE)/nginx-config
          - -default-server-tls-secret=$(POD_NAMESPACE)/default-server-secret
          - -enable-prometheus-metrics
         #- -v=3 # Enables extensive logging. Useful for trooublshooting.
         #- -report-ingress-status
         #- -external-service=nginx-ingress
         #- -enable-leader-election
      - image: nginx/nginx-prometheus-exporter:0.4.2
        name: nginx-prometheus-exporter
        ports:
        - name: prometheus
          containerPort: 9113
        args:
          - -web.listen-address
          - :9113
          - -nginx.scrape-uri=http://127.0.0.1:8080/stub_status
          - -nginx.retries=5
          - -nginx.retry-interval=1

Prometheus-cfg.yaml внизу:

- job_name: 'ingress-nginx-endpoints'
  kubernetes_sd_configs:
  - role: pod
    namespaces:
      names:
      - nginx-ingress
  relabel_configs:
  - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
    action: keep
    regex: true
  - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme]
    action: replace
    target_label: __scheme__
    regex: (https?)
  - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
    action: replace
    target_label: __metrics_path__
    regex: (.+)
  - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
    action: replace
    target_label: __address__
    regex: ([^:]+)(?::\d+)?;(\d+)
    replacement: $1:$2
  - source_labels: [__meta_kubernetes_service_name]
    regex: prometheus-server
    action: drop

1 Ответ

1 голос
/ 23 октября 2019

Вам не нужно добавлять экспортер в nginx-ingress, пожалуйста, прочтите документацию о добавленных вами аннотациях.

Эти аннотации активируют экспортер непосредственно во входном экспортере, и в вашей конфигурации вы открываетепорт 9113 2 раза, удалите контейнер экспортера prometheus, и он должен работать.

...