سٺو ڏينهن، حبر جا رهواسي!
اڄ مان توهان کي ٻڌائڻ چاهيان ٿو ته ڪيئن اسان واقعي جي نگراني ڪرڻ چاهيندا هئاسين پوسٽ گريس ۽ ڪجهه ٻين ادارن اندر 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