Zorte on guztioi.
Ez dut sarean gida orokorrik aurkitu hirugarrenen zerbitzuetatik inplementatutako sistemetan erregistratu eta neurketak biltzeko.
Erregistratzea
Enpresa askok teknologia pila erabiltzen dituzte erregistroak biltzeko, ikusteko eta zentralizatzeko
balioak.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"
Instantzia batera erregistroak bidaltzeko
Gehigarri hau guztia instalatu behar duzu
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 }}"
...
non loki_url:
Metrikak
Metrikak PostgreSQL-tik biltzen dira
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"
...
Argitasun handiagoa lortzeko, Endpoints erabiliz kanpoko egoera-zerbitzuen izenak idatziko ditugu.
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 datuak jasotzeko konfiguratzea azpidiagramako balioak editatuz egiten da.
balioak.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
Jasotako datuak ikusteko, instalatu dagokion Arbela
Nolakoa da
Espero dut artikulu labur honek irtenbide honen atzean dauden ideia nagusiak ulertzen lagundu izana eta denbora aurreztu izana Loki/Prometheus-en kanpoko zerbitzuen jarraipena eta saioa Kubernetes kluster batean konfiguratzean.
Iturria: www.habr.com