Vill Gléck fir jiddereen.
Ech hunn keen generaliséierte Guide online fonnt fir d'Protokolléieren an d'Sammelen vun Metriken vun Drëtt-Partei Servicer a Systemer ze sammelen
Logged
Vill Firmen benotzen e Stack vun Technologien fir Logbicher ze sammelen, ze gesinn an ze zentraliséieren
Wäerter.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"
Fir Logbicher op eng Instanz ze schécken
Dir musst dësen Add-on op alles installéieren
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 }}"
...
wou loki_url:
Metriken
Metriken gi vu PostgreSQL gesammelt benotzt
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"
...
Fir méi Kloerheet, schreiwen mir d'Nimm vun externen stateful Servicer mat 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 }}
De Prometheus konfiguréieren fir postgres_exporter Daten ze kréien gëtt gemaach andeems Dir Wäerter am Ënnerdiagramm ännert.
Wäerter.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
Fir déi kritt Donnéeën ze visualiséieren, installéiert de passenden Dashboard an
Wéi et ausgesäit
Ech hoffen, datt dëse kuerzen Artikel Iech gehollef huet d'Haaptideeën hannert dëser Léisung ze verstoen an Iech Zäit gespuert huet wann Dir d'Iwwerwaachung an d'Logéierung vun externe Servicer fir Loki / Prometheus an engem Kubernetes Cluster opstellt.
Source: will.com