РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

НСка Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ ΠΏΡ€Π΅Π· основитС Π½Π° Π»ΠΎΠ³Π²Π°Π½Π΅Ρ‚ΠΎ Π² Docker ΠΈ Kubernetes ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π²Π° инструмСнта, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ бСзопасно Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² производството: Grafana Loki ΠΈ стСка EFK (Elasticsearch + Fluent Bit + Kibana).

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŠΡ‚ Π½Π° статията Π΅ изстискан ΠΎΡ‚ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚Π° лСкция Π½Π° ΡƒΡ‡ΠΈΠ»ΠΈΡ‰Π΅ "Slurm". Ако ΠΈΠΌΠ° ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡ‰Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅, Π°ΠΊΠΎ ΠΈΠΌΠ° производствСна Π½ΡƒΠΆΠ΄Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ пълно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ - Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ сС Π·Π° курс ΠΏΠΎ Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π·Π° наблюдСниС ΠΈ рСгистриранС Π² Kubernetes.

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

Π”ΠΎΠΊΠ΅Ρ€ рСгистриранС

На Π½ΠΈΠ²ΠΎ Kubernetes прилоТСнията работят Π² ΠΏΠΎΠ΄ΠΎΠ²Π΅, Π½ΠΎ Π½Π° ΠΏΠΎ-ниско Π½ΠΈΠ²ΠΎ Ρ‚Π΅ всС ΠΎΡ‰Π΅ работят Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ Π² Docker. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ трябва Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ рСгистриранС ΠΏΠΎ Ρ‚Π°ΠΊΡŠΠ² Π½Π°Ρ‡ΠΈΠ½, Ρ‡Π΅ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ сС стартират ΠΎΡ‚ Docker, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ Π΅ ΠΏΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΎ рСгистриранСто Π½Π° Π½ΠΈΠ²ΠΎ Docker.

Надявам сС, Ρ‡Π΅ всСки Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π» Π·Π½Π°Π΅: рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ трябва Π΄Π° сС записват Π² stdout / stderr, Π° Π½Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. РСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ сС ΡΡŠΠ±ΠΈΡ€Π°Ρ‚ ΠΎΡ‚ Docker Daemon ΠΈ Ρ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ с Ρ‚Π΅Π·ΠΈ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π΄ΠΎ stdout/stderr. Π’ допълнСниС, записванСто Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡŠΡ‚Ρ€Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΅ изпълнСно с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ: ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΡŠΡ‚ сС ΠΈΠ·Π΄ΡƒΠ²Π° ΠΎΡ‚ нарастващия ΠΆΡƒΡ€Π½Π°Π» (Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΉ-вСроятно няма Logrotate Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°), Π° Docker Daemon Π½Π΅ Π΅ наясно с Ρ‚ΠΎΠ·ΠΈ ΠΆΡƒΡ€Π½Π°Π».

Docker ΠΈΠΌΠ° няколко Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π·Π° рСгистриранС ΠΈΠ»ΠΈ плъгини Π·Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° рСгистриранС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. Π‘Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° общността Π½Π° Docker (CE) ΠΈΠΌΠ° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ Π·Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ комСрсиалното ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Docker Enterprise (EE).

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

Никога Π½Π΅ съм ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π» Docker EE Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°: Π² Southbridge сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° сС ΠΏΡ€ΠΈΠ΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ към Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π΅ сС нуТдаят ΠΎΡ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Docker EE.

РСгистрирайтС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ Π² Docker CE:

мСстСн - записванС Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ във Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Docker Daemon;
json Ρ„Π°ΠΉΠ» - създаванС Π½Π° json-log Π² ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° Π½Π° всСки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€;
ΠΆΡƒΡ€Π½Π°Π» - ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ към ΠΆΡƒΡ€Π½Π°Π»Π°.

НастройкитС Π·Π° рСгистриранС Π½Π° Docker сС Π½Π°ΠΌΠΈΡ€Π°Ρ‚ във Ρ„Π°ΠΉΠ»Π° daemon.json.

ΠŸΠΎΠ»Π΅Ρ‚ΠΎ β€œlog-driver” посочва приставката, Π° ΠΏΠΎΠ»Π΅Ρ‚ΠΎ β€œlog-opts” посочва Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ настройки. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎ-Π³ΠΎΡ€Π΅ Π΅ ΡƒΠΊΠ°Π·Π°Π½ ΠΏΠ»ΡŠΠ³ΠΈΠ½ΡŠΡ‚ β€žjson-fileβ€œ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΠΆΡƒΡ€Π½Π°Π»Π° Π΅ β€žmax-sizeβ€œ: β€ž10mβ€œ; ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° броя Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ (настройки Π·Π° ротация) β€” β€žmax-fileβ€œ: β€ž3β€œ; ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ стойноститС, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΈΠΊΠ°Ρ‡Π΅Π½ΠΈ към рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

Някои настройки Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π·Π° ΠΆΡƒΡ€Π½Π°Π» ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Ρ‡Ρ€Π΅Π· ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ Ρ€Π΅Π΄. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π°ΠΊΠΎ трябва Π΄Π° сС стартира ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π·Π° ΠΆΡƒΡ€Π½Π°Π».

Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° схСмата Π·Π° рСгистриранС Π² Docker:

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

Как Ρ€Π°Π±ΠΎΡ‚ΠΈ схСмата: Π”Π½Π΅Π²Π½ΠΈΠΊ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΊΠ°Ρ‚ΠΎ json-Ρ„Π°ΠΉΠ» създава Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. ΠšΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° ΠΆΡƒΡ€Π½Π°Π»ΠΈ (Rsyslog, Fluentd, Logagent ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ) ΡΡŠΠ±ΠΈΡ€Π°Ρ‚ Ρ‚Π΅Π·ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π³ΠΈ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π² Elastic, Sematext ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

Π₯арактСристики Π½Π° рСгистриранС Π² Kubernetes

ΠžΠΏΡ€ΠΎΡΡ‚Π΅Π½ΠΎ, схСмата Π·Π° Π»ΠΎΠ³Π²Π°Π½Π΅ Π² Kubernetes ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°: ΠΈΠΌΠ° ΠΏΠΎΠ΄, Π² Π½Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΡŠΡ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΠΆΡƒΡ€Π½Π°Π»ΠΈ към stdout / stderr. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Docker създава Ρ„Π°ΠΉΠ» ΠΈ записва рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ слСд Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€ΠΎΡ‚ΠΈΡ€Π°.

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

ΠžΠ±ΠΌΠΈΡΠ»Π΅Ρ‚Π΅ характСристикитС Π½Π° рСгистриранС Π² Kubernetes.

Π—Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ внСдряванията. Π’ΠΎΠ²Π° Π΅ прСдпоставка Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈ настройки Π·Π° рСгистриранС. Ако Π½Π΅ Π·Π°ΠΏΠ°Π·Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ внСдряванията, Ρ‚ΠΎΠ³Π°Π²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ бъдС пусната Π½ΠΎΠ²Π° вСрсия Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ прСзаписани, ΠΏΡ€Π΅Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΡΡŠΡ‰ΠΎ Ρ‰Π΅ бъдС изпълнСно със Π·Π°Π³ΡƒΠ±Π° Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Kubernetes ΠΈΠΌΠ° ΠΊΠ»ΡŽΡ‡ --previous, Ρ‚ΠΎΠΉ Π²ΠΈ позволява Π΄Π° ΠΏΡ€Π΅Π³Π»Π΅ΠΆΠ΄Π°Ρ‚Π΅ рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ послСдното рСстартиранС Π½Π° Pod, Π½ΠΎ Π½Π΅ ΠΏΠΎ-дълбоко.

ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ всички инстанции. Ако микроуслугитС сС хостват Π² ΠΎΠ±Π»Π°Ρ†ΠΈΡ‚Π΅, Ρ‚ΠΎΠ³Π°Π²Π° Π΄ΠΎΡΡ‚Π°Π²Ρ‡ΠΈΠΊΡŠΡ‚ Π½Π° ΠΎΠ±Π»Π°ΠΊ Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° систСмата. Ако микроуслугитС са Π½Π° собствСн Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€, Ρ‚ΠΎΠ³Π°Π²Π° Π² допълнСниС към рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ трябва Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅ ΠΈ систСмни рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° нямашС ΡƒΠ΄ΠΎΠ±Π½ΠΈ инструмСнти Π·Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΡ‚ систСмата, Ρ‚Π°ΠΊΠ° ΠΈ ΠΎΡ‚ микроуслугитС. ОбикновСно Сдиният инструмСнт ΡΡŠΠ±ΠΈΡ€Π° систСмни рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Rsyslog), Π° вторият - рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ Docker (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ journal-bit с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π·Π° ΠΆΡƒΡ€Π½Π°Π» Π½Π° Docker, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ Π½Π° journald). ΠžΠΏΠΈΡ‚Π°Ρ…ΠΌΠ΅ сС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ journal-bit - ΡΡŠΠ±ΠΈΡ€Π°ΠΉΡ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ (посочСтС Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π·Π° ΠΆΡƒΡ€Π½Π°Π» Π½Π° Docker, Ρ‡Π΅ трябва Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΆΡƒΡ€Π½Π°Π»ΠΈ Π² journald), Ρ‚Π°ΠΊΠ° ΠΈ ΠΎΡ‚ систСмата (CentOS 7 Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° systemd ΠΈ journald). Π Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π½ΠΎ Π½Π΅ Π΅ ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ‚Π½ΠΎ. Ако ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, journal-bit Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° забавя, ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π° сС губят.

ЕкспСримСнтитС ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ…Π° - ΠΈ бСшС Π½Π°ΠΌΠ΅Ρ€Π΅Π½ Π΄Ρ€ΡƒΠ³ Π½Π°Ρ‡ΠΈΠ½. Π’ CentOS 7 основнитС систСмни рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ (ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΈ) сС Π΄ΡƒΠ±Π»ΠΈΡ€Π°Ρ‚ във var-log ΠΊΠ°Ρ‚ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Docker ΠΌΠΎΠΆΠ΅ ΡΡŠΡ‰ΠΎ Π΄Π° бъдС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ Π΄Π° записва рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² json Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Ρ‚Π΅Π·ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ CentOS 7 ΠΈ Docker ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ сглобСни Π·Π°Π΅Π΄Π½ΠΎ.

Π‘ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ELK Stack стана популярно. Π’ΠΎΠ²Π° Π΅ комбинация ΠΎΡ‚ няколко инструмСнта: Elasticsearch, Logstash ΠΈ Kibana.

Elasticsearch ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Logstash ΡΡŠΠ±ΠΈΡ€Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ инстанции, Kibana Π²ΠΈ позволява Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π»ΠΈ ΠΈ Π΄Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Ρ‚Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ въз основа Π½Π° тях. ELK Stack сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΎΡ‚ извСстно Π²Ρ€Π΅ΠΌΠ΅, Π½ΠΎ спорСд ΠΌΠ΅Π½ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΌΡƒ ΠΌΠΈΠ½Π°Π²Π°. По-късно Ρ‰Π΅ Π²ΠΈ ΠΊΠ°ΠΆΠ° Π·Π°Ρ‰ΠΎ.

Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ. ПодовС, прилоТСния, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ навсякъдС. ОсвСн Ρ‚ΠΎΠ²Π° Π΅Π΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° няколко СкзСмпляра. РСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ са записани Π² ΡΡŠΡ‰ΠΈΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ Π½ΠΈΠ΅ трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ какъв Π²ΠΈΠ΄ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° Π΅, ΠΊΠ°ΠΊΠ²ΠΎ Pod Π³ΠΎ записва, Π² ΠΊΠ°ΠΊΠ²ΠΎ пространство ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° сС Π½Π°ΠΌΠΈΡ€Π°. Π•Ρ‚ΠΎ Π·Π°Ρ‰ΠΎ рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ трябва Π΄Π° добавят ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ.

АнализирайтС рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. БмСшно Π΅, Π½ΠΎ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° систСма Π·Π° рСгистриранС ΠΈ наблюдСниС ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°Π΄Π²ΠΈΡˆΠ°Ρ‚ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° основното ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ дСсСтки ΠΈ стотици хиляди Ρ‚Ρ€ΡƒΠΏΠΈ, лСтящи Π² сСкунда, Ρ‚ΠΎΠ²Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° СстСствСно, Π½ΠΎ всС ΠΏΠ°ΠΊ трябва Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅ линията. Π•Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°Ρ‡ΠΈΠ½ΠΈΡ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΊΡ€Π°ΠΉ Π΅ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

По ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ всички рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, трябва Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ‚Π΅ само част Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ със статус "ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅" ΠΈΠ»ΠΈ "Π³Ρ€Π΅ΡˆΠΊΠ°". Ако Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π½Π° nginx ΠΈΠ»ΠΈ Π²Ρ…ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, Ρ‚ΠΎΠ³Π°Π²Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ само Ρ‚Π΅Π·ΠΈ, Ρ‡ΠΈΠΉΡ‚ΠΎ статус Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΎΡ‚ 200. Но Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ унивСрсалСн ΡΡŠΠ²Π΅Ρ‚: Π°ΠΊΠΎ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈ въз основа Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π½Π° Nginx, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ си струва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡΡŠΠ±Ρ€Π°Π½ΠΈ.

НС сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° нСобмислСно Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π·Π° Π½ΠΎΡ€ΠΌΠ°Π»Π΅Π½ Π°Π½Π°Π»ΠΈΠ·. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π°Π½Π°Π»ΠΈΠ·ΡŠΡ‚ трябва Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ рСгистриранС, Π° Π½Π° Π½ΠΈΠ²ΠΎ ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. Π’ΠΎΠ³Π°Π²Π° Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ стотици хиляди Ρ€Π΅Π΄ΠΎΠ²Π΅ с ΠΊΠΎΠ΄ 200. Π•Π΄ΠΈΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ информация Π·Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ ΠΎΡ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ.

ΠšΠ°Ρ‚ΠΎ цяло Ρ‚ΡƒΠΊ трябва Π΄Π° помислитС Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ: ΠΊΠ°ΠΊΠ²ΠΎ искатС Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ ΠΈ Π·Π° ΠΊΠΎΠ»ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай Ρ‰Π΅ възникнС ситуация, ΠΊΠΎΠ³Π°Ρ‚ΠΎ систСмата Π·Π° рСгистриранС Ρ‰Π΅ ΠΎΡ‚Π½Π΅ΠΌΠ΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ рСсурси ΠΎΡ‚ основния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ВсС ΠΎΡ‰Π΅ няма стандартно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° рСгистриранС. Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΈΠΌΠ° Π΅Π΄Π½ΠΎ Π½Π°ΠΉ-разпространСно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Prometheus, няма стандарт Π·Π° рСгистриранС.

Π’ Ρ‚Π°Π·ΠΈ лСкция Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π²Π° инструмСнта: Сдиният Π΅ популярСн, Π° вторият Π½Π°Π±ΠΈΡ€Π° популярност. Π’ допълнСниС към тях ΠΈΠΌΠ° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ, Π½ΠΎ Π² Ρ‚Π°Π·ΠΈ статия няма Π΄Π° Π³ΠΈ засягамС.

Имайки ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ всички Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, обсъдСни ΠΏΠΎ-Π³ΠΎΡ€Π΅, Π²Π»ΠΈΠ·Π°Π½Π΅Ρ‚ΠΎ Π² Kubernetes Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС прСдставСно ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

Π”Π½Π΅Π²Π½ΠΈΠΊΡŠΡ‚ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° остава, ротация, Π½ΠΎ сС появява Π°Π³Π΅Π½Ρ‚ Π·Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠΉΡ‚ΠΎ Π²Π·ΠΈΠΌΠ° рСгистритС ΠΈ Π³ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ (Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° - Π² Backend Π·Π° рСгистриранС). ΠΠ³Π΅Π½Ρ‚ΡŠΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° всСки възСл ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС изпълнява Π½Π° Kubernetes.

Π‘Π΅Π³Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ инструмСнтитС Π·Π° рСгистриранС.

Π“Ρ€Π°Ρ„Π°Π½Π° Π›ΠΎΠΊΠΈ

Π“Ρ€Π°Ρ„Π°Π½Π° Π›ΠΎΠΊΠΈ сС появи наскоро, Π½ΠΎ Π²Π΅Ρ‡Π΅ стана доста извСстСн. НСговитС прСдимства: лСсСн Π·Π° инсталиранС, консумира ΠΌΠ°Π»ΠΊΠΎ рСсурси, Π½Π΅ изисква инсталиранС Π½Π° Elasticsearch, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ Π² TSDB (Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅). Π’ ΠΌΠΈΠ½Π°Π»Π°Ρ‚Π° статия писах, Ρ‡Π΅ Prometheus ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ Π² Ρ‚Π°ΠΊΠ°Π²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Ρ‚ΠΎΠ²Π° Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΄ΠΎΡ€ΠΈ Ρ‚Π²ΡŠΡ€Π΄ΡΡ‚, Ρ‡Π΅ Π›ΠΎΠΊΠΈ Π΅ β€žΠŸΡ€ΠΎΠΌΠ΅Ρ‚Π΅ΠΉ Π·Π° свСта Π½Π° Π΄ΡŠΡ€Π²ΠΎΠ΄ΠΎΠ±ΠΈΠ²Π°β€œ.

Малко ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π·Π° TSDB Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са Ρ‡Π΅Π»ΠΈ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π° статия: TSDB Π²ΡŠΡ€ΡˆΠΈ страхотна Ρ€Π°Π±ΠΎΡ‚Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ количСства Π΄Π°Π½Π½ΠΈ, Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ сСрии, Π½ΠΎ Π½Π΅ Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅. Ако ΠΏΠΎ някаква ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° трябва Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΄Π²Π΅ сСдмици, Ρ‚ΠΎΠ³Π°Π²Π° Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ ΠΈΠΌ Π² Π΄Ρ€ΡƒΠ³Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

Π”Ρ€ΡƒΠ³ΠΎ прСдимство Π½Π° Loki Π΅, Ρ‡Π΅ Grafana сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° визуализация Π½Π° Π΄Π°Π½Π½ΠΈ. Много Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ: Π² Grafana Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ Π½Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ място, ΠΊΠ°Ρ‚ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ Loki, Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅. Π”Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.

АрхитСктурата Π½Π° Loki ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° DaemonSet сС внСдрява Π°Π³Π΅Π½Ρ‚ Π½Π° всички ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ - Promtail ΠΈΠ»ΠΈ Fluent Bit. ΠΠ³Π΅Π½Ρ‚ΡŠΡ‚ ΡΡŠΠ±ΠΈΡ€Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ. Π›ΠΎΠΊΠΈ Π³ΠΈ Π²Π·Π΅ΠΌΠ° ΠΈ Π³ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π² своята TSDB. ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅ сС добавят Π²Π΅Π΄Π½Π°Π³Π° към рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ: ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΠΎΠ²Π΅, пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π°, ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π΄ΠΎΡ€ΠΈ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ Π·Π° инсталиранС Π½Π° Loki

Loki Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² познатия интСрфСйс Π½Π° Grafana. Loki Π΄ΠΎΡ€ΠΈ ΠΈΠΌΠ° свой собствСн Π΅Π·ΠΈΠΊ Π·Π° заявки, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ LogQL, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΠΎ ΠΈΠΌΠ΅ ΠΈ синтаксис Π½Π° PromQL Π² Prometheus. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ Π½Π° Loki ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ°Π½ΠΈ със заявки, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π³ΠΈ Π·Π½Π°Π΅Ρ‚Π΅ наизуст.

LogQL докумСнтация

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅
Π›ΠΎΠΊΠΈ Π² интСрфСйса Π½Π° Grafana

Използвайки Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈ, Π›ΠΎΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅ (β€ž400β€œ, β€ž404β€œ ΠΈ всякакви Π΄Ρ€ΡƒΠ³ΠΈ); ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ цСлия възСл; Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°ΠΉΡ‚Π΅ всички рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈ Π΄ΡƒΠΌΠ°Ρ‚Π° "Π³Ρ€Π΅ΡˆΠΊΠ°". Ако Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ Π΄Π½Π΅Π²Π½ΠΈΠΊΠ°, Ρ‰Π΅ сС ΠΎΡ‚Π²ΠΎΡ€ΠΈ ΠΊΠ°Ρ€Ρ‚Π° с цялата информация Π·Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ.

Π›ΠΎΠΊΠΈ ΠΈΠΌΠ° Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΈ позволяват Π΄Π° ΠΈΠ·Π²Π°Π΄ΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Ρ‚Ρ€ΡƒΠΏΠΈ, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅, чСстно ΠΊΠ°Π·Π°Π½ΠΎ, тСхничСски ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅. Π‘Π΅Π³Π° Π›ΠΎΠΊΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ сС Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΈ Π½Π°Π±ΠΈΡ€Π° популярност.

Elastic + Fluent Bit + Kibana (EFK Stack)

EFK ΡΡ‚Π΅ΠΊΡŠΡ‚ Π΅ ΠΏΠΎ-класичСски, Π½ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° популярСн инструмСнт Π·Π° рСгистриранС.

Π’ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° статията бСшС спомСнат ELK (Elasticsearch + Logstash + Kibana), Π½ΠΎ Ρ‚ΠΎΠ·ΠΈ стСк Π΅ остарял ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ продуктивния ΠΈ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Ρ€Π΅ΡΡƒΡ€ΡΠΎΠ΅ΠΌΡŠΠΊ Logstash. ВмСсто Ρ‚ΠΎΠ²Π° Ρ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠΎ-лСкия ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π΅Π½ Fluentd ΠΈ слСд извСстно Π²Ρ€Π΅ΠΌΠ΅ Ρ‚ΠΎΠΉ Π΄ΠΎΠΉΠ΄Π΅ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ ПлавСн Π±ΠΈΡ‚ - ΠΎΡ‰Π΅ ΠΏΠΎ-Π»Π΅ΠΊ ΠΈ ΠΎΡ‰Π΅ ΠΏΠΎ-ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π΅Π½ Π°Π³Π΅Π½Ρ‚-ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€.

Π‘ΠΏΠΎΡ€Π΅Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, Fluent Bit Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 100 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π΄ΠΎΠ±ΡŠΡ€ Π² производитСлността ΠΎΡ‚ Fluentd: β€žΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Fluentd консумира 20 MB RAM, Fluent Bit Ρ‰Π΅ консумира 150 KBβ€œ - Π΄ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ Ρ†ΠΈΡ‚Π°Ρ‚ ΠΎΡ‚ докумСнтацията. Π“Π»Π΅Π΄Π°ΠΉΠΊΠΈ Ρ‚ΠΎΠ²Π°, Fluent Bit стана ΠΏΠΎ-ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½.

Fluent Bit ΠΈΠΌΠ° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ Fluentd, Π½ΠΎ ΠΏΠΎΠΊΡ€ΠΈΠ²Π° основнитС Π½ΡƒΠΆΠ΄ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΌΠ½ΠΎ Fluent Bit.

Как Ρ€Π°Π±ΠΎΡ‚ΠΈ ΡΡ‚Π΅ΠΊΡŠΡ‚ EFK: Π°Π³Π΅Π½Ρ‚ΡŠΡ‚ ΡΡŠΠ±ΠΈΡ€Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ всички ΠΏΠΎΠ΄ΠΎΠ²Π΅ (ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ DaemonSet, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ Π½Π° всички ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ) ΠΈ Π³ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (Elasticsearch, PostgreSQL ΠΈΠ»ΠΈ Kafka). Kibana сС ΡΠ²ΡŠΡ€Π·Π²Π° с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ ΠΈ ΠΈΠ·Π²Π»ΠΈΡ‡Π° цялата Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° информация ΠΎΡ‚ Ρ‚Π°ΠΌ.

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

Kibana прСдставя информация Π² ΡƒΠ΄ΠΎΠ±Π΅Π½ Π·Π° потрСбитСля ΡƒΠ΅Π± интСрфСйс. Има Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈ, Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈ ΠΈ Π΄Ρ€.

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

Π”Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° създаванС Π½Π° Ρ†Π΅Π»ΠΈ Ρ‚Π°Π±Π»Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Fluent Bit

Въй ΠΊΠ°Ρ‚ΠΎ Fluent Bit ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС Ρ‡ΡƒΠ²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ Logstash, Π½Π΅ΠΊΠ° Π³ΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-ΠΎΡ‚Π±Π»ΠΈΠ·ΠΎ. Fluent Bit ΠΌΠΎΠΆΠ΅ логичСски Π΄Π° бъдС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° 6 ΠΌΠΎΠ΄ΡƒΠ»Π°, ΠΊΠ°Ρ‚ΠΎ към някои ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΈΠΊΠ°Ρ‡Π΅Π½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Ρ‚ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Fluent Bit.

РСгистриранС Π² Kubernetes: ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

Π’Ρ…ΠΎΠ΄Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ» ΡΡŠΠ±ΠΈΡ€Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, систСмни услуги ΠΈ Π΄ΠΎΡ€ΠΈ ΠΎΡ‚ tcp-сокСт (просто трябва Π΄Π° посочитС ΠΊΡ€Π°ΠΉΠ½Π° Ρ‚ΠΎΡ‡ΠΊΠ° ΠΈ Fluent Bit Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ Π΄Π° ΠΎΡ‚ΠΈΠ²Π° Ρ‚Π°ΠΌ). Π’Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π·Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΡ‚ систСмата, Ρ‚Π°ΠΊΠ° ΠΈ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅.

Π’ производството Π½Π°ΠΉ-чСсто ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ плъгини опашка (ΠΌΠΎΠΆΠ΅ Π΄Π° сС настрои Π² ΠΏΠ°ΠΏΠΊΠ° с рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅) ΠΈ systemd (ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΡƒ сС ΠΊΠ°ΠΆΠ΅ ΠΎΡ‚ ΠΊΠΎΠΈ услуги Π΄Π° ΡΡŠΠ±ΠΈΡ€Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅).

ΠŸΠ°Ρ€ΡΠ΅Ρ€ ΠΌΠΎΠ΄ΡƒΠ» ΠΏΡ€ΠΈΠ²Π΅ΠΆΠ΄Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π² ΠΎΠ±Ρ‰ ΠΈΠ·Π³Π»Π΅Π΄. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Nginx са Π½ΠΈΠ·. Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° приставката Ρ‚ΠΎΠ·ΠΈ Π½ΠΈΠ· ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½ Π² JSON: Π·Π°Π΄Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»Π΅Ρ‚Π°Ρ‚Π° ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ стойности. Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° с JSON Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-лСсна ΠΎΡ‚ Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ° ΠΏΠΎ-гъвкави ΠΎΠΏΡ†ΠΈΠΈ Π·Π° сортиранС.

Π€ΠΈΠ»Ρ‚ΡŠΡ€Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ». На Ρ‚ΠΎΠ²Π° Π½ΠΈΠ²ΠΎ сС Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Ρ‚ Π½Π΅Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. НапримСр рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ само със стойността β€žΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅β€œ ΠΈΠ»ΠΈ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ. Π˜Π·Π±Ρ€Π°Π½ΠΈΡ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ сС Π±ΡƒΡ„Π΅Ρ€ΠΈΡ€Π°Ρ‚.

Π‘ΡƒΡ„Π΅Ρ€Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ». Fluent Bit ΠΈΠΌΠ° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Π±ΡƒΡ„Π΅Ρ€: Π±ΡƒΡ„Π΅Ρ€ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ Π±ΡƒΡ„Π΅Ρ€ Π½Π° диска. Π‘ΡƒΡ„Π΅Ρ€ΡŠΡ‚ Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² случай Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ. ВсСки иска Π΄Π° спСсти ΠΎΡ‚ RAM, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·Π±ΠΈΡ€Π° дисков Π±ΡƒΡ„Π΅Ρ€. Но ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΎΡ‚ΠΈΠ΄Π°Ρ‚ Π½Π° диска, рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ всС ΠΎΡ‰Π΅ сС Ρ€Π°Π·Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Ρ‚ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°.

ΠœΠΎΠ΄ΡƒΠ» Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅/ΠΈΠ·Ρ…ΠΎΠ΄ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ адрСси Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. ΠšΠ°ΠΊΡ‚ΠΎ Π²Π΅Ρ‡Π΅ спомСнахмС, рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π΄ΠΎ Elasticsearch, PostgreSQL ΠΈΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Kafka.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎΡ‚ΠΎ Π΅, Ρ‡Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΎΡ‚ Fluent Bit към Fluentd. Въй ΠΊΠ°Ρ‚ΠΎ ΠΏΡŠΡ€Π²ΠΈΡΡ‚ Π΅ ΠΏΠΎ-Π»Π΅ΠΊ ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΡ€Π΅Π· Π½Π΅Π³ΠΎ ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚Π΅ Π½Π° Fluentd ΠΈ Π²Π΅Ρ‡Π΅ Ρ‚Π°ΠΌ, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ плъгини, Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

Ако ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Elasticsearch...

И накрая, Π΄Π²Π° ΡΡŠΠ²Π΅Ρ‚Π° Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Elasticsearch ΠΊΠ°Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° ΠΆΡƒΡ€Π½Π°Π»ΠΈ Π² производството.

  1. НастройтС сигнали с ElastAlert. Π’Π°Π·ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π° Π²Π°ΠΆΠ½ΠΈ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΎΡ‚ общия ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΡ‚ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° прСдупрСТдСния Π·Π° тях Π² ΠΏΠΎΡ‰Π°Ρ‚Π° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ ΠΊΠ°Π½Π°Π». Вярно, Π½Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΎΡ‚Π΄Π°Π²Π½Π° Ρ‚ΡŠΠΆΠ½Π° Π½ΠΎΠ²ΠΈΠ½Π°, Ρ‡Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ скоро Π΄Π° спрС Π΄Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°.
  2. Π—Π°Π²ΡŠΡ€Ρ‚Π΅Ρ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΠΎΠΏΠ΅Ρ‡ΠΈΡ‚Π΅Π» ΠΈΠ»ΠΈ извиквания към API Π½Π° Elasticsearch. Π‘Π°ΠΌΠ°Ρ‚Π° Elastic ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π²Π΅Ρ‡Π΅ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΡ‚Π° Π½Π° индСкситС Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° инструмСнти Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни. ΠšΠ°Ρ‚ΠΎ цяло няма смисъл Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ дълго Π²Ρ€Π΅ΠΌΠ΅: ΠΌΠ°Π»ΠΊΠΎ вСроятно Π΅ Π΄Π° ΠΈΠΌΠ° Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π΄Π½Π΅Π²Π½ΠΈΠΊ слСд Π΄Π²Π΅ сСдмици - Π°ΠΊΠΎ Π΅ наистина ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½, Ρ‚ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Ρ‰Π΅ бъдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Π·Π° Π΄Π²Π΅ сСдмици. Π’ СкстрСмни случаи старитС рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ някъдС Π·Π° Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅. Π§ΡƒΡ… Π·Π° спСциални Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎ Π·Π°ΠΊΠΎΠ½ трябва Π΄Π° сС пазят Π΄ΠΎ 5 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Π›ΠΈΡ‡Π½ΠΎ Π°Π· Π½Π΅ съм срСщал Ρ‚ΠΎΠ²Π°, Π½ΠΎ Π½Π΅ Π±ΠΈΡ… приравнявал Ρ‚Π°ΠΊΠ°Π²Π° информация с ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π΄ΠΎΡ€ΠΈ Π΄Π° Π³ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ.

Π—Π° Π΄Π° сС ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ ...

Автор: ΠœΠ°Ρ€ΡΠ΅Π» Π˜Π±Ρ€Π°Π΅Π², сСртифициран Kubernetes администратор, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠ²Π°Ρ‰ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Π² компанията Southbridge, Π»Π΅ΠΊΡ‚ΠΎΡ€ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° курсовС Π¨ΡƒΡ€ΠΌ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€