Как собрать метрики Prometheus в программе java? - PullRequest
0 голосов
/ 10 июля 2020

Я просмотрел большинство статей, но не нашел ожидаемых решений. Я новичок в Прометея. Мне нужно получить показатели Prometheus для сбора моей программой java. Итак, мне нужна помощь, чтобы прочитать или получить показатели Prometheus с помощью моей программы java.

Любая помощь или предложение были бы полезны.

Спасибо

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Если вы используете Spring boot 2.1.5.RELEASE, тогда

  1. добавьте актуатор зависимостей и микрометр-прометей
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
  </dependency>
 <dependency> 
   <groupId>io.micrometer</groupId>
   <artifactId>micrometer-registry-prometheus</artifactId>
 </dependency>
добавить конфигурацию, чтобы разрешить доступ к конечной точке / актуатору / прометею
management:
  endpoints:
    web:
      exposure:
       include: '*'
попробуйте запросить http://domain:port/actuator/prometheus

РЕДАКТИРОВАТЬ Для kubernetes im с использованием доброго развертывания:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myAppName
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myAppName
  template:
    metadata:
      labels:
        app: myAppName
      annotations:
        prometheus.io/scrape: "true"
        prometheus.io/port: "8091"
        prometheus.io/path: "/actuator/prometheus"
    spec:
      containers:
        - name: myAppName
          image: images.com/app-service:master
          imagePullPolicy: Always
          ports:
            - containerPort: 8091
          env:
            - name: INSTANCE_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
            - name: SPRING_PROFILES_ACTIVE
              value: "prod"
            - name: CONFIG_SERVER_ADDRESS
              value: "http://config-server:8888"
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /actuator/health
              port: 8091
              scheme: HTTP
            initialDelaySeconds: 45
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          readinessProbe:
            failureThreshold: 5
            httpGet:
              path: /actuator/health
              port: 8091
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
      nodeSelector:
        servicetype: mvp-cluster
0 голосов
/ 10 июля 2020

Есть несколько способов сделать это. Пожалуйста, обратитесь к этому https://github.com/prometheus/client_java

...