ఓపెన్‌షిఫ్ట్ లోపల పోస్ట్‌గ్రేస్‌ని పర్యవేక్షిస్తోంది

మంచి రోజు, హబ్ర్ నివాసితులు!

ఓపెన్‌షిఫ్ట్ క్లస్టర్‌లోని పోస్ట్‌గ్రెస్ మరియు కొన్ని ఇతర ఎంటిటీలను మేము నిజంగా ఎలా పర్యవేక్షించాలనుకుంటున్నాము మరియు మేము దీన్ని ఎలా చేసామో ఈ రోజు నేను మీకు చెప్పాలనుకుంటున్నాను.

ప్రవేశద్వారం వద్ద వారు కలిగి ఉన్నారు:

  • OpenShift
  • హెల్మ్
  • ప్రోమేతియస్


జావా అప్లికేషన్‌తో పని చేయడానికి, ప్రతిదీ చాలా సరళంగా మరియు పారదర్శకంగా ఉంటుంది లేదా మరింత ఖచ్చితంగా చెప్పాలంటే:

1) build.gradleకి కలుపుతోంది

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

2) కాన్ఫిగరేషన్‌తో ప్రోమేథియస్‌ని అమలు చేయండి

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

3) గ్రాఫానాకు ప్రదర్శనను జోడించడం

మా నేమ్‌స్పేస్‌లో సమీపంలో ఉన్న స్థావరాలను పర్యవేక్షించే క్షణం వచ్చే వరకు ప్రతిదీ చాలా సరళంగా మరియు ఉల్లాసంగా ఉంది (అవును, ఇది చెడ్డది, ఎవరూ దీన్ని చేయరు, కానీ వేర్వేరు విషయాలు జరుగుతాయి).

ఇది ఎలా పని చేస్తుంది?

పోస్ట్‌గ్రెస్ మరియు ప్రోమేథియస్‌తో పాటుగా, మనకు మరొక సంస్థ అవసరం - ఎగుమతిదారు.

ఒక అబ్‌స్ట్రాక్ట్ కాన్సెప్ట్‌లో ఉన్న ఎగుమతిదారు అనేది ఒక అప్లికేషన్ లేదా సర్వర్ నుండి కొలమానాలను సేకరించే ఏజెంట్. పోస్ట్‌గ్రెస్ ఎగుమతిదారు కోసం, ఇది గోలో వ్రాయబడింది, ఇది డేటాబేస్ లోపల SQL స్క్రిప్ట్‌లను అమలు చేసే సూత్రంపై పనిచేస్తుంది మరియు ప్రోమేతియస్ పొందిన ఫలితాలను తీసుకుంటుంది. ఇది మీ స్వంతంగా జోడించడం ద్వారా సేకరించిన కొలమానాలను విస్తరించడానికి కూడా మిమ్మల్ని అనుమతిస్తుంది.

దీన్ని ఇలా అమలు చేద్దాం (ఉదాహరణ deployment.yaml, నాన్-బైండింగ్):


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

దీనికి సేవ మరియు ఇమేజ్ స్ట్రీమ్ కూడా అవసరం

విస్తరణ తర్వాత, ప్రతి ఒక్కరూ ఒకరినొకరు చూడాలని మేము నిజంగా కోరుకుంటున్నాము.

ప్రోమేతియస్ కాన్ఫిగరేషన్‌కు కింది భాగాన్ని జోడించండి:

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

ఆపై ప్రతిదీ పనిచేసింది, మిగిలి ఉన్నది గ్రాఫానాకు ఈ అంశాలన్నింటినీ జోడించి, ఫలితాన్ని ఆస్వాదించడమే.

మీ స్వంత ప్రశ్నలను జోడించే సామర్థ్యంతో పాటు, మీరు మరిన్ని లక్ష్య కొలమానాలను సేకరిస్తూ ప్రోమేథియస్‌లో సెట్టింగ్‌లను మార్చవచ్చు.

ఇది ఇదే విధంగా జరిగింది:

  • కాఫ్కా
  • Elasticsearch
  • మొంగో

PS పేర్లు, పోర్ట్‌లు మరియు మిగిలిన డేటా మొత్తం గాలి నుండి తీసుకోబడింది మరియు ఏ సమాచారాన్ని కలిగి ఉండదు.

ఉపయోగకరమైన లింకులు:
వివిధ ఎగుమతిదారుల జాబితా

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి