Cras Postgres intus Openshift

Bene dies, habitant Habr!

Hodie tibi dicere volo quomodo re vera monitorem postgressas et duas alias res intra OpenShift botrum portarum et quomodo id fecerimus voluimus dicere.

In aditu habebant;

  • Openshift
  • helm
  • Prometheum


Ad applicationem cum Java: omnia simplicia et perspicua aut subtiliora esse;

I) addens ad build.gradle

 implementation "io.micrometer:micrometer-registry-prometheus"

II) curre prometheus cum configuratione

 - job_name: 'job-name'
    metrics_path: '/actuator/prometheus'
    scrape_interval: 5s
    kubernetes_sd_configs:
    - role: pod
      namespaces:
        names: 
          - 'name'

III) ad ostentationem addit Grafana

Omnia satis simplicia et prosaica erant usque ad momentum ad monitorem bases quae in nostro spatio prope positae sunt (ita, hoc malum est, nemo hoc facit, sed res variae fiunt).

Quomodo operatur?

Praeter vasculum cum ipso postgres et prometheo, unum ens - exportatorem opus est.

Exportator in conceptu abstracto agens est qui metricas colligit ex applicatione vel etiam ministrante. Nam exportator postgres, scriptum in Go, operatur in principio scriptorum SQL currentis intra datorum datorum et deinde prometheus sumit eventus consecutos. Hoc etiam tibi permittit ut collectas metricas addendo tuo augeas.

Explicabimus hoc sic (exemplum deployment.yaml, non ligandi);


---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: postgres-exporter
  labels:
    app: {{ .Values.name }}
    monitoring: prometheus
spec:
  serviceName: {{ .Values.name }}
  replicas: 1
  revisionHistoryLimit: 5
  template:
    metadata:
      labels:
        app: postgres-exporter
        monitoring: prometheus
    spec:
      containers:
      - env:
        - name: DATA_SOURCE_URI
          value: postgresdb:5432/pstgr?sslmode=disable
        - name: DATA_SOURCE_USER
          value: postgres
        - name: DATA_SOURCE_PASS
          value: postgres
        resources:
          limits:
            cpu: 100m
            memory: 50Mi
          requests:
            cpu: 100m
            memory: 50Mi
        livenessProbe:
          tcpSocket:
            port: metrics
          initialDelaySeconds: 30
          periodSeconds: 30
        readinessProbe:
          tcpSocket:
            port: metrics
          initialDelaySeconds: 10
          periodSeconds: 30
        image: exporter
        name: postgres-exporter
        ports:
        - containerPort: 9187
          name: metrics

Etiam officium et imagesream postulabat

Post instruere, omnes vere videre volumus.

Adde sequentia partes ad Promethei config;

  - job_name: 'postgres_exporter'
    metrics_path: '/metrics'
    scrape_interval: 5s
    dns_sd_configs:
    - names:
      - 'postgres-exporter'
      type: 'A'
      port: 9187

Et deinde omnia operata, omnia quae restant, haec omnia in grafana adiiciam et fructu fruuntur.

Praeter facultatem ut interrogationes tuas augeas, occasus in prometheo mutare potes, plura iaculis metrica colligendis.

Hoc in simili modo factum est;

  • Kafka
  • Elasticsearch
  • Brunfelsia

P.S. Omnia notitia in nominibus, portubus et reliquis ex aere sumuntur neque ulla notitia continet.

Utile links:
Index variorum exportatorum

Source: www.habr.com