Good luck kanggo kabeh.
Aku durung nemokake pandhuan umum online babagan ngangkut barang lan ngumpulake metrik saka layanan pihak katelu menyang sistem sing dipasang ing
logging
Akeh perusahaan nggunakake tumpukan teknologi kanggo ngumpulake, ndeleng lan sentralisasi log
nilai.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"
Kanggo ngirim log menyang conto
Sampeyan kudu nginstal add-on iki ing kabeh
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 }}"
...
ngendi loki_url:
Metrik
Metrik diklumpukake saka PostgreSQL nggunakake
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"
...
Kanggo luwih cetha, kita bakal nulis jeneng layanan stateful eksternal nggunakake 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 }}
Konfigurasi Prometheus kanggo nampa data postgres_exporter ditindakake kanthi ngowahi nilai ing subchart.
nilai.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
Kanggo nggambarake data sing ditampa, pasang Dashboard sing cocog ing
Apa sing katon kaya
Muga-muga artikel cekak iki mbantu sampeyan ngerti ide utama ing solusi iki lan ngirit wektu nalika nyetel ngawasi lan log layanan eksternal kanggo Loki / Prometheus ing kluster Kubernetes.
Source: www.habr.com