Nyochaa postgres n'ime Openshift

Ụbọchị ọma, ndị bi na Habr!

Taa, achọrọ m ịgwa gị otu anyị siri chọọ nyochaa postgres na ụlọ ọrụ abụọ ndị ọzọ n'ime ụyọkọ OpenShift yana otu anyị siri mee ya.

N'ọnụ ụzọ ha nwere:

  • Mmepe emepe
  • Helm
  • Prometheus


Iji rụọ ọrụ na ngwa java, ihe niile dị nnọọ mfe ma doo anya, ma ọ bụ ka ọ bụrụ nkenke:

1) Na-agbakwụnye na-ewu.gradle

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

2) Gbaa prometheus na nhazi

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

3) Na-agbakwụnye ihe ngosi na Grafana

Ihe niile dị nnọọ mfe na prosaic ruo mgbe oge bịara nyochaa bases ndị dị nso na anyị namespace (ee, nke a dị njọ, ọ dịghị onye na-eme nke a, ma dị iche iche ihe na-eme).

Kedu ka ọ si arụ ọrụ?

Na mgbakwunye na pod na postgres na prometheus n'onwe ya, anyị chọrọ otu ihe ọzọ - onye na-ebupụ.

Onye na-ebupụ mbupụ na echiche nkịtị bụ onye nnọchi anya na-anakọta metrik site na ngwa ma ọ bụ ọbụna sava. Maka onye na-ebupụ postgres, edere ya na Go, ọ na-arụ ọrụ na ụkpụrụ nke na-agba ọsọ SQL scripts n'ime nchekwa data na mgbe ahụ prometheus na-ewere nsonaazụ enwetara. Nke a na-enyekwa gị ohere ịgbasa metrics anakọtara site na ịgbakwunye nke gị.

Ka anyị bukwasa ya dị ka nke a (ihe atụ deployment.yaml, enweghị ike):


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

Ọ chọkwara ọrụ na ihe onyonyo

Mgbe nkesa gasịrị, anyị chọrọ n'ezie ka onye ọ bụla hụ ibe ya.

Tinye ibe a na nhazi Prometheus:

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

Ma mgbe ahụ, ihe niile na-arụ ọrụ, naanị ihe fọdụrụ bụ ịgbakwunye ihe ndị a niile na grafana ma nwee obi ụtọ na ya pụta.

Na mgbakwunye na ike ịgbakwunye ajụjụ nke gị, ị nwere ike ịgbanwe ntọala na prometheus, na-anakọta metrics ezubere iche.

Emere nke a n'otu aka ahụ maka:

  • Kafka
  • Elasticsearch
  • Mongo

PS A na-ewepụta data niile na aha, ọdụ ụgbọ mmiri na ndị ọzọ na ikuku ma enweghị ozi ọ bụla.

Njikọ njikọ bara uru:
Ndepụta nke ndị na-ebupụ dị iche iche

isi: www.habr.com

Tinye a comment