ಓಪನ್‌ಶಿಫ್ಟ್‌ನಲ್ಲಿ ಪೋಸ್ಟ್‌ಗ್ರೆಸ್ ಅನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಶುಭ ದಿನ, ಹಬ್ರ್ ನಿವಾಸಿಗಳು!

ಓಪನ್‌ಶಿಫ್ಟ್ ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ ಪೋಸ್ಟ್‌ಗ್ರೆಸ್ ಮತ್ತು ಇತರ ಕೆಲವು ಘಟಕಗಳನ್ನು ನಾವು ನಿಜವಾಗಿಯೂ ಹೇಗೆ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಬಯಸಿದ್ದೇವೆ ಮತ್ತು ನಾವು ಅದನ್ನು ಹೇಗೆ ಮಾಡಿದ್ದೇವೆ ಎಂದು ಇಂದು ನಾನು ನಿಮಗೆ ಹೇಳಲು ಬಯಸುತ್ತೇನೆ.

ಪ್ರವೇಶದ್ವಾರದಲ್ಲಿ ಅವರು ಹೊಂದಿದ್ದರು:

  • ಓಪನ್ ಶಿಫ್ಟ್
  • ಹೆಲ್ಮ್
  • ಪ್ರಮೀತಿಯಸ್


ಜಾವಾ ಅಪ್ಲಿಕೇಶನ್‌ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು, ಎಲ್ಲವೂ ತುಂಬಾ ಸರಳ ಮತ್ತು ಪಾರದರ್ಶಕವಾಗಿತ್ತು, ಅಥವಾ ಹೆಚ್ಚು ನಿಖರವಾಗಿರಲು:

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

ಇದಕ್ಕೆ ಸೇವೆ ಮತ್ತು ಇಮೇಜ್‌ಸ್ಟ್ರೀಮ್ ಕೂಡ ಅಗತ್ಯವಿದೆ

ನಿಯೋಜನೆಯ ನಂತರ, ಪ್ರತಿಯೊಬ್ಬರೂ ಪರಸ್ಪರ ನೋಡಬೇಕೆಂದು ನಾವು ನಿಜವಾಗಿಯೂ ಬಯಸುತ್ತೇವೆ.

ಪ್ರಮೀತಿಯಸ್ ಸಂರಚನೆಗೆ ಕೆಳಗಿನ ತುಣುಕನ್ನು ಸೇರಿಸಿ:

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

ತದನಂತರ ಎಲ್ಲವೂ ಕೆಲಸ ಮಾಡಿದೆ, ಈ ಎಲ್ಲಾ ವಿಷಯವನ್ನು ಗ್ರಾಫಾನಾಗೆ ಸೇರಿಸುವುದು ಮತ್ತು ಫಲಿತಾಂಶವನ್ನು ಆನಂದಿಸುವುದು ಮಾತ್ರ ಉಳಿದಿದೆ.

ನಿಮ್ಮ ಸ್ವಂತ ಪ್ರಶ್ನೆಗಳನ್ನು ಸೇರಿಸುವ ಸಾಮರ್ಥ್ಯದ ಜೊತೆಗೆ, ನೀವು ಪ್ರಮೀತಿಯಸ್‌ನಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಬಹುದು, ಹೆಚ್ಚು ಉದ್ದೇಶಿತ ಮೆಟ್ರಿಕ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು.

ಇದಕ್ಕಾಗಿ ಇದೇ ರೀತಿ ಮಾಡಲಾಗಿದೆ:

  • ಕಾಫ್ಕ
  • Elasticsearch
  • ಮೊಂಗೋ

ಪಿಎಸ್ ಹೆಸರುಗಳು, ಪೋರ್ಟ್‌ಗಳು ಮತ್ತು ಉಳಿದವುಗಳಲ್ಲಿನ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಗಾಳಿಯಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ ಮತ್ತು ಯಾವುದೇ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ.

ಉಪಯುಕ್ತ ಲಿಂಕ್‌ಗಳು:
ವಿವಿಧ ರಫ್ತುದಾರರ ಪಟ್ಟಿ

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ