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

இதற்கு ஒரு சேவை மற்றும் இமேஜ்ஸ்ட்ரீம் தேவைப்பட்டது

வரிசைப்படுத்தப்பட்ட பிறகு, அனைவரும் ஒருவரை ஒருவர் பார்க்க வேண்டும் என்று நாங்கள் விரும்புகிறோம்.

ப்ரோமிதியஸ் கட்டமைப்பில் பின்வரும் பகுதியைச் சேர்க்கவும்:

  - 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

கருத்தைச் சேர்