O dara ọjọ, olugbe ti Habr!
Loni Mo fẹ lati sọ fun ọ bii a ṣe fẹ gaan lati ṣe atẹle postgres ati tọkọtaya awọn nkan miiran inu iṣupọ OpenShift ati bii a ṣe ṣe.
Ni ẹnu-ọna wọn ni:
- Ṣiṣii
- Iranlọwọ
- Ipolowo
Lati ṣiṣẹ pẹlu ohun elo java, ohun gbogbo rọrun pupọ ati sihin, tabi lati jẹ kongẹ diẹ sii:
1) Fifi si build.gradle
implementation "io.micrometer:micrometer-registry-prometheus"
2) Ṣiṣe prometheus pẹlu iṣeto ni
- job_name: 'job-name'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- 'name'
3) Fifi a àpapọ to Grafana
Ohun gbogbo jẹ ohun rọrun ati prosaic titi di akoko ti o wa lati ṣe atẹle awọn ipilẹ ti o wa nitosi ni aaye orukọ wa (bẹẹni, eyi jẹ buburu, ko si ẹnikan ti o ṣe eyi, ṣugbọn awọn nkan oriṣiriṣi ṣẹlẹ).
Bawo ni o ṣe n ṣiṣẹ?
Ni afikun si podu pẹlu postgres ati prometheus funrararẹ, a nilo nkan kan diẹ sii - atajasita.
Atajasita ni imọran áljẹbrà jẹ aṣoju ti o gba awọn metiriki lati inu ohun elo kan tabi paapaa olupin kan. Fun atajasita postgres, o ti kọ ni Go, o ṣiṣẹ lori ilana ti ṣiṣe awọn iwe afọwọkọ SQL inu ibi ipamọ data ati lẹhinna prometheus gba awọn abajade ti o gba. Eyi tun gba ọ laaye lati faagun awọn metiriki ti a gba nipasẹ fifi tirẹ kun.
Jẹ ki a gbe lọ bi eleyi (apẹẹrẹ deployment.yaml, ti kii ṣe abuda):
---
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
O tun nilo iṣẹ kan ati ṣiṣan aworan
Lẹhin ti imuṣiṣẹ, a gan fẹ gbogbo eniyan lati ri kọọkan miiran.
Ṣafikun nkan atẹle si atunto Prometheus:
- job_name: 'postgres_exporter'
metrics_path: '/metrics'
scrape_interval: 5s
dns_sd_configs:
- names:
- 'postgres-exporter'
type: 'A'
port: 9187
Ati lẹhinna ohun gbogbo ṣiṣẹ, gbogbo ohun ti o ku ni lati ṣafikun gbogbo nkan yii si grafana ati gbadun abajade.
Ni afikun si agbara lati ṣafikun awọn ibeere tirẹ, o le yi awọn eto pada ni prometheus, gbigba awọn metiriki ifọkansi diẹ sii.
Eyi ni a ṣe ni ọna kanna fun:
- Kafka
- Elasticsearch
- Mongo
PS Gbogbo data lori awọn orukọ, ebute oko ati awọn iyokù ti wa ni ya lati awọn air ati ki o ko ni eyikeyi alaye.
Awọn ọna asopọ to wulo:
orisun: www.habr.com