ಎಲ್ಲರಿಗೂ ಶುಭವಾಗಲಿ.
ಥರ್ಡ್-ಪಾರ್ಟಿ ಸೇವೆಗಳಿಂದ ನಿಯೋಜಿಸಲಾದ ಸಿಸ್ಟಮ್ಗಳಿಗೆ ಲಾಗಿಂಗ್ ಮತ್ತು ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ಕುರಿತು ಆನ್ಲೈನ್ನಲ್ಲಿ ಸಾಮಾನ್ಯೀಕೃತ ಮಾರ್ಗದರ್ಶಿಯನ್ನು ನಾನು ಕಂಡುಕೊಂಡಿಲ್ಲ
ಲಾಗಿಂಗ್
ಲಾಗ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು, ವೀಕ್ಷಿಸಲು ಮತ್ತು ಕೇಂದ್ರೀಕರಿಸಲು ಅನೇಕ ಕಂಪನಿಗಳು ತಂತ್ರಜ್ಞಾನಗಳ ಸ್ಟಾಕ್ ಅನ್ನು ಬಳಸುತ್ತವೆ
ಮೌಲ್ಯಗಳು.ಯಾಮ್ಲ್
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
hosts:
- host: kube-loki.example.domain
paths:
- /
tls: []
....
persistence:
type: pvc
enabled: true
accessModes:
- ReadWriteOnce
size: 100Gi
finalizers:
- kubernetes.io/pvc-protection
existingClaim: "pv-loki"
ಒಂದು ನಿದರ್ಶನಕ್ಕೆ ದಾಖಲೆಗಳನ್ನು ಕಳುಹಿಸಲು
ನೀವು ಎಲ್ಲದರಲ್ಲೂ ಈ ಆಡ್-ಆನ್ ಅನ್ನು ಸ್ಥಾಪಿಸಬೇಕು
postgres.yaml
- name: Run containers
docker_compose:
project_name: main-postgres
definition:
version: '3.7'
services:
p:
image: "{{ postgres_version }}"
container_name: postgresql
restart: always
volumes:
- "{{ postgres_dir }}/data:/var/lib/postgresql/data"
- "{{ postgres_dir }}/postgres_init_scripts:/docker-entrypoint-initdb.d"
environment:
POSTGRES_PASSWORD: {{ postgres_pass }}
POSTGRES_USER: {{ postgres_user }}
ports:
- "{{ postgres_ip }}:{{ postgres_port }}:5432"
logging:
driver: "loki"
options:
loki-url: "{{ loki_url }}"
loki-batch-size: "{{ loki_batch_size }}"
loki-retries: "{{ loki_retries }}"
...
ಲೋಕಿ_ಯುಆರ್ಎಲ್:
ಮೆಟ್ರಿಕ್ಸ್
PostgreSQL ಬಳಸಿ ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ
postgres.yaml
...
pexp:
image: "wrouesnel/postgres_exporter"
container_name: pexporter
restart: unless-stopped
environment:
DATA_SOURCE_NAME: "postgresql://{{ postgres_user }}:{{ postgres_pass }}@p:5432/postgres?sslmode=disable"
ports:
- "{{ postgres_ip }}:{{ postgres_exporter_port }}:9187"
logging:
driver: "json-file"
options:
max-size: "5m"
...
ಹೆಚ್ಚಿನ ಸ್ಪಷ್ಟತೆಗಾಗಿ, ನಾವು ಎಂಡ್ಪಾಯಿಂಟ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಬಾಹ್ಯ ಸ್ಥಿತಿಯ ಸೇವೆಗಳ ಹೆಸರನ್ನು ಬರೆಯುತ್ತೇವೆ.
postgres-service.yaml
apiVersion: v1
kind: Endpoints
metadata:
name: postgres-exporter
subsets:
- addresses:
- ip: {{ .Values.service.postgres.ip }}
ports:
- port: {{ .Values.service.postgres.port }}
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
name: postgres-exporter
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
ports:
- protocol: TCP
port: {{ .Values.service.postgres.port }}
targetPort: {{ .Values.service.postgres.port }}
ಪೋಸ್ಟ್ಗ್ರೆಸ್_ಎಕ್ಸ್ಪೋರ್ಟರ್ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಲು ಪ್ರಮೀತಿಯಸ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು ಉಪಚಾರ್ಟ್ನಲ್ಲಿ ಮೌಲ್ಯಗಳನ್ನು ಸಂಪಾದಿಸುವ ಮೂಲಕ ಮಾಡಲಾಗುತ್ತದೆ.
ಮೌಲ್ಯಗಳು.ಯಾಮ್ಲ್
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
ಸ್ವೀಕರಿಸಿದ ಡೇಟಾವನ್ನು ದೃಶ್ಯೀಕರಿಸಲು, ಸೂಕ್ತವಾದ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಅನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ
ಅದು ಹೇಗಿರುತ್ತದೆ
ಈ ಸಣ್ಣ ಲೇಖನವು ಈ ಪರಿಹಾರದ ಹಿಂದಿನ ಮುಖ್ಯ ಆಲೋಚನೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಿದೆ ಮತ್ತು ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ನಲ್ಲಿ ಲೋಕಿ/ಪ್ರಮೀಥಿಯಸ್ಗಾಗಿ ಬಾಹ್ಯ ಸೇವೆಗಳ ಮೇಲ್ವಿಚಾರಣೆ ಮತ್ತು ಲಾಗಿಂಗ್ ಅನ್ನು ಹೊಂದಿಸುವಾಗ ನಿಮ್ಮ ಸಮಯವನ್ನು ಉಳಿಸುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.
ಮೂಲ: www.habr.com