Monitoring postgres mukati Openshift

Maswera sei vagari veHabr!

Nhasi ndinoda kukuudza kuti taida sei chaizvo kutarisa mapostgres uye akati wandei mamwe masangano mukati meOpenShift cluster uye kuti takazviita sei.

Pamukova vaiva ne:

  • Openshift
  • Helmamu
  • Prometheus


Kushanda nejava application, zvese zvaive nyore uye zviri pachena, kana kunyatsojeka:

1) Kuwedzera kuvaka.gradle

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

2) Mhanya prometheus nekugadzirisa

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

3) Kuwedzera chiratidziro kuGrafana

Zvese zvaive nyore uye prosaic kusvika nguva yasvika yekutarisa mabhesi ari padyo munzvimbo yedu yezita (hongu, izvi zvakaipa, hapana anoita izvi, asi zvakasiyana zvinoitika).

Chinoshanda sei?

Kuwedzera kune iyo pod ine postgres uye prometheus pachayo, isu tinoda chimwe chimwe chinhu - mutengesi kunze.

Anotengesera kunze mune abstract concept mumiriri anounganidza metrics kubva kune application kana kunyange server. Kune postgres kunze kwenyika, yakanyorwa muGo, inoshanda pamusimboti wekumhanyisa SQL zvinyorwa mukati me database uyezve prometheus inotora zvawanikwa. Izvi zvakare zvinokutendera iwe kuti uwedzere akaunganidzwa metrics nekuwedzera yako.

Ngatiiise seizvi (example deployment.yaml, isiri-binding):


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

Zvaidawo sevhisi uye mufananidzo

Mushure mekutumirwa, isu tinoda chaizvo kuti munhu wese aone mumwe nemumwe.

Wedzera chidimbu chinotevera kune Prometheus config:

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

Uye ipapo zvese zvakashanda, chasara kuwedzera zvese izvi zvinhu kune grafana uye kunakidzwa nemhedzisiro.

Pamusoro pekugona kuwedzera yako mibvunzo, unogona kushandura marongero muprometheus, kuunganidza mamwe anonangwa metrics.

Izvi zvakaitwa nenzira yakafanana kune:

  • Kafka
  • Elasticsearch
  • Mongo

PS Yese data pamazita, madoko uye yasara inotorwa kubva kumhepo uye haina chero ruzivo.

Useful links:
Rondedzero yevakasiyana siyana vatengesi kunze kwenyika

Source: www.habr.com

Voeg