Roj baş, rûniştvanên Hebrê!
Îro ez dixwazim ji we re vebêjim ka me bi rastî çawa dixwest ku postgres û çend saziyên din di hundurê koma OpenShift de bişopînin û me ew çawa kir.
Li ber deriyê wan hebû:
- Openshift
- Bêr
- Prometheus
Ji bo ku bi serîlêdanek java re bixebitin, her tişt pir hêsan û zelal bû, an jî rasttir be:
1) Zêde kirin ava kirin.gradle
implementation "io.micrometer:micrometer-registry-prometheus"
2) Prometheus bi veavakirinê bixebitin
- job_name: 'job-name'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- 'name'
3) Zêdekirina pêşandanek li Grafana
Her tişt pir sade û prozaîk bû heya ku dem hat çavdêrîkirina bingehên ku li nêzîkê navên me ne (erê, ev xirab e, kes vê yekê nake, lê tiştên cûda diqewimin).
Çawa dixebite?
Ji xeynî pêlava bi postgres û prometheus bi xwe, ji me re saziyek din - îxrackar hewce dike.
Hin hinardekar di têgehek razber de karmendek e ku metrîkan ji serîlêdanek an tewra serverek berhev dike. Ji bo hinardekarê postgres, ew di Go-yê de hatî nivîsandin, ew li ser prensîba xebitandina SQL-yên di hundurê databasê de dixebite û dûv re prometheus encamên ku hatine bidestxistin digire. Ev jî dihêle hûn bi lêzêdekirina ya xwe metrîkên berhevkirî berfireh bikin.
Werin em wê bi vî rengî bicîh bikin (mînak deployment.yaml, ne-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
Di heman demê de karûbar û wêneyek jî hewce dike
Piştî şandinê, em bi rastî dixwazin ku her kes hevûdu bibînin.
Parçeya jêrîn li konfigurasyona Prometheus zêde bikin:
- job_name: 'postgres_exporter'
metrics_path: '/metrics'
scrape_interval: 5s
dns_sd_configs:
- names:
- 'postgres-exporter'
type: 'A'
port: 9187
Û dûv re her tişt xebitî, ya ku dimîne ev e ku meriv van hemî tiştan li grafana zêde bike û ji encamê kêfê bike.
Digel şiyana ku hûn pirsên xwe zêde bikin, hûn dikarin mîhengên li prometheus biguhezînin, metrîkên bêtir armanc berhev bikin.
Ev bi heman awayî ji bo:
- Kafka
- Elasticsearch
- mongo
PS Hemî daneyên li ser nav, port û yên mayî ji hewayê têne girtin û ti agahiyê nagirin.
Zencîreyên bikêr:
Source: www.habr.com