සැමට සුභ ගමන්.
තුන්වන පාර්ශ්ව සේවාවලින් යොදවා ඇති පද්ධතිවලට ලොග් වීම සහ ප්රමිතික එකතු කිරීම පිළිබඳ සාමාන්යකරණය කළ මාර්ගෝපදේශයක් මා හට මාර්ගගතව හමු නොවීය.
ලොග් කිරීම
බොහෝ සමාගම් ලඝු-සටහන් එකතු කිරීමට, බැලීමට සහ මධ්යගත කිරීමට තාක්ෂණයන් තොගයක් භාවිතා කරයි
අගයන්.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:
මෙට්රික්ස්
ප්රමිතික 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 }}
postgres_exporter දත්ත ලබා ගැනීම සඳහා Prometheus වින්යාස කිරීම උප ප්රස්ථාරයේ අගයන් සංස්කරණය කිරීමෙන් සිදු කෙරේ.
අගයන්.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