
Zabwino zonse kwa aliyense.
Sindinapeze chiwongolero chanthawi zonse pa intaneti pakudula mitengo ndikutolera ma metric kuchokera kuzinthu zamagulu ena kupita kumakina omwe atumizidwa . Ndikutumiza yankho langa. Nkhaniyi ikuganiza kuti muli ndi ntchito kale ndi mautumiki ena. Monga chitsanzo cha gwero la deta la ntchito yakunja, DBMS idzagwiritsidwa ntchito mu chidebe . Kampaniyo imagwiritsa ntchito phukusi loyang'anira , pansipa m'malembawo padzakhala zitsanzo pa izo. Kuti tipeze yankho lonse, tikukonzekera tchati chathu, chomwe chili ndi ma chart omwe ali pazigawo zonse zomwe zimagwiritsidwa ntchito.
Kudula mitengo
Makampani ambiri amagwiritsa ntchito matekinoloje angapo kuti atolere, kuwona ndikuyika zipika pakati + + , yofupikitsidwa ngati ELK. Kwa ife, palibe chifukwa cholozera zomwe zili ndipo ndidagwiritsa ntchito zopepuka kwambiri . Imapezeka ngati phukusi la Helm, tidawonjezerapo ngati tchatichi posintha ma ingress ndi pv kuti zigwirizane ndi dongosolo lathu.
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 gwiritsani ntchito .
Muyenera kukhazikitsa chowonjezera ichi pa chilichonse makamu omwe mukufuna kulandira zipika. Pali njira zingapo zouzira daemon momwe mungagwiritsire ntchito padding. Ndimasankha driver mu yaml , yomwe ili gawo buku lamasewera.
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 chifukwa . Kupitiliza wapamwamba wapamwamba buku lamasewera.
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
ndi kukonza magwero a deta. Izi zitha kuchitikanso kudzera pamakhalidwe a Grafana subchart.
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
