ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ datasource
Grafana ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ provisioning β ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
Datasource ΠΎΠΏΠΈΡΠ°Π½ Π² ConfigMap Π²Π½ΡΡΡΠΈ infrastructure/prometheus-stack/grafana.yaml:
apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-datasources
data:
prometheus.yaml: |
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://prometheus:9090 # Service DNS-ΠΈΠΌΡ
isDefault: true
editable: falseΠΡΠΎΡ ConfigMap ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΡΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ /etc/grafana/provisioning/datasources/ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΡΠΈ ΡΡΠ°ΡΡΠ΅ Grafana ΡΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ .yaml ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ datasource.
url: http://prometheus:9090 β Kubernetes DNS ΡΠ΅Π·ΠΎΠ»Π²ΠΈΡ prometheus Π² ClusterIP ΡΠ΅ΡΠ²ΠΈΡΠ° Prometheus. Grafana ΠΈ Prometheus Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ namespace monitoring, ΠΏΠΎΡΡΠΎΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ datasource β ΡΠ΅ΡΠ΅Π· provisioning. ΠΡΠΆΠ½Ρ Π΄Π²Π° ConfigMap.
ΠΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ β Π³ΠΎΠ²ΠΎΡΠΈΡ Grafana, Π³Π΄Π΅ ΠΈΡΠΊΠ°ΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ:
data:
dashboards.yaml: |
apiVersion: 1
providers:
- name: default
type: file
options:
path: /var/lib/grafana/dashboards # β ΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π΄Π΅ΡΡΠ‘Π°ΠΌΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ β JSON-ΡΠ°ΠΉΠ»Ρ, ΡΠΊΠ°ΡΠ°Π½Π½ΡΠ΅ Ρ grafana.com:
apiVersion: v1
kind: ConfigMap
metadata:
name: dashboard-node-exporter
data:
node-exporter.json: |
{ ... JSON Π΄Π°ΡΠ±ΠΎΡΠ΄Π° ... }ΠΠ±Π° ConfigMap ΠΌΠΎΠ½ΡΠΈΡΡΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΡΠΈ ΡΡΠ°ΡΡΠ΅ Grafana ΡΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ .json ΡΠ°ΠΉΠ»Ρ ΠΈΠ· path ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈΡ
.
ΠΠ°ΠΆΠ½ΡΠΉ Π½ΡΠ°Π½Ρ: Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ Ρ grafana.com ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ${DS_PROMETHEUS} Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ datasource. ΠΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ConfigMap Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ:
sed -i 's/\${DS_PROMETHEUS}/Prometheus/g' dashboard.jsonΠΠ½Π°ΡΠ΅ Grafana Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄ Ρ datasource.