سڀني کي سٺي قسمت.
مون کي هڪ عام گائيڊ آن لائن نه مليو آهي لاگ ان ڪرڻ ۽ گڏ ڪرڻ تي ٽئين پارٽي جي خدمتن کان ميٽرڪ کي گڏ ڪرڻ تي سسٽم ۾
لاگنگ
ڪيتريون ئي ڪمپنيون لاگز گڏ ڪرڻ، ڏسڻ ۽ مرڪزي ڪرڻ لاءِ ٽيڪنالاجي جو اسٽيڪ استعمال ڪن ٿيون
values.yaml
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 }}"
...
جتي loki_url:
ميٽرڪس
Metrics گڏ ڪيا ويا آهن 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"
...
وڌيڪ وضاحت لاءِ، اسين Endpoints استعمال ڪندي خارجي رياستي خدمتن جا نالا لکنداسين.
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 }}
ترتيب ڏيڻ Prometheus postgres_exporter ڊيٽا حاصل ڪرڻ لاءِ ڪيو ويندو آهي تبديلين جي قدرن کي ذيلي چارٽ ۾.
values.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
حاصل ڪيل ڊيٽا کي ڏسڻ لاء، مناسب ڊيش بورڊ کي انسٽال ڪريو
اهو ڇا وانگر آهي
مون کي اميد آهي ته هن مختصر مضمون توهان کي هن حل جي پويان بنيادي خيالن کي سمجهڻ ۾ مدد ڪئي ۽ توهان جو وقت بچايو جڏهن مانيٽرنگ ۽ ٻاهرئين خدمتن جي لاگنگ کي Loki/Prometheus لاءِ ڪبرنيٽس ڪلستر ۾ ترتيب ڏيو.
جو ذريعو: www.habr.com