سٺو ڏينهن، حبر جا رهواسي!
اڄ مان توهان کي ٻڌائڻ چاهيان ٿو ته ڪيئن اسان واقعي جي نگراني ڪرڻ چاهيندا هئاسين پوسٽ گريس ۽ ڪجهه ٻين ادارن اندر OpenShift ڪلستر ۽ اسان اهو ڪيئن ڪيو.
داخلا تي اهي هئا:
- اوپن شفٽ
- هيلمٽ
- Prometheus
جاوا ايپليڪيشن سان ڪم ڪرڻ لاء، هر شيء بلڪل سادي ۽ شفاف هئي، يا وڌيڪ صحيح هجڻ لاء:
1) build.gradle ۾ شامل ڪرڻ
implementation "io.micrometer:micrometer-registry-prometheus"2) ترتيب سان prometheus هلائي
- job_name: 'job-name'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- 'name'3) گرافانا ۾ ڊسپلي شامل ڪرڻ
هر شيء بلڪل سادو ۽ پراسڪ هو جيستائين اهو لمحو اسان جي نالي جي جاء تي ويجھي واقعن جي نگراني ڪرڻ لاء آيو (ها، اهو خراب آهي، ڪو به اهو نٿو ڪري، پر مختلف شيون ٿين ٿيون).
اهو ڪيئن ڪم ڪري ٿو؟
پوسٽ گريس ۽ پروميٿيوس سان گڏ پوڊ کان علاوه، اسان کي هڪ وڌيڪ ادارو جي ضرورت آهي - برآمد ڪندڙ.
هڪ برآمد ڪندڙ تجريدي معنيٰ ۾ هڪ ايجنٽ آهي جيڪو ڪنهن ايپليڪيشن مان ميٽرڪس گڏ ڪري ٿو يا اڃا به سرورپوسٽ گريس ايڪسپورٽر گو ۾ لکيل آهي ۽ ڊيٽابيس اندر SQL اسڪرپٽ هلائي ٿو، جنهن جا نتيجا پوءِ پروميٿيئس پاران گڏ ڪيا ويندا آهن. اهو توهان کي پنهنجو پاڻ شامل ڪندي گڏ ڪيل ميٽرڪس کي وڌائڻ جي اجازت پڻ ڏئي ٿو.
اچو ته ان کي هن طرح ترتيب ڏيو (مثال deployment.yaml، غير پابند):
---
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اهو پڻ هڪ خدمت ۽ تصويري وهڪرو جي ضرورت آهي
تعیناتي کان پوء، اسان واقعي چاهيون ٿا ته هرڪو هڪ ٻئي کي ڏسڻ لاء.
Prometheus config ۾ ھيٺيون ٽڪرا شامل ڪريو:
- job_name: 'postgres_exporter'
metrics_path: '/metrics'
scrape_interval: 5s
dns_sd_configs:
- names:
- 'postgres-exporter'
type: 'A'
port: 9187۽ پوءِ سڀ ڪجهه ڪم ڪيو، باقي رهي ٿو ته هي سڀ شيون گرافانا ۾ شامل ڪرڻ ۽ نتيجن مان لطف اندوز ٿيڻ.
توهان جي پنهنجي سوالن کي شامل ڪرڻ جي صلاحيت کان علاوه، توهان پروميٿيوس ۾ سيٽنگون تبديل ڪري سگهو ٿا، وڌيڪ ٽارگيٽ ميٽرڪ گڏ ڪري.
اهو ساڳيو طريقي سان ڪيو ويو آهي:
- ڪوفي
- ElasticsSearch
- منڊو
PS نالن، بندرگاهن ۽ باقي سموري ڊيٽا هوا مان ورتي وئي آهي ۽ ان ۾ ڪا به ڄاڻ نه آهي.
مددگار ڪڙيون:
جو ذريعو: www.habr.com
