Bahati nzuri kwa kila mtu.
Sijapata mwongozo wa jumla mtandaoni kuhusu ukataji miti na kukusanya vipimo kutoka kwa huduma za wahusika wengine hadi kwenye mifumo iliyotumwa
Kuweka magogo
Kampuni nyingi hutumia rundo la teknolojia kukusanya, kutazama na kuweka kumbukumbu kati
maadili.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"
Kutuma kumbukumbu kwa mfano
Lazima usakinishe programu jalizi hii kwenye kila kitu
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 }}"
...
wapi loki_url:
Vipimo
Vipimo hukusanywa kutoka kwa PostgreSQL kwa kutumia
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"
...
Kwa uwazi zaidi, tutaandika majina ya huduma bora za nje kwa kutumia 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 }}
Kusanidi Prometheus ili kupokea data ya postgres_exporter hufanywa kwa kuhariri maadili katika chati ndogo.
maadili.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
Ili kuona data iliyopokelewa, sakinisha Dashibodi inayofaa ndani
Inaonekanaje
Natumai nakala hii fupi ilikusaidia kuelewa mawazo kuu nyuma ya suluhisho hili na kukuokoa wakati wa kuweka ufuatiliaji na ukataji wa huduma za nje za Loki/Prometheus katika nguzo ya Kubernetes.
Chanzo: mapenzi.com