Zabwino zonse kwa aliyense.
Sindinapeze chiwongolero chanthawi zonse pa intaneti pakudula mitengo ndikutolera ma metric kuchokera kuzinthu zamagulu ena kupita kumakina omwe atumizidwa
Kudula mitengo
Makampani ambiri amagwiritsa ntchito matekinoloje angapo kuti atolere, kuwona ndikuyika zipika pakati
makhalidwe.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"
Kutumiza zipika ku chitsanzo
Muyenera kukhazikitsa chowonjezera ichi pa chilichonse
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 }}"
...
komwe loki_url:
Metrics
Ma metric amasonkhanitsidwa kuchokera ku PostgreSQL pogwiritsa ntchito
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"
...
Kuti timveke bwino, tilemba mayina a ntchito zakunja zakunja pogwiritsa ntchito 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 }}
Kukonza Prometheus kuti alandire postgres_exporter data kumachitika ndikusintha ma chart mu subchart.
makhalidwe.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
Kuti muwonetsetse zomwe mwalandira, yikani Dashboard yoyenera mkati
Kodi zikuwoneka bwanji
Ndikukhulupirira kuti nkhaniyi yayifupi yakuthandizani kumvetsetsa malingaliro akulu kumbuyo kwa yankho ili ndikukupulumutsirani nthawi pokhazikitsa kuwunika ndikudula mitengo yantchito zakunja za Loki/Prometheus mgulu la Kubernetes.
Source: www.habr.com