Saka idanu postgres a cikin Openshift

Barka da rana, mazauna Habr!

A yau ina so in gaya muku yadda da gaske muke son saka idanu akan postgres da wasu ma'aurata a cikin rukunin OpenShift da yadda muka yi.

A kofar shiga suna da:

  • Yanzun
  • Hanya
  • Prometheus


Don aiki tare da aikace-aikacen java, komai ya kasance mai sauƙi kuma a bayyane, ko kuma ya zama daidai:

1) Ƙara don ginawa.gradle

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

2) Gudun prometheus tare da sanyi

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

3) Ƙara nuni zuwa Grafana

Komai ya kasance mai sauƙi kuma mai sauƙi har sai lokacin ya zo don saka idanu kan sansanonin da ke kusa da su a cikin sunanmu (eh, wannan mummunan ne, babu wanda ke yin wannan, amma abubuwa daban-daban sun faru).

Yaya yake aiki?

Baya ga kwafsa tare da postgres da prometheus kanta, muna buƙatar ƙarin mahallin - mai fitarwa.

Mai fitarwa a cikin mahimmin ra'ayi shine wakili wanda ke tattara awo daga aikace-aikace ko ma sabar. Don mai aikawa na postgres, an rubuta shi a cikin Go, yana aiki akan ka'idar gudanar da rubutun SQL a cikin bayanan bayanan sannan kuma prometheus yana ɗaukar sakamakon da aka samu. Wannan kuma yana ba ku damar faɗaɗa ma'aunin da aka tattara ta ƙara naku.

Bari mu tura shi kamar haka (misali deployment.yaml, mara ɗauri):


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

Hakanan yana buƙatar sabis da raɗaɗin hoto

Bayan tura sojoji, muna son kowa ya ga juna.

Ƙara wannan yanki zuwa tsarin Prometheus:

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

Sa'an nan kuma duk abin ya yi aiki, abin da ya rage shi ne ƙara duk wannan kayan a cikin grafana kuma a ji dadin sakamakon.

Baya ga ikon ƙara tambayoyin ku, zaku iya canza saituna a cikin prometheus, tattara ƙarin ma'auni masu niyya.

An yi haka ta hanya ɗaya don:

  • Kafka
  • Elasticsearch
  • mongo

PS Duk bayanan sunaye, tashar jiragen ruwa da sauran ana ɗaukar su daga iska kuma basu ƙunshi kowane bayani ba.

Hanyoyi masu amfani:
Jerin masu fitar da kaya iri-iri

source: www.habr.com

Add a comment