แแฝแแแแธแขแแแแแแแปแแ แถแ!
แแแแแแแแแแแปแแ แแแแแแถแแแขแแแแแธแแแแแแแแแพแแแทแแแถแ แแแแแแฝแแแทแแทแแแ postgres แแทแแขแแแแแถแแแฝแแ แแแฝแแแแแแแแแแแ แแแแปแแ แแแแแ OpenShift แแทแแแแแแแแแแพแแแถแแแแแพแแถแ
แแ แ แแแแ แผแแแฝแแแแแถแแ
- Openshift
- แแถแแแแแแแ
- Prometheus
แแพแแแแธแแแแพแแถแแแถแแฝแแแแแแแทแแธ java แขแแแธแแแแแแแแถแแแบแแถแแแแ แแทแแแถแแแแแแถแแถแ แฌแแพแแแแธแฑแแแ
แแแถแแแแถแแแแถแแแแแ
1) แแแแแแแแ build.gradle
implementation "io.micrometer:micrometer-registry-prometheus"
2) แแแแพแแแถแ prometheus แแถแแฝแแแนแแแถแแแแแแแแ แแถแแแแแแแแ
- job_name: 'job-name'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- 'name'
3) แแแแแแแแถแแแแแ แถแแแ Grafana
แขแแแธแแแแแแแแถแแแบแแถแแแแ แแทแแขแแแ แถแแแแแ แผแแแแแแแแแแแแถแแแแแแแฝแแแทแแทแแแแแผแแแแแถแแแแแแถแแแธแแถแแแแ แแแแแแแแแแแแปแแแถแแแแแแแพแ (แแถแ แแแแขแถแแแแแแแถแแแแแแถแแแแแถแแแแถแแแแแแพแแแแแแแแ แแแปแแแแแแถแแแฟแแแแแแแแแแถแแพแแกแพแ)แ
แแพโแแถโแแแแพแแแถแโแแแถแโแแผแ แแแแแ ?
แแแแแแแแธแแพ pod แแถแแฝแ postgres แแทแ prometheus แแแแฝแแแพแแแแแผแแแถแแขแแแแแถแแแฝแแแแแแแแแแ - แขแแแแแถแแ แแแ
แขแแแแแถแแ แแแแ แแแแปแแแแแทแแขแแผแแธ แแบแแถแแแแถแแแแถแแแแแแแแแผแแแแแแแแแธแแแแแแทแแธ แฌแแผแแแแธแแแแแถแแแธแแแแ แแแแแถแแแขแแแแแถแแ แแ Postgres แแถแแแแผแแแถแแแแแแแแ แแแแปแ Go แแถแแแแพแแแถแแแพแแแแแถแแแแแแแถแแแแแพแแแถแแแแแแแธแ SQL แแ แแถแแแแแปแแแผแแแแแถแแแทแแแแแแ แ แพแแแแแแถแแแแ prometheus แแแแแแแแแแแแแแฝแแแถแแ แแแแแแขแแปแแแแถแแฑแแแขแแแแแแแแธแแแแแแถแแแแแแแแแแผแแแถแแแแแแแแแแแแแแแขแแแแแแแถแแแ
แ แผแโแแถแแโแฑแแโแแแแพโแแถโแแแโแแแ (แงแแถแ แแแ deployment.yaml, non-binding)แ
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: postgres-exporter
labels:
app: {{ .Values.name }}
monitoring: prometheus
spec:
serviceName: {{ .Values.name }}
replicas: 1
revisionHistoryLimit: 5
template:
metadata:
labels:
app: postgres-exporter
monitoring: prometheus
spec:
containers:
- env:
- name: DATA_SOURCE_URI
value: postgresdb:5432/pstgr?sslmode=disable
- name: DATA_SOURCE_USER
value: postgres
- name: DATA_SOURCE_PASS
value: postgres
resources:
limits:
cpu: 100m
memory: 50Mi
requests:
cpu: 100m
memory: 50Mi
livenessProbe:
tcpSocket:
port: metrics
initialDelaySeconds: 30
periodSeconds: 30
readinessProbe:
tcpSocket:
port: metrics
initialDelaySeconds: 10
periodSeconds: 30
image: exporter
name: postgres-exporter
ports:
- containerPort: 9187
name: metrics
แแถแแแแถแแแถแแแแแถแแแแ แแทแแแแแแแธแแแผแแแถแแแแแแแ
แแแแแถแแโแแธโแแถแแโแแแแแถแ แแพแโแแทแโแแถโแ แแโแฒแแโแขแแแโแแถแแโแแแแถโแแถแโแแพแโแแแแถแ
แแแแแแแแแแแแแถแแแแแแแแ config Prometheus:
- job_name: 'postgres_exporter'
metrics_path: '/metrics'
scrape_interval: 5s
dns_sd_configs:
- names:
- 'postgres-exporter'
type: 'A'
port: 9187
แ แพแแแแแแถแแแแแขแแแธแแแแแแแแถแแแถแแแแแพแแแถแ แขแแแธแแแแแ แแแแแบแแแแผแแแแแแแแแแแแปแแถแแแขแแแแแแแ แแแแถแ แแแแถ แ แพแแแธแแแถแแแนแแแแแแแแ
แแแแแแแแธแแพแแแแแแแถแแแแแปแแแถแแแแแแแแแแแฝแแแแแถแแแแแแฝแแแแแแขแแแ แขแแแแขแถแ แแแแถแแแแแแผแแแถแแแแแแแแ แแแแปแ prometheus แแแแแแแแผแแแแแแถแแแแแแแ แแแแแแแแแแ
แแแแแแแผแแแถแแแแแพแแถแแแแแแแแแแแแแแแถแแแแแถแแแ
- แแถแแถแแถแ
- Elasticsearch
- แแแปแแ แแแแ
PS แแทแแแแแแแแถแแแขแแแแ แแพแแแแแ แ แแแ แแทแแแ แแแแแแแผแแแถแแแแ แแแแธแขแถแแถแ แ แพแแแทแแแถแแแแแแแถแแแถแแฝแแกแพแแ
แแแแแถแแแแแถแแแแถแแแแแแแแแ:
แแแแแ: www.habr.com