Бүгдэд нь амжилт хүсье.
Гуравдагч талын үйлчилгээнүүдээс хэмжигдэхүүнүүдийг бүртгэх, цуглуулах талаар ерөнхий гарын авлагыг би онлайнаар олсонгүй.
Мод бэлтгэх
Олон компаниуд лог цуглуулах, үзэх, төвлөрүүлэхийн тулд олон төрлийн технологи ашигладаг
утгууд.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"
Бүртгэлийг жишээ рүү илгээх
Та энэ нэмэлтийг бүх зүйл дээр суулгах ёстой
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 }}"
...
хаана loki_url:
Хэмжигдэхүүн
Хэмжилтийг PostgreSQL-ээс цуглуулдаг
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"
...
Илүү тодорхой болгохын тулд бид 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 }}
Postgres_exporter өгөгдлийг хүлээн авахын тулд Prometheus-ийг тохируулах нь дэд диаграм дахь утгыг засах замаар хийгддэг.
утгууд.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
Хүлээн авсан өгөгдлийг дүрслэхийн тулд тохирох хяналтын самбарыг суулгана уу
Энэ нь ямар харагдаж байна
Энэхүү богино өгүүлэл нь энэхүү шийдлийн цаад санааг ойлгоход тань тусалж, Кубернетес кластерт Loki/Prometheus-д зориулсан гадаад үйлчилгээг хянах, бүртгэх цагийг хэмнэсэн гэж найдаж байна.
Эх сурвалж: www.habr.com