Kuwunika ma postgres mkati mwa Openshift

Tsiku labwino, okhala ku Habr!

Lero ndikufuna ndikuuzeni momwe timafunira kuyang'anira ma postgres ndi mabungwe ena angapo mkati mwa gulu la OpenShift ndi momwe tinachitira.

Pakhomo anali ndi:

  • Openshift
  • Helm
  • Prometheus


Kuti mugwiritse ntchito pulogalamu ya java, chilichonse chinali chosavuta komanso chowonekera, kapena kunena zomveka bwino:

1) Kuwonjezera build.gradle

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

2) Thamangani prometheus ndi kasinthidwe

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

3) Kuwonjezera chiwonetsero ku Grafana

Chilichonse chinali chophweka komanso chodziwika bwino mpaka nthawi inafika yoyang'anira maziko omwe ali pafupi ndi dzina lathu (inde, izi ndi zoipa, palibe amene amachita izi, koma zinthu zosiyanasiyana zimachitika).

Zimagwira ntchito bwanji?

Kuphatikiza pa pod yokhala ndi postgres ndi prometheus yokha, timafunikira gulu linanso - wogulitsa kunja.

Wotumiza kunja mu lingaliro lachilendo ndi wothandizira yemwe amatolera ma metric kuchokera ku pulogalamu kapena seva. Kwa otumiza kunja kwa postgres, zalembedwa mu Go, zimagwira ntchito poyendetsa zolemba za SQL mkati mwa database ndiyeno prometheus amatenga zotsatira zomwe zapezedwa. Izi zimakupatsaninso mwayi wokulitsa ma metric omwe asonkhanitsidwa powonjezera anu.

Tiyeni tiyike motere (chitsanzo deployment.yaml, osamanga):


---
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

Zinafunikanso utumiki ndi chithunzithunzi

Pambuyo potumizidwa, tikufunadi kuti aliyense awone wina ndi mnzake.

Onjezani chidutswa chotsatira ku Prometheus config:

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

Ndipo zonse zidayenda, chomwe chatsala ndikuwonjezera zinthu zonsezi ku grafana ndikusangalala ndi zotsatira zake.

Kuphatikiza pa kuthekera kowonjezera mafunso anu, mutha kusintha zosintha mu prometheus, kusonkhanitsa ma metric omwe mukufuna.

Izi zidachitika mwanjira yofananira:

  • Kafka
  • Elasticsearch
  • Mongo

PS Deta yonse pamayina, madoko ndi zina zonse zimatengedwa mlengalenga ndipo zilibe chidziwitso chilichonse.

Maulalo othandiza:
Mndandanda wa ogulitsa osiyanasiyana

Source: www.habr.com

Kuwonjezera ndemanga