Inhlanhla kuwo wonke umuntu.
Angikawutholi umhlahlandlela ojwayelekile ku-inthanethi wokungena nokuqoqa amamethrikhi kusukela kumasevisi ezinkampani zangaphandle ukuya kumasistimu afakwe kuwo.
Ukugawula
Izinkampani eziningi zisebenzisa inqwaba yobuchwepheshe ukuqoqa, ukubuka nokubeka izingodo endaweni eyodwa
amanani.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"
Ukuthumela izingodo kusibonelo
Kufanele ufake lesi sengezo kukho konke
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 }}"
...
lapho i-loki_url:
Amamethrikhi
Amamethrikhi aqoqwa ku-PostgreSQL kusetshenziswa
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"
...
Ukuze kube nokucace kakhudlwana, sizobhala amagama ezinsizakalo zangaphandle sisebenzisa ama-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 }}
Ukulungiselela i-Prometheus ukuthola idatha ye-postgres_exporter kwenziwa ngokuhlela amanani kushadi elincane.
amanani.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
Ukuze ubone ngeso lengqondo idatha etholiwe, faka Ideshibhodi efanele kuyo
Ibukeka kanjani
Ngithemba ukuthi lesi sihloko esifushane sikusize uqonde imibono eyinhloko ngemuva kwalesi sixazululo futhi sikugcinele isikhathi lapho uhlela ukuqapha nokungena kwezinsizakalo zangaphandle ze-Loki/Prometheus kuqoqo le-Kubernetes.
Source: www.habr.com