Мониторинги постгресс дар дохили Openshift

Рӯзи хуш, сокинони Ҳабр!

Имрӯз ман мехоҳам ба шумо бигӯям, ки чӣ гуна мо дар ҳақиқат мехостем postgres ва якчанд объектҳои дигарро дар дохили кластери OpenShift назорат кунем ва чӣ гуна мо ин корро кардем.

Дар даромадгоҳ онҳо доштанд:

  • Шб
  • Helm
  • Prometheus


Барои кор бо барномаи java, ҳама чиз хеле содда ва шаффоф буд, ё дақиқтараш:

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) Илова кардани дисплей ба Grafana

Ҳама чиз хеле содда ва прозаӣ буд, то лаҳзаи назорат кардани пойгоҳҳое, ки дар наздикии номи мо ҷойгиранд (бале, ин бад аст, ҳеҷ кас ин корро намекунад, аммо чизҳои гуногун рӯй медиҳанд).

Он чӣ гуна кор мекунад?

Ба гайр аз подгресс бо худи постгрес ва прометей ба мо боз як субъекти дигар — содиркунанда лозим аст.

Содиркунанда дар консепсияи абстрактӣ агентест, ки ченакҳоро аз барнома ё ҳатто сервер ҷамъ мекунад. Барои содиркунандаи postgres, он дар 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

Ва он гоҳ ҳама чиз кор кард, танҳо он аст, ки ҳамаи ин чизҳоро ба графана илова кунед ва аз натиҷа лаззат баред.

Илова ба қобилияти илова кардани дархостҳои худ, шумо метавонед танзимотро дар prometheus тағир диҳед, бо ҷамъоварии ченакҳои мақсаднок бештар.

Ин ба ҳамин тариқ барои:

  • Кафка
  • Ҷустуҷӯи Elastics
  • mongo

PS Ҳама маълумот дар бораи номҳо, портҳо ва боқимонда аз ҳаво гирифта шудаанд ва ҳеҷ гуна маълумотро дар бар намегиранд.

Пайвандҳои муфид:
Рӯйхати содиркунандагони гуногун

Манбаъ: will.com

Илова Эзоҳ