Abojuto postgres inu Openshift

O dara ọjọ, olugbe ti Habr!

Loni Mo fẹ lati sọ fun ọ bii a ṣe fẹ gaan lati ṣe atẹle postgres ati tọkọtaya awọn nkan miiran inu iṣupọ OpenShift ati bii a ṣe ṣe.

Ni ẹnu-ọna wọn ni:

  • Ṣiṣii
  • Iranlọwọ
  • Ipolowo


Lati ṣiṣẹ pẹlu ohun elo java, ohun gbogbo rọrun pupọ ati sihin, tabi lati jẹ kongẹ diẹ sii:

1) Fifi si build.gradle

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

2) Ṣiṣe prometheus pẹlu iṣeto ni

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

3) Fifi a àpapọ to Grafana

Ohun gbogbo jẹ ohun rọrun ati prosaic titi di akoko ti o wa lati ṣe atẹle awọn ipilẹ ti o wa nitosi ni aaye orukọ wa (bẹẹni, eyi jẹ buburu, ko si ẹnikan ti o ṣe eyi, ṣugbọn awọn nkan oriṣiriṣi ṣẹlẹ).

Bawo ni o ṣe n ṣiṣẹ?

Ni afikun si podu pẹlu postgres ati prometheus funrararẹ, a nilo nkan kan diẹ sii - atajasita.

Atajasita ni imọran áljẹbrà jẹ aṣoju ti o gba awọn metiriki lati inu ohun elo kan tabi paapaa olupin kan. Fun atajasita postgres, o ti kọ ni Go, o ṣiṣẹ lori ilana ti ṣiṣe awọn iwe afọwọkọ SQL inu ibi ipamọ data ati lẹhinna prometheus gba awọn abajade ti o gba. Eyi tun gba ọ laaye lati faagun awọn metiriki ti a gba nipasẹ fifi tirẹ kun.

Jẹ ki a gbe lọ bi eleyi (apẹẹrẹ deployment.yaml, ti kii ṣe abuda):


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

O tun nilo iṣẹ kan ati ṣiṣan aworan

Lẹhin ti imuṣiṣẹ, a gan fẹ gbogbo eniyan lati ri kọọkan miiran.

Ṣafikun nkan atẹle si atunto Prometheus:

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

Ati lẹhinna ohun gbogbo ṣiṣẹ, gbogbo ohun ti o ku ni lati ṣafikun gbogbo nkan yii si grafana ati gbadun abajade.

Ni afikun si agbara lati ṣafikun awọn ibeere tirẹ, o le yi awọn eto pada ni prometheus, gbigba awọn metiriki ifọkansi diẹ sii.

Eyi ni a ṣe ni ọna kanna fun:

  • Kafka
  • Elasticsearch
  • Mongo

PS Gbogbo data lori awọn orukọ, ebute oko ati awọn iyokù ti wa ni ya lati awọn air ati ki o ko ni eyikeyi alaye.

Awọn ọna asopọ to wulo:
Akojọ ti awọn orisirisi okeere

orisun: www.habr.com

Fi ọrọìwòye kun