Rombo rakanaka kune wese.
Ini handina kuwana gwara rakajairwa pamhepo pakutema matanda uye kuunganidza metrics kubva kune wechitatu-bato masevhisi mumasisitimu akaiswa mukati.
Kutema miti
Makambani mazhinji anoshandisa stack yetekinoroji kuunganidza, kuona uye kuisa pakati matanda
values.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"
Kutumira matanda kune muenzaniso
Iwe unofanirwa kuisa iyi yekuwedzera pane zvese
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 }}"
...
uko loki_url:
Metrics
Metrics inounganidzwa kubva kuPostgreSQL uchishandisa
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 tinyatsojekeserwa, tichanyora mazita ekunze ekunze masevhisi tichishandisa 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 }}
Kugadzirisa Prometheus kuti igamuchire postgres_exporter data kunoitwa nekugadzirisa maitiro mune subchart.
values.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
Kuona iyo data yakagamuchirwa, isa iyo yakakodzera Dashboard mukati
Chakaita sei
Ndinovimba chinyorwa chipfupi ichi chakubatsira iwe kunzwisisa iwo makuru mazano kuseri kweiyi mhinduro uye yakakuchengetera nguva paunenge uchimisikidza kutarisa uye kutema matanda ekunze masevhisi eLoki/Prometheus muboka reKubernetes.
Source: www.habr.com