Maswera sei vagari veHabr!
Nhasi ndinoda kukuudza kuti taida sei chaizvo kutarisa mapostgres uye akati wandei mamwe masangano mukati meOpenShift cluster uye kuti takazviita sei.
Pamukova vaiva ne:
- Openshift
- Helmamu
- Prometheus
Kushanda nejava application, zvese zvaive nyore uye zviri pachena, kana kunyatsojeka:
1) Kuwedzera kuvaka.gradle
implementation "io.micrometer:micrometer-registry-prometheus"
2) Mhanya prometheus nekugadzirisa
- job_name: 'job-name'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- 'name'
3) Kuwedzera chiratidziro kuGrafana
Zvese zvaive nyore uye prosaic kusvika nguva yasvika yekutarisa mabhesi ari padyo munzvimbo yedu yezita (hongu, izvi zvakaipa, hapana anoita izvi, asi zvakasiyana zvinoitika).
Chinoshanda sei?
Kuwedzera kune iyo pod ine postgres uye prometheus pachayo, isu tinoda chimwe chimwe chinhu - mutengesi kunze.
Anotengesera kunze mune abstract concept mumiriri anounganidza metrics kubva kune application kana kunyange server. Kune postgres kunze kwenyika, yakanyorwa muGo, inoshanda pamusimboti wekumhanyisa SQL zvinyorwa mukati me database uyezve prometheus inotora zvawanikwa. Izvi zvakare zvinokutendera iwe kuti uwedzere akaunganidzwa metrics nekuwedzera yako.
Ngatiiise seizvi (example deployment.yaml, isiri-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
Zvaidawo sevhisi uye mufananidzo
Mushure mekutumirwa, isu tinoda chaizvo kuti munhu wese aone mumwe nemumwe.
Wedzera chidimbu chinotevera kune Prometheus config:
- job_name: 'postgres_exporter'
metrics_path: '/metrics'
scrape_interval: 5s
dns_sd_configs:
- names:
- 'postgres-exporter'
type: 'A'
port: 9187
Uye ipapo zvese zvakashanda, chasara kuwedzera zvese izvi zvinhu kune grafana uye kunakidzwa nemhedzisiro.
Pamusoro pekugona kuwedzera yako mibvunzo, unogona kushandura marongero muprometheus, kuunganidza mamwe anonangwa metrics.
Izvi zvakaitwa nenzira yakafanana kune:
- Kafka
- Elasticsearch
- Mongo
PS Yese data pamazita, madoko uye yasara inotorwa kubva kumhepo uye haina chero ruzivo.
Useful links:
Source: www.habr.com