Veiksmi visiem.
Es tiešsaistē neesmu atradis vispārinātu rokasgrāmatu par trešo pušu pakalpojumu metriku reģistrēšanu un apkopošanu sistēmās, kas izvietotas
Mežizstrāde
Daudzi uzņēmumi izmanto virkni tehnoloģiju, lai apkopotu, skatītu un centralizētu žurnālus
vērtības.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"
Lai nosūtītu žurnālus uz gadījumu
Šis papildinājums ir jāinstalē visā
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 }}"
...
kur loki_url:
Metrika
Metrikas tiek apkopotas no PostgreSQL, izmantojot
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"
...
Lielākas skaidrības labad mēs rakstīsim ārējo statusu pakalpojumu nosaukumus, izmantojot galapunktus.
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 konfigurēšana postgres_exporter datu saņemšanai tiek veikta, rediģējot vērtības apakšdiagrammā.
vērtības.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
Lai vizualizētu saņemtos datus, instalējiet atbilstošo informācijas paneli
Kas tas izskatās
Es ceru, ka šis īsais raksts palīdzēja jums izprast šī risinājuma galvenās idejas un ietaupīja jūsu laiku, iestatot Loki/Prometheus ārējo pakalpojumu uzraudzību un reģistrēšanu Kubernetes klasterī.
Avots: www.habr.com