Mata'itū poutū i totonu o le Openshift

Manuia, tagata o Habr!

O le asō ou te fia taʻu atu ia te oe le auala na matou manaʻo ai e mataʻituina postgres ma isi faʻalapotopotoga i totonu o le OpenShift cluster ma le auala na matou faia ai.

I le faitotoa sa latou maua:

  • Openshift
  • pūlou faʻafao
  • Prometheus


Ina ia galue i se talosaga java, o mea uma sa faigofie ma manino, pe sili atu le saʻo:

1) Fa'aopoopo ile build.gradle

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

2) Faʻataʻitaʻi le prometheus ma le faʻatulagaina

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

3) Faʻaopoopoina se faʻaaliga i le Grafana

O mea uma lava sa fai si faigofie ma fa'atauva'a se'ia o'o mai le taimi e mata'ituina ai fa'avae o lo'o tu lata ane i lo matou igoa (ioe, e leaga lenei mea, e leai se tasi na te faia lenei mea, ae o mea eseese e tutupu).

E faapefea ona aoga?

I le faʻaopoopoga i le pod ma postgres ma prometheus lava ia, matou te manaʻomia se isi faʻalapotopotoga - faʻatau atu.

O se tagata fa'atau atu i fafo i se manatu fa'apitoa o se sooupu e aoina fua mai se talosaga po'o se server. Mo postgres exporter, o loʻo tusia i le Go, e galue i luga o le mataupu faavae o le faʻaogaina o tusitusiga SQL i totonu o le database ona ave lea e le prometheus iʻuga na maua. E fa'atagaina ai fo'i oe e fa'alautele le aofa'i o fua fa'atatau e ala i le fa'aopoopoina o oe lava.

Tatou fa'apipi'i fa'apenei (fa'aa'oa'oga deployment.yaml, le fa'amauina):


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

E manaʻomia foʻi se tautua ma se ata

A maeʻa le faʻapipiʻiina, matou te manaʻo moni lava e vaʻai tagata uma le tasi i le isi.

Faʻaopoopo le vaega lea i le Prometheus config:

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

Ona aoga ai lea o mea uma, o mea uma e totoe o le faʻaopoopoina o nei mea uma i le grafana ma fiafia i le taunuuga.

I le faʻaopoopoga i le mafai ona faʻaopoopo au oe lava fesili, e mafai ona e suia tulaga i le prometheus, aoina atili fua faʻatatau.

Na faia lenei mea i se auala tutusa mo:

  • Kafka
  • Elasticsearch
  • Mongo

PS O faʻamatalaga uma i luga o igoa, ports ma isi mea e ave mai le ea ma e leai se faʻamatalaga.

Faʻaoga talafeagai:
Lisi o fa'atau oloa eseese

puna: www.habr.com

Faaopoopo i ai se faamatalaga