Molweni, bahlali bakwaHabr!
Namhlanje ndifuna ukukuxelela ukuba besifuna njani ukujonga ii-postgres kunye neqela lamanye amaziko ngaphakathi kweqela le-OpenShift kunye nendlela esiyenze ngayo.
Ekungeneni kwakukho:
- I-Openshift
- Helm
- Prometheus
Ukusebenza ngesicelo se-java, yonke into yayilula kwaye icacile, okanye ichaneke ngakumbi:
1) Ukongeza ku-build.gradle
implementation "io.micrometer:micrometer-registry-prometheus"
2) Qhuba i-prometheus ngoqwalaselo
- job_name: 'job-name'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- 'name'
3) Ukongeza umboniso eGrafana
Yonke into yayilula kwaye i-prosaic de kwafika ixesha lokujonga iziseko ezikufutshane kwindawo yethu yamagama (ewe, oku kubi, akukho mntu wenza oku, kodwa kwenzeka izinto ezahlukeneyo).
Ingaba isebenza kanjani?
Ukongeza kwi-pod kunye ne-postgres kunye ne-prometheus ngokwayo, sifuna enye iqumrhu - umthengisi ngaphandle.
Umthumeli ngaphandle kwingqikelelo engabonakaliyo yiarhente eqokelela iimetrikhi ukusuka kwisicelo okanye nakwiseva. Kumthumeli we-postgres, kubhaliwe kwi-Go, isebenza kumgaqo wokusebenzisa izikripthi ze-SQL ngaphakathi kwedatha kwaye emva koko i-prometheus ithatha iziphumo ezifunyenweyo. Oku kukuvumela ukuba wandise iimetriki eziqokelelweyo ngokongeza eyakho.
Masiyisebenzise ngolu hlobo (umzekelo deployment.yaml, ukungabopheleli):
---
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
Ikwafuna inkonzo kunye ne-imagestream
Emva kokuthunyelwa, sifuna ngokwenene ukuba wonke umntu abonane.
Yongeza le nxalenye ilandelayo kwi-Prometheus config:
- job_name: 'postgres_exporter'
metrics_path: '/metrics'
scrape_interval: 5s
dns_sd_configs:
- names:
- 'postgres-exporter'
type: 'A'
port: 9187
Kwaye ke yonke into yasebenza, konke okuseleyo kukongeza yonke le nto kwigrafana kwaye ujabulele umphumo.
Ukongeza kwisakhono sokongeza eyakho imibuzo, unokutshintsha useto kwi-prometheus, uqokelele iimethrikhi ekujoliswe kuzo.
Oku kwenziwa ngendlela efanayo:
- Kafka
- Elasticsearch
- IMongo
PS Yonke idatha kumagama, amazibuko kunye nezinye zithathwa emoyeni kwaye aziqulathanga naluphi na ulwazi.
Amakhonkco aluncedo:
umthombo: www.habr.com