Wilujeng sumping ka sadayana.
Kuring teu acan mendakan pituduh umum online ngeunaan logging sareng ngumpulkeun métrik tina jasa pihak katilu kana sistem anu dipasang di
logging
Seueur perusahaan nganggo tumpukan téknologi pikeun ngumpulkeun, ningali sareng 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"
Pikeun ngirim log ka hiji conto
Anjeun kedah masang tambihan ieu dina sadayana
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 }}"
...
dimana loki_url:
Métrik
Métrik dikumpulkeun tina PostgreSQL ngagunakeun
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"
...
Pikeun kajelasan langkung ageung, kami bakal nyerat nami jasa stateful éksternal nganggo 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 }}
Ngonpigurasikeun Prometheus pikeun nampa data postgres_exporter dilakukeun ku cara ngédit nilai dina subchart.
nilai.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
Pikeun ngabayangkeun data anu ditampi, pasang Dashboard anu pas dina
Kumaha Sigana mah
Abdi ngarepkeun tulisan pondok ieu ngabantosan anjeun ngartos ideu utama anu aya di balik solusi ieu sareng ngahémat waktos anjeun nalika nyetél monitoring sareng logging jasa éksternal pikeun Loki / Prometheus dina klaster Kubernetes.
sumber: www.habr.com