ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².: ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π²Π°ΡΠ΅ΠΌΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎ ΠΏΡΠΈΡΠΈΠ½Π°Ρ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎΡ Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»ΡΠΌΠΈ Grafana. ΠΡΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½ΠΎΠ²Π°Ρ ΠΈ, ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΠΏΡΠΈΠ·Π²Π°Π½Π½Π°Ρ ΡΠ»ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡβ¦ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Π²ΡΠ΅Π΄ΠΈΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π½ΡΠ°Π½ΡΡ Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΠΈΡΡ production. ΠΠ°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΡΠΈΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ²ΠΎΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ°Ρ . ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ β Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΎΡ Π²ΠΈΡΠ΅-ΠΏΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ° ΠΏΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΈΠ· Grafana Labs.
Π ΠΏΡΡΠ½ΠΈΡΡ, 19 ΠΈΡΠ»Ρ, ΡΠ΅ΡΠ²ΠΈΡ Hosted Prometheus Π² Grafana Cloud ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° 30 ΠΌΠΈΠ½ΡΡ. ΠΡΠΈΠ½ΠΎΡΡ ΠΈΠ·Π²ΠΈΠ½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ, ΠΏΠΎΡΡΡΠ°Π΄Π°Π²ΡΠΈΠΌ ΠΎΡ ΡΠ±ΠΎΡ. ΠΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° β ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΈ ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΡΡΠΎ ΠΈΡ
Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ Π²Π°ΡΡ ΠΆΠΈΠ·Π½Ρ. ΠΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΠΌΡΡ ΠΊ ΡΡΠΎΠΌΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΡ. Π ΡΡΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠ΅ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ Π½Π° ΡΡΠΎ ΠΎΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΠΌ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ»ΠΎΡΡ.
ΠΡΠ΅Π΄ΡΡΡΠΎΡΠΈΡ
Π‘Π΅ΡΠ²ΠΈΡ Grafana Cloud Hosted Prometheus ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π°
ΠΠ»Ρ Π±Π΅ΡΠΏΡΠΎΡΡΠΎΠΉΠ½ΡΡ
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ Ingester Cortex’Π° ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΡ Ingester’Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. (ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².:
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π½ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠ°ΡΠΈΠ½ Π½Π΅Ρ ΡΡΠΈΡ
25% Π½Π΅Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠ° ΠΌΡ ΠΈ Π½Π΅ ΡΡΡΠ΅ΠΌΠΈΠΌΡΡ: CPU ΠΈ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ
Π ΡΠ΅ΡΠ²Π΅ΡΠ³, 18 ΠΈΡΠ»Ρ, ΠΌΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΠ»ΠΈ ΡΠ΅ΡΡΡΠ΅ Π½ΠΎΠ²ΡΡ
ΡΡΠΎΠ²Π½Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² Π² ΡΠ²ΠΎΠΈΡ
ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ
: ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ, Π²ΡΡΠΎΠΊΠΈΠΉ, ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΈ Π½ΠΈΠ·ΠΊΠΈΠΉ. ΠΠ½ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π±Π΅Π· ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ΄Π½Ρ Π½Π΅Π΄Π΅Π»Ρ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ pod’Ρ Π±Π΅Π· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π»ΠΈ ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, Π΄Π»Ρ Ingester’ΠΎΠ² Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΊΠ»Π°ΡΡ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ. ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π±ΡΠ» Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° (Prometheus, Alertmanager, node-exporter, kube-state-metrics ΠΈ Ρ.Π΄.). ΠΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ β ΠΎΡΠΊΡΡΡΡΠΉ, ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ PR ΠΌΠΎΠΆΠ½ΠΎ
ΠΠ²Π°ΡΠΈΡ
Π ΠΏΡΡΠ½ΠΈΡΡ, 19 ΠΈΡΠ»Ρ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² Π·Π°ΠΏΡΡΡΠΈΠ» Π½ΠΎΠ²ΡΠΉ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ Cortex Π΄Π»Ρ ΠΊΡΡΠΏΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠΎΠ½ΡΠΈΠ³ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π» Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ pod’ΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΌ pod’Π°ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π»ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β ΡΡΠ΅Π΄Π½ΠΈΠΉ.
Π ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Kubernetes Π½Π΅ Ρ Π²Π°ΡΠΈΠ»ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Cortex, Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ production-ΠΊΠ»Π°ΡΡΠ΅Ρ Cortex Π½Π΅ Π±ΡΠ» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ (Ingester’Ρ ΠΎΡΡΠ°Π»ΠΈΡΡ Π±Π΅Π· Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°). ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ingester’Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠΌΠ΅Π»ΠΈ ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π² production pod’Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π±Π΅Π· ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°, Ingester’Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π²ΡΡΠ΅ΡΠ½ΠΈΠ»ΠΈ Ingester ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ production-ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Cortex.
ReplicaSet Π΄Π»Ρ Π²ΡΡΠ΅ΡΠ½Π΅Π½Π½ΠΎΠ³ΠΎ Ingester’Π° Π² production-ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» Π²ΡΡΠ΅ΡΠ½Π΅Π½Π½ΡΠΉ pod ΠΈ ΡΠΎΠ·Π΄Π°Π» Π½ΠΎΠ²ΡΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠΏΠΈΠΉ. ΠΠΎΠ²ΠΎΠΌΡ pod’Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±ΡΠ» ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ Β«ΡΡΠ°ΡΡΠΉΒ» Ingester Π² production Π»ΠΈΡΠΈΠ»ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ². Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠ°Π» Π»Π°Π²ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ²Π΅Π» ΠΊ Π²ΡΡΠ΅ΡΠ½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ pod’ΠΎΠ² Ρ Ingester Π΄Π»Ρ production-ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² Cortex’Π°.
Ingester’Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ (stateful) ΠΈ Ρ ΡΠ°Π½ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π·Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ 12 ΡΠ°ΡΠΎΠ². ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΠΈΡΡΡ Π² Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Cortex ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΡΠ°ΡΠ΄ΠΈΠ½Π³ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ (Distributed Hash Table, DHT), ΠΈ ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΡΠΈΡ Π½Π° ΡΡΠΈ Ingester’Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ²ΠΎΡΡΠΌΠ½ΠΎΠΉ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ Π² ΡΡΠΈΠ»Π΅ Dynamo. Cortex Π½Π΅ ΠΏΠΈΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² Ingester’Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Ingester’ΠΎΠ² ΠΏΠΎΠΊΠΈΠ΄Π°ΡΡ DHT, Cortex Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΈ ΠΎΠ½ΠΈ Β«ΠΏΠ°Π΄Π°ΡΡΒ».
ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅
ΠΠΎΠ²ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Prometheus Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Β«Π±ΡΠ΄ΠΆΠ΅ΡΠ° ΠΎΡΠΈΠ±ΠΎΠΊΒ» (error-budget-based β ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΠΎΡΠ²ΡΡΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅) ΡΡΠ°Π»ΠΈ Π±ΠΈΡΡ ΡΡΠ΅Π²ΠΎΠ³Ρ ΡΠ΅ΡΠ΅Π· 4 ΠΌΠΈΠ½ΡΡΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π°ΡΠ°Π»Π° ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΏΡΡΠΈ ΠΌΠΈΠ½ΡΡ ΠΌΡ ΠΏΡΠΎΠ²Π΅Π»ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ ΠΈ Π½Π°ΡΠ°ΡΡΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°ΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ Kubernetes Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΎΠ³ΠΎ, ΡΠ°ΠΊ ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ production-ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ².
ΠΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΏΡΡΡ ΠΌΠΈΠ½ΡΡ ΡΡΠ°ΡΡΠ΅ Ingester’Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅, Π° Π½ΠΎΠ²ΡΠ΅ β Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈΡΡ, ΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Cortex ΡΠ½ΠΎΠ²Π° ΡΡΠ°Π»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ.
ΠΡΠ΅ 10 ΠΌΠΈΠ½ΡΡ ΡΡΠ»ΠΎ Π½Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ out-of-memory (OOM) ΠΎΡΠΈΠ±ΠΎΠΊ ΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ Cortex. ΠΠΠ-ΠΎΡΠΈΠ±ΠΊΠΈ Π±ΡΠ»ΠΈ Π²ΡΠ·Π²Π°Π½Ρ Π΄Π΅ΡΡΡΠΈΠΊΡΠ°ΡΠ½ΡΠΌ ΡΠΎΡΡΠΎΠΌ QPS (ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΠΈΠ·-Π·Π° ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎ Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Prometheus ΠΊΠ»ΠΈΠ΅Π½ΡΠ°).
ΠΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ
ΠΠ±ΡΠ°Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΡΠΎΡ ΡΠΎΡΡΠ°Π²ΠΈΠ»Π° 26 ΠΌΠΈΠ½ΡΡ. ΠΠ°Π½Π½ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ. Ingester’Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈ Π²ΡΠ΅ in-memory-Π΄Π°Π½Π½ΡΠ΅ Π² Π΄ΠΎΠ»Π³ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Prometheus-ΡΠ΅ΡΠ²Π΅ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΡΠΎΡ
ΡΠ°Π½ΡΠ»ΠΈ Π² Π±ΡΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ (remote) Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ production-ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
ΠΡΠ²ΠΎΠ΄Ρ
ΠΠ°ΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ ΡΡΠΎΠΊΠΈ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ° ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ.
ΠΠ³Π»ΡΠ΄ΡΠ²Π°ΡΡΡ Π½Π°Π·Π°Π΄, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠ·Π½Π°ΡΡ, ΡΡΠΎ Π½Π°ΠΌ Π½Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΠΏΠΎΠΊΠ° Π²ΡΠ΅ Ingester’Ρ Π² production Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎΠ± ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ΅. Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ. ΠΠ°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ Π½Π°Ρ ΠΎΠΏΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² podβΠΎΠ² Π² Kubernetes.
ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΡΠ±ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Ρ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΠΏΡΠ΅Π΄Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π»ΡΠ΄Π΅ΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ²Π΅Π»Π° ΠΊ ΡΠ±ΠΎΡ, ΡΡΠΈΡΠ°Π»Π°ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° β ΠΎΠ½Π° ΠΎΠ±ΡΡΠΆΠ΄Π°Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² GitHub issue. Π‘ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ² Π±ΡΠ΄ΡΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΠΠ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ΅, ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΠΌΠΈ ΡΠ΅Π³ΠΎ ΠΌΡ ΡΡΠ°Π»ΠΈ, ΠΈ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Prometheus ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΡΠΊΠ°ΡΠΎΠΌ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ΅ΡΠ΅ΠΆΠΈΡΡΠΉ ΡΠ±ΠΎΠΉ ΠΈΠΌΠ΅Π» ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠ²Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ: ΠΏΠΎΠ»ΡΡΠΈΠ² Π² ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ, Cortex Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π°. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ΅Π½Π½ΡΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ
P.S. ΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π² Π½Π°ΡΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅:
- Β«
ΠΠ²ΡΠΎΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ Π² Kubernetes (ΠΎΠ±Π·ΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π°) Β»; - Β«
Kubernetes-ΠΏΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Dailymotion: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠ°Ρ + on-premises Β»; - Β«
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Tinder Π½Π° Kubernetes Β»; - Β«
ΠΡΡΠΎΡΠΈΠΈ ΡΡΠΏΠ΅Ρ Π° Kubernetes Π² production. Π§Π°ΡΡΡ 10: Reddit Β».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com