በOpenshift ውስጥ ፖስትግሬስን መከታተል

መልካም ቀን የሀብር ነዋሪዎች!

ዛሬ በ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) ማሳያ ወደ ግራፋና ማከል

በስም ቦታችን ውስጥ በአቅራቢያው የሚገኙትን መሠረቶችን ለመከታተል ጊዜው እስኪመጣ ድረስ ሁሉም ነገር በጣም ቀላል እና ፕሮሴክ ነበር (አዎ ይህ መጥፎ ነው ፣ ማንም ይህንን አያደርግም ፣ ግን የተለያዩ ነገሮች ይከሰታሉ)።

እንዴት ነው የሚሰራው?

ፖስትግሬስ እና ፕሮሜቲየስ እራሱ ካለው ፖድ በተጨማሪ አንድ ተጨማሪ አካል እንፈልጋለን - ላኪ።

በአብስትራክት ፅንሰ-ሀሳብ ውስጥ ያለ ላኪ ማለት ከአንድ መተግበሪያ አልፎ ተርፎም አገልጋይ መለኪያዎችን የሚሰበስብ ወኪል ነው። ለፖስትግሬስ ላኪ ፣ በ Go ውስጥ ተጽፏል ፣ በመረጃ ቋቱ ውስጥ የ 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

እንዲሁም አገልግሎት እና የምስል ዥረት ያስፈልገዋል

ከተሰማራ በኋላ ሁሉም ሰው እንዲተያይ በእውነት እንፈልጋለን።

የሚከተለውን ቁራጭ ወደ Prometheus ውቅር ያክሉ።

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

እና ከዚያ ሁሉም ነገር ሠርቷል, የቀረው ሁሉ እነዚህን ነገሮች ወደ ግራፋና ማከል እና ውጤቱን መደሰት ነው.

የእራስዎን ጥያቄዎች የመጨመር ችሎታ በተጨማሪ, ተጨማሪ የታለሙ መለኪያዎችን በመሰብሰብ በፕሮሜቲየስ ውስጥ ያሉትን መቼቶች መለወጥ ይችላሉ.

ይህ በተመሳሳይ መንገድ የተደረገው ለ:

  • ካፋካ
  • Elasticsearch
  • mongo

PS ሁሉም መረጃዎች በስሞች፣ ወደቦች እና የተቀሩት ከአየር የተወሰዱ ናቸው እና ምንም አይነት መረጃ የላቸውም።

ጠቃሚ አገናኞች:
የተለያዩ ላኪዎች ዝርዝር

ምንጭ: hab.com

አስተያየት ያክሉ