
Nasiib wacan qof walba.
Maan helin hagaha guud ee internetka ee ku saabsan gaynta iyo ururinta cabbirada adeegyada dhinac saddexaad ee nidaamyada la geeyay . xalkeyga ayaan soo dhigayaa. Maqaalkani waxa uu u malaynayaa in aad hore u leedahay shaqo iyo adeegyo kale. Tusaale ahaan isha xogta ee adeeg dawladeed oo dibadeed, DBMS ayaa la isticmaali doonaa weel ku jira . Shirkaddu waxay isticmaashaa maamulaha xirmada , hoos qoraalka waxaa ku jiri doona tusaalooyin. Xalka oo dhan, waxaan diyaarineynaa jaantus noo gaar ah, kaas oo ay ku jiraan jaantusyada buulka ah ee dhammaan adeegyada la isticmaalo.
Goynta
Shirkado badan ayaa adeegsada tiro tignoolajiyada si ay u ururiyaan, u arkaan oo ay meel dhexe uga dhigaan diiwaanka + + , oo loo soo gaabiyo ELK. Xaaladeena, looma baahna in la tilmaamo waxa ku jira waxaanan isticmaalay mid ka khafiifsan . Waxaa loo heli karaa sidii xirmo Helm ah, waxaan ku darnay jaantus-hoosaad annagoo beddelayna qiyamka soo gelista iyo pv si ay ugu habboonaato nidaamkayaga.
qiyamka.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"
Si aad u dirto qoraallada tusaale ahaan isticmaal .
Waa inaad wax walba ku rakibto wax-ku-darkan martigeliyayaasha kuwaas oo aad rabto in aad ka hesho logyada. Waxaa jira dhowr siyaabood oo loo sheego daemon sida loo isticmaalo suufka. Waxaan ku doortay darawalka yaml , oo ah qayb buug-ciyaareed
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 }}"
...
halka loki_url:
Metrics
Metrics waxaa laga soo ururiyaa PostgreSQL iyadoo la isticmaalayo si ay u . Sii wadida faylka kore buug-ciyaareed
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"
...
Si loo caddeeyo, waxaanu qori doonaa magacyada adeegyada dawlad-goboleedka dibadda ah anagoo adeegsanayna Endpoints.
postgres-adeeg.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 }}
Habaynta Prometheus si ay u hesho xogta postgres_exporter waxaa lagu sameeyaa iyadoo la tafatiraayo qiyamka shaxda hoose.
qiyamka.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
Si loo sawiro xogta la helay, ku rakib Dashboard-ka ku habboon gudaha
iyo habeeyaan ilaha xogta. Tan waxa kale oo lagu samayn karaa iyada oo loo marayo qiyamka Grafana.
Maxay u egtahay

Waxaan rajeynayaa in maqaalkan gaaban uu kaa caawiyo inaad fahamto fikradaha ugu muhiimsan ee ka dambeeya xalkan oo ay kuu badbaadisay wakhti markaad dejinayso kormeerka iyo gelitaanka adeegyada dibadda ee Loki/Prometheus ee kutlada Kubernetes.
Source: www.habr.com
