ಶುಭ ದಿನ, ಹಬ್ರ್ ನಿವಾಸಿಗಳು!
ಓಪನ್ಶಿಫ್ಟ್ ಕ್ಲಸ್ಟರ್ನಲ್ಲಿ ಪೋಸ್ಟ್ಗ್ರೆಸ್ ಮತ್ತು ಇತರ ಕೆಲವು ಘಟಕಗಳನ್ನು ನಾವು ನಿಜವಾಗಿಯೂ ಹೇಗೆ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಬಯಸಿದ್ದೇವೆ ಮತ್ತು ನಾವು ಅದನ್ನು ಹೇಗೆ ಮಾಡಿದ್ದೇವೆ ಎಂದು ಇಂದು ನಾನು ನಿಮಗೆ ಹೇಳಲು ಬಯಸುತ್ತೇನೆ.
ಪ್ರವೇಶದ್ವಾರದಲ್ಲಿ ಅವರು ಹೊಂದಿದ್ದರು:
- ಓಪನ್ ಶಿಫ್ಟ್
- ಹೆಲ್ಮ್
- ಪ್ರಮೀತಿಯಸ್
ಜಾವಾ ಅಪ್ಲಿಕೇಶನ್ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು, ಎಲ್ಲವೂ ತುಂಬಾ ಸರಳ ಮತ್ತು ಪಾರದರ್ಶಕವಾಗಿತ್ತು, ಅಥವಾ ಹೆಚ್ಚು ನಿಖರವಾಗಿರಲು:
1) build.gradle ಗೆ ಸೇರಿಸುವುದು
implementation "io.micrometer:micrometer-registry-prometheus"
2) ಸಂರಚನೆಯೊಂದಿಗೆ ಪ್ರಮೀತಿಯಸ್ ಅನ್ನು ರನ್ ಮಾಡಿ
- job_name: 'job-name'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- 'name'
3) ಗ್ರಾಫಾನಾಗೆ ಪ್ರದರ್ಶನವನ್ನು ಸೇರಿಸುವುದು
ನಮ್ಮ ನೇಮ್ಸ್ಪೇಸ್ನಲ್ಲಿ ಸಮೀಪದಲ್ಲಿರುವ ನೆಲೆಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಕ್ಷಣ ಬರುವವರೆಗೆ ಎಲ್ಲವೂ ತುಂಬಾ ಸರಳ ಮತ್ತು ಪ್ರಚಲಿತವಾಗಿತ್ತು (ಹೌದು, ಇದು ಕೆಟ್ಟದು, ಯಾರೂ ಇದನ್ನು ಮಾಡುವುದಿಲ್ಲ, ಆದರೆ ವಿಭಿನ್ನ ವಿಷಯಗಳು ಸಂಭವಿಸುತ್ತವೆ).
ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?
ಪೋಸ್ಟ್ಗ್ರೆಸ್ ಮತ್ತು ಪ್ರಮೀತಿಯಸ್ನೊಂದಿಗೆ ಪಾಡ್ ಜೊತೆಗೆ, ನಮಗೆ ಇನ್ನೂ ಒಂದು ಘಟಕದ ಅಗತ್ಯವಿದೆ - ರಫ್ತುದಾರ.
ಅಮೂರ್ತ ಪರಿಕಲ್ಪನೆಯಲ್ಲಿ ರಫ್ತು ಮಾಡುವವರು ಅಪ್ಲಿಕೇಶನ್ ಅಥವಾ ಸರ್ವರ್ನಿಂದ ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ಏಜೆಂಟ್. ಪೋಸ್ಟ್ಗ್ರೆಸ್ ರಫ್ತುದಾರರಿಗೆ, ಇದನ್ನು Go ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ, ಇದು ಡೇಟಾಬೇಸ್ನಲ್ಲಿ 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
ಇದಕ್ಕೆ ಸೇವೆ ಮತ್ತು ಇಮೇಜ್ಸ್ಟ್ರೀಮ್ ಕೂಡ ಅಗತ್ಯವಿದೆ
ನಿಯೋಜನೆಯ ನಂತರ, ಪ್ರತಿಯೊಬ್ಬರೂ ಪರಸ್ಪರ ನೋಡಬೇಕೆಂದು ನಾವು ನಿಜವಾಗಿಯೂ ಬಯಸುತ್ತೇವೆ.
ಪ್ರಮೀತಿಯಸ್ ಸಂರಚನೆಗೆ ಕೆಳಗಿನ ತುಣುಕನ್ನು ಸೇರಿಸಿ:
- job_name: 'postgres_exporter'
metrics_path: '/metrics'
scrape_interval: 5s
dns_sd_configs:
- names:
- 'postgres-exporter'
type: 'A'
port: 9187
ತದನಂತರ ಎಲ್ಲವೂ ಕೆಲಸ ಮಾಡಿದೆ, ಈ ಎಲ್ಲಾ ವಿಷಯವನ್ನು ಗ್ರಾಫಾನಾಗೆ ಸೇರಿಸುವುದು ಮತ್ತು ಫಲಿತಾಂಶವನ್ನು ಆನಂದಿಸುವುದು ಮಾತ್ರ ಉಳಿದಿದೆ.
ನಿಮ್ಮ ಸ್ವಂತ ಪ್ರಶ್ನೆಗಳನ್ನು ಸೇರಿಸುವ ಸಾಮರ್ಥ್ಯದ ಜೊತೆಗೆ, ನೀವು ಪ್ರಮೀತಿಯಸ್ನಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬದಲಾಯಿಸಬಹುದು, ಹೆಚ್ಚು ಉದ್ದೇಶಿತ ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು.
ಇದಕ್ಕಾಗಿ ಇದೇ ರೀತಿ ಮಾಡಲಾಗಿದೆ:
- ಕಾಫ್ಕ
- Elasticsearch
- ಮೊಂಗೋ
ಪಿಎಸ್ ಹೆಸರುಗಳು, ಪೋರ್ಟ್ಗಳು ಮತ್ತು ಉಳಿದವುಗಳಲ್ಲಿನ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಗಾಳಿಯಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ ಮತ್ತು ಯಾವುದೇ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ.
ಉಪಯುಕ್ತ ಲಿಂಕ್ಗಳು:
ಮೂಲ: www.habr.com