āĻ¸āĻŦāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻļā§āĻāĻāĻžāĻŽāĻ¨āĻž.
āĻāĻŽāĻŋ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻŽā§āĻā§āĻ°āĻŋāĻā§āĻ¸ āĻ˛āĻāĻŋāĻ āĻāĻŦāĻ āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻ
āĻ¨āĻ˛āĻžāĻāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻžāĻāĻĄ āĻā§āĻāĻā§ āĻĒāĻžāĻāĻ¨āĻŋ
āĻ˛āĻāĻŋāĻ
āĻ
āĻ¨ā§āĻ āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋ āĻ˛āĻ āĻ¸āĻāĻā§āĻ°āĻš, āĻĻā§āĻāĻ¤ā§ āĻāĻŦāĻ āĻā§āĻ¨ā§āĻĻā§āĻ°ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
values.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"
...
āĻāĻ°āĻ āĻ¸ā§āĻĒāĻˇā§āĻāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻāĻ¨ā§āĻĄāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻ°āĻžāĻˇā§āĻā§āĻ°ā§āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ° āĻ¨āĻžāĻŽ āĻ˛āĻŋāĻāĻŦāĨ¤
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 }}
āĻĒā§āĻ¸ā§āĻāĻā§āĻ°ā§āĻ¸_āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻāĻžāĻ° āĻĄā§āĻāĻž āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻāĻ¸ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻ¸āĻžāĻŦāĻāĻžāĻ°ā§āĻā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
values.yaml
scrape_configs:
...
- job_name: postgres-exporter
static_configs:
- targets:
- postgres-exporter.applicationnamespace.svc.cluster.local:9187
labels:
alias: postgres
...
āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĄā§āĻāĻž āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨
āĻĻā§āĻāĻ¤ā§ āĻā§āĻŽāĻ¨ āĻ˛āĻžāĻā§
āĻāĻŽāĻŋ āĻāĻļāĻž āĻāĻ°āĻŋ āĻāĻ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻĒāĻŋāĻāĻ¨ā§āĻ° āĻŽā§āĻ˛ āĻ§āĻžāĻ°āĻŖāĻžāĻā§āĻ˛āĻŋ āĻŦā§āĻāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§āĻā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ Kubernetes āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ Loki/Prometheus-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ° āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻŖ āĻāĻŦāĻ āĻ˛āĻāĻŋāĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻāĻāĻŋāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com