ืืื ืืืืง ืฆื ืึทืืขืืขื.
ืืื ืืื ื ืืฉื ืืขืคึฟืื ืขื ืึท ืืขื ืขืจืึทืืืืขื ืคืืจืขืจ ืึธื ืืืื ืคึฟืึทืจ ืืึธืืื ื ืืื ืงืึทืืขืงืืื ื ืืขืืจืืงืก ืคืื ืืจืื-ืคึผืึทืจืืื ืืึทืืื ืื ืืก ืืื ืกืืกืืขืืขื ืืืคึผืืืื ืืื
ืืึธืืื ื
ืคืืืข ืงืึธืืคึผืึทื ืืขืก ื ืืฆื ืึท ืึธื ืืืืื ืคืื ืืขืงื ืึทืืึทืืืฉืื ืฆื ืืึทืืืขื, ืงืืง ืืื ืกืขื ืืจืึทืืืื ืืึธืืก
ืืืึทืืืขืก.ืืึทืื
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"
...
ืคึฟืึทืจ ืืขืจ ืงืืขืจืืื, ืืืจ ืืืขืื ืฉืจืืึทืื ืื ื ืขืืขื ืคืื ืคืื ืืจืืืกื ืืืง ืกืืืืืคืื ืืึทืืื ืื ืืก ื ืืฆื ืขื ืืคึผืึธืื ืฅ.
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 }}
ืงืึทื ืคืืืืขืจ ืคึผืจืึธืืขืืืขืืก ืฆื ืืึทืงืืืขื ืคึผืึธืกืืืจืขืก_ืขืงืกืคึผืึธืจืืขืจ ืืึทืื ืืื ืืืจืืืขืงืึธืื ืืืจื ืขืืืืื ื ืืืึทืืืขืก ืืื ืื ืกืืืืฉืึทืจื.
ืืืึทืืืขืก.ืืึทืื
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
ืฆื ืืืืืฉืืืึทืืืื ืื ืืืงืืืขื ืืึทืื, ืื ืกืืึทืืืจื ืื ืฆืื ืขืืขื ืืึทืฉืืึธืจื ืืื
ืืืึธืก ืขืก ืงืืงื ืืื
ืืื ืืึธืคึฟื ืืขื ืงืืจืฅ ืึทืจืืืงื ืืขืืึธืืคึฟื ืืืจ ืคึฟืึทืจืฉืืืื ืื ืืืืคึผื ืืขืืื ืงืขื ืืื ืืขืจ ืืขื ืืืืืื ื ืืื ืืขืจืืืขืืืขื ืืืจ ืฆืืื ืืืขื ืืืจ ืฉืืขืื ืึทืจืืืฃ ืืึธื ืืืึธืจืื ื ืืื ืืึธืืื ื ืคืื ืคืื ืืจืืืกื ืืืง ืืึทืืื ืื ืืก ืคึฟืึทืจ Loki / Prometheus ืืื ืึท Kubernetes ืงื ืืื.
ืืงืืจ: www.habr.com