Π Π°Π·Π±ΠΎΡ€ ΠΏΠΎ составу слова ΠΎΠ±Ρ€Π°Π·Π΅Ρ†: ΠžΠ±Ρ€Π°Π·Π΅Ρ† β€” Ρ€Π°Π·Π±ΠΎΡ€ слова ΠΏΠΎ составу (ΠΌΠΎΡ€Ρ„Π΅ΠΌΠ½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π Π°Π·Π±ΠΎΡ€ слов ΠΏΠΎ составу

Π Π°Π·Π±ΠΎΡ€ слова ΠΏΠΎ составу

Π’ΠΈΠΏ лингвистичСского Π°Π½Π°Π»ΠΈΠ·Π°, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ опрСдСляСтся структура слова, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ состав, называСтся ΠΌΠΎΡ€Ρ„Π΅ΠΌΠ½Ρ‹ΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ.

Π’ΠΈΠ΄Ρ‹ ΠΌΠΎΡ€Ρ„Π΅ΠΌ

Π’ русском языкС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΡ€Ρ„Π΅ΠΌΡ‹:

β€” ΠšΠΎΡ€Π΅Π½ΡŒ. Π’ Π½Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ самого слова. Π‘Π»ΠΎΠ²Π°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ, ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠΊΠΎΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ. Иногда слово ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π²Π° ΠΈ Π΄Π°ΠΆΠ΅ Ρ‚Ρ€ΠΈ корня.
β€” Буффикс. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠ΄Π΅Ρ‚ послС корня ΠΈ слуТит инструмСнтом для образования Π΄Ρ€ΡƒΠ³ΠΈΡ… слов. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Β«Π³Ρ€ΠΈΠ±Β» ΠΈ Β«Π³Ρ€ΠΈΠ±Π½ΠΈΠΊΒ». Π’ словС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько суффиксов, Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ совсСм.
β€” ΠŸΡ€ΠΈΡΡ‚Π°Π²ΠΊΠ°. Находится ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ€Π½Π΅ΠΌ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.
β€” ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅. Π’Π° Ρ‡Π°ΡΡ‚ΡŒ слова, которая измСняСтся ΠΏΡ€ΠΈ склонСнии ΠΈΠ»ΠΈ спряТСнии.
β€” Основа. Π§Π°ΡΡ‚ΡŒ слова, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ относятся всС ΠΌΠΎΡ€Ρ„Π΅ΠΌΡ‹, ΠΊΡ€ΠΎΠΌΠ΅ окончания.

Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΡ€Ρ„Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π±ΠΎΡ€Π°

Π’ русском языкС Ρ€Π°Π·Π±ΠΎΡ€ слова ΠΏΠΎ составу ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ΅Π½, вСдь Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ написания слова Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΡ€Ρ„Π΅ΠΌΡ‹ являСтся провСряСмая Π±ΡƒΠΊΠ²Π°.

МногиС ΠΏΡ€Π°Π²ΠΈΠ»Π° русского языка построСны Π½Π° этой зависимости.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π΄Π²Π° слова: Β«Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉΒ» ΠΈ «чСрвячок». ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π½Π° мСстС ΡƒΠ΄Π°Ρ€Π½ΠΎΠΉ гласной ΠΌΡ‹ пишСм Β«Ρ‘Β», Π° Π½Π΅ Β«ΠΎΒ», ΠΊΠ°ΠΊ Π² словС «чСрвячок»? НуТно Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ написания Π±ΡƒΠΊΠ² Β«Ρ‘Β», Β«Π΅Β», Β«ΠΎΒ» послС ΡˆΠΈΠΏΡΡ‰ΠΈΡ…, стоящих Π² ΠΊΠΎΡ€Π½Π΅ слова. Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ слова Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ родствСнноС Π΅ΠΌΡƒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Β«Ρ‘Β» Ρ‡Π΅Ρ€Π΅Π΄ΠΎΠ²Π°Π»Π°ΡΡŒ с Β«Π΅Β», Ρ‚ΠΎΠ³Π΄Π° слСдуСт ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρƒ Β«Ρ‘Β» (Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ β€” Ρ‡Π΅Ρ€Π½Π΅Ρ‚ΡŒ). Если Ρ‡Π΅Ρ€Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ отсутствуСт, Ρ‚ΠΎΠ³Π΄Π° ставится Π±ΡƒΠΊΠ²Π° Β«ΠΎΒ» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡ΠΎΠΊΠ°Ρ‚ΡŒΡΡ, ΡˆΠΎΡ€Ρ‚Ρ‹).

Π’ случаС ΠΆΠ΅ со словом «чСрвячок» Β«-ΠΎΠΊ-Β» β€” это суффикс. ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² суффиксах, Ссли стоящая послС ΡˆΠΈΠΏΡΡ‰ΠΈΡ… Π±ΡƒΠΊΠ² гласная находится ΠΏΠΎΠ΄ ΡƒΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ΠΌ, всСгда ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Β«ΠΎΒ» (Π·Ρ€Π°Ρ‡ΠΎΠΊ, снСТок), Π² Π±Π΅Π·ΡƒΠ΄Π°Ρ€Π½ΠΎΠΌ случаС β€” Β«Π΅Β» (ΠΏΠ»Π°Ρ‚ΠΎΡ‡Π΅ΠΊ, ΠΊΠ°Ρ€ΠΌΠ°ΡˆΠ΅ΠΊ).

Как Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ слово ΠΏΠΎ составу

Для ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠΎΡ€Ρ„Π΅ΠΌΠ½ΠΎ-орфографичСскиС словари. МоТно Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ Ρ‚Π°ΠΊΠΈΡ… Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠ°ΠΊ Π’ΠΈΡ…ΠΎΠ½ΠΎΠ² А.Н.

, ОТСгов Π‘.И., Рацибурская Π›.Π’.

Π’ любом словС Π½Π΅ΠΏΡ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΈ основа. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΡ€Ρ„Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ. Иногда слово Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· корня (ΠΈΠ»ΠΈ основы): Β«Π³Ρ€ΠΈΠ±Β», Β«Ρ‡Π°ΠΉΒ» ΠΈ Ρ‚.Π΄.

Π­Ρ‚Π°ΠΏΡ‹ ΠΌΠΎΡ€Ρ„Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΡ€Ρ„Π΅ΠΌΠ½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€ слов Π±Ρ‹Π»ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ, слСдуСт ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

β€” Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π΅Ρ‡ΠΈ, Π·Π°Π΄Π°Π² вопрос ΠΊ слову. Для ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ вопрос Β«ΠΊΠ°ΠΊΠΎΠΉ?Β», для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ β€” Β«Ρ‡Ρ‚ΠΎ?Β» ΠΈΠ»ΠΈ Β«ΠΊΡ‚ΠΎ?Β».
β€” Π—Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ Π½Π°ΠΉΡ‚ΠΈ, слово Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΊΠ»ΠΎΠ½ΡΡ‚ΡŒ ΠΏΠΎ ΠΏΠ°Π΄Π΅ΠΆΠ°ΠΌ, Ссли Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π΅Ρ‡ΠΈ это позволяСт. НапримСр, Π½Π°Ρ€Π΅Ρ‡ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊ нСльзя, поэтому Ρƒ Π½Π΅Π³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ окончания.
β€” Π”Π°Π»Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ основу Ρƒ слова. ВсС, ΠΊΡ€ΠΎΠΌΠ΅ окончания, β€” основа.
β€” ΠŸΠΎΡ‚ΠΎΠΌ слСдуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Π΅Π½ΡŒ, ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π² родствСнныС ΠΎΠ΄Π½ΠΎΠΊΠΎΡ€Π΅Π½Π½Ρ‹Π΅ слова.

β€” ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ приставка, Π° ΠΏΠΎΡ‚ΠΎΠΌ суффиксы (ΠΏΡ€ΠΈ ΠΈΡ… Π½Π°Π»ΠΈΡ‡ΠΈΠΈ).

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π°

Иногда ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΌΠΎΡ€Ρ„Π΅ΠΌΠ½ΠΎΠΌΡƒ Ρ€Π°Π·Π±ΠΎΡ€Ρƒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… унивСрситСта ΠΈ ΡˆΠΊΠΎΠ»Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. Π’ΠΎ всСх случаях различия Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΎ Π½Π° сущСствованиС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ стоит ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΌΠΎΡ€Ρ„Π΅ΠΌΠ½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ.

Волько Ρ‡Ρ‚ΠΎ искали: мимчаня сСйчас ΠΈ ΠΎ Π½ с Π° Ρ‚ сСйчас Π» ΠΎ Ρ‚ Π» с Ρ€ ь сСйчас ΠΎ Ρ‡ ΠΌ ΠΈ Π΅ ΠΏ Π½ сСйчас ΠΌ Π° с Ρ‚ Π΅ Ρ€ сСйчас рСносиза сСйчас смосарСва сСйчас Π»ΠΎΠ²ΡƒΡˆΠΊΠ° сСйчас тСслоо 1 сСкунда Π½Π°Π·Π°Π΄ Π΅-ΠΊ-Π»-Π°-Π²-ΠΈ-Π½-ΠΎ-ΠΈ 1 сСкунда Π½Π°Π·Π°Π΄ ΠΊΠΎΡ€Π²Π΅Ρ‚Π· 1 сСкунда Π½Π°Π·Π°Π΄ ΠΏ ΠΎ Ρ‚ ь ΠΊ Ρƒ с с 1 сСкунда Π½Π°Π·Π°Π΄ Π·Π°Π±ΠΎΡ€ 1 сСкунда Π½Π°Π·Π°Π΄ скакунл 1 сСкунда Π½Π°Π·Π°Π΄ ряйкааму 2 сСкунды Π½Π°Π·Π°Π΄

Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°

wordmap

Данная страница Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΈΠ»ΠΈ Π±Ρ‹Π»Π° ΡƒΠ΄Π°Π»Π΅Π½Π°.

Волько Ρ‡Ρ‚ΠΎ искали:

ильяш 6 сСкунд Π½Π°Π·Π°Π΄

Π»Π°Ρ† 8 сСкунд Π½Π°Π·Π°Π΄

Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° 9 сСкунд Π½Π°Π·Π°Π΄

Π»ΠΈΠΎ 10 сСкунд Π½Π°Π·Π°Π΄

кастрация 11 сСкунд Π½Π°Π·Π°Π΄

илляш 12 сСкунд Π½Π°Π·Π°Π΄

ΠΈΠ·Π΄ΠΈΡ€Π°Π΅ΠΌΡ‹ΠΉ 14 сСкунд Π½Π°Π·Π°Π΄

Ρ†Π΅ΠΏΠ»ΡΡŽ 17 сСкунд Π½Π°Π·Π°Π΄

карлсон 18 сСкунд Π½Π°Π·Π°Π΄

распродаТа 18 сСкунд Π½Π°Π·Π°Π΄

голяш 18 сСкунд Π½Π°Π·Π°Π΄

дСкстрин 18 сСкунд Π½Π°Π·Π°Π΄

Π»Π°Ρ… 23 сСкунды Π½Π°Π·Π°Π΄

Π»ΡŽΡ„ 24 сСкунды Π½Π°Π·Π°Π΄

элляш 26 сСкунд Π½Π°Π·Π°Π΄

ПослСдниС ΠΈΠ³Ρ€Ρ‹ Π² словабалдучСпуху

Имя Π‘Π»ΠΎΠ²ΠΎ Π£Π³Π°Π΄Π°Π½ΠΎ ВрСмя ΠžΡ‚ΠΊΡƒΠ΄Π°
Π˜Π³Ρ€ΠΎΠΊ 1 Π±Π΅Π·ΡƒΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ 6 слов 45 сСкунд Π½Π°Π·Π°Π΄ 46.
61.5.240
Π˜Π³Ρ€ΠΎΠΊ 2 Π·Π°Π½ΡƒΠ·Π΄Ρ‹Π²Π°Π½ΠΈΠ΅ 6 слов 6 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄ 46.61.5.240
Π˜Π³Ρ€ΠΎΠΊ 3 ΠΏΠΎΠ΄ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ 110 слов 1 час Π½Π°Π·Π°Π΄ 95.29.164.27
Π˜Π³Ρ€ΠΎΠΊ 4 Ρ‚ΡƒΡ€Π±ΠΎΠ°Π³Ρ€Π΅Π³Π°Ρ‚ 0 слов 5 часов Π½Π°Π·Π°Π΄ 95.153.179.57
Π˜Π³Ρ€ΠΎΠΊ 5 Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° ΠΊ 1 слово 9 часов Π½Π°Π·Π°Π΄ 46.29.192.203
Π˜Π³Ρ€ΠΎΠΊ 6 ромс 0 слов 1 дСнь Π½Π°Π·Π°Π΄ 128.204.71.38
Π˜Π³Ρ€ΠΎΠΊ 7 Π»ΠΈΠ·Π° 0 слов 1 дСнь Π½Π°Π·Π°Π΄ 128.204.71.38
Π˜Π³Ρ€Π°Ρ‚ΡŒ Π² Π‘Π»ΠΎΠ²Π°!
Имя Π‘Π»ΠΎΠ²ΠΎ Π‘Ρ‡Π΅Ρ‚ ΠžΡ‚ΠΊΡƒΠ΄Π°
Π˜Π³Ρ€ΠΎΠΊ 1 Ρ‚Ρ‹Π½ΠΎΠΊ 40:35 5 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄ 89. 113.139.0
Π˜Π³Ρ€ΠΎΠΊ 2 Π½Ρ‹Ρ€ΠΎΠΊ 50:47 9 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄ 95.153.162.217
Π˜Π³Ρ€ΠΎΠΊ 3 чирус 52:53 11 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄ 89.113.139.0
Π˜Π³Ρ€ΠΎΠΊ 4 стуТа 48:50 16 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄ 178.35.33.81
Π˜Π³Ρ€ΠΎΠΊ 5 ΠΌΠΈΠ»ΡŒΡ‚ 52:48 17 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄ 89.113.139.0
Π˜Π³Ρ€ΠΎΠΊ 6
ΠΈΠ΄ΠΈΠΎΠΌ
50:47 24 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π°Π·Π°Π΄ 89.113.139.0
Π˜Π³Ρ€ΠΎΠΊ 7 Π³Ρ€ΡƒΠ½Ρ‚ 15:12 27 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄ 178.72.78.150
Π˜Π³Ρ€Π°Ρ‚ΡŒ Π² Π‘Π°Π»Π΄Ρƒ!
Имя Π˜Π³Ρ€Π° Вопросы ΠžΡ‚ΠΊΡƒΠ΄Π°
Киса На Π΄Π²ΠΎΠΈΡ… 10 вопросов 4 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π°Π·Π°Π΄ 89. 23.105.215
ΠŸΠΈΠ΄ΠΎΡ€Π°Ρ На Π΄Π²ΠΎΠΈΡ… 15 вопросов 47 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π°Π·Π°Π΄ 109.62.184.180
Алина На ΠΎΠ΄Π½ΠΎΠ³ΠΎ 20 вопросов 4 часа Π½Π°Π·Π°Π΄ 176.59.195.231
Алина На ΠΎΠ΄Π½ΠΎΠ³ΠΎ 20 вопросов 6 часов Π½Π°Π·Π°Π΄ 176.59.195.231
Алинус На ΠΎΠ΄Π½ΠΎΠ³ΠΎ 10 вопросов 7 часов Π½Π°Π·Π°Π΄ 92.255.135.254
Алинус На ΠΎΠ΄Π½ΠΎΠ³ΠΎ 10 вопросов 7 часов Π½Π°Π·Π°Π΄ 92.255.135.254
Π”Π΅Π΄ Афанасий На ΠΎΠ΄Π½ΠΎΠ³ΠΎ 10 вопросов 7 часов Π½Π°Π·Π°Π΄ 176.59.199.26
Π˜Π³Ρ€Π°Ρ‚ΡŒ Π² Π§Π΅ΠΏΡƒΡ…Ρƒ!
ΠšΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π½Π°Π²Ρ‹ΠΊ извлСчСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

β€” ΠšΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ поиск Azure

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

Π’Π²ΠΈΡ‚Ρ‚Π΅Ρ€ LinkedIn ЀСйсбук ЭлСктронная ΠΏΠΎΡ‡Ρ‚Π°

  • Π‘Ρ‚Π°Ρ‚ΡŒΡ

Навык Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ содСрТимоС ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ обогащСния. Π­Ρ‚ΠΎ позволяСт Π²Π°ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ шагом извлСчСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ происходит ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π½Π°Π±ΠΎΡ€Π° Π½Π°Π²Ρ‹ΠΊΠΎΠ² с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Π­Ρ‚ΠΎΡ‚ Π½Π°Π²Ρ‹ΠΊ Π½Π΅ привязан ΠΊ Cognitive Services ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π° Cognitive Services. Π­Ρ‚ΠΎΡ‚ Π½Π°Π²Ρ‹ΠΊ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ тСкст ΠΈ изобраТСния. Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ тСкста бСсплатно. Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ измСряСтся ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ поиском Azure. Π’ бСсплатной слуТбС поиска ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ 20 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π½Π° индСксатора Π² дСнь поглощаСтся, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ бСсплатно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ руководства, ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ пособия ΠΈ нСбольшиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Для Π±Π°Π·ΠΎΠ²Ρ‹Ρ…, стандартных ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… вСрсий ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ оплачиваСтся.

@odata.type

Microsoft.Skills.Util.DocumentExtractionSkill

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

DocumentExtractionSkill ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ тСкст ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ²:

  • CSV (см. Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² CSV)
  • Π­ΠœΠ›
  • EPUB
  • Π“Π—
  • HTML
  • JSON (см. Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² JSON)
  • KML (XML для гСографичСских прСдставлСний)
  • Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Microsoft Office: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG (элСктронныС сообщСния Outlook), XML (2003 ΠΈ 2006 WORD XML)
  • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²: ODT, ODS, ODP
  • ΠŸΠ”Π€
  • Π€Π°ΠΉΠ»Ρ‹ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ тСкстом (см. Ρ‚Π°ΠΊΠΆΠ΅ Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ простого тСкста)
  • Π Π’Π€
  • XML
  • ΠŸΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ индСкс

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π½Π°Π²Ρ‹ΠΊΠΎΠ²

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ вводятся с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра.

Π’Ρ…ΠΎΠ΄Ρ‹
ДопустимыС значСния ОписаниС
Π Π΅ΠΆΠΈΠΌ Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ тСкст json УстановитС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для извлСчСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ чистым тСкстом ΠΈΠ»ΠΈ json. Для исходных Ρ„Π°ΠΉΠ»ΠΎΠ², содСрТащих Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»Ρ‹ PDF, HTML, RTF ΠΈ Microsoft Office), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для извлСчСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкста Π±Π΅Π· языка Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈΠ»ΠΈ Ρ‚Π΅Π³ΠΎΠ². Если parsingMode явно Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, для Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ . УстановитС тСкст , Ссли исходныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ TXT. Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с тСкстовыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Если Ρ„Π°ΠΉΠ»Ρ‹ содСрТат Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ, этот Ρ€Π΅ΠΆΠΈΠΌ сохранит Ρ‚Π΅Π³ΠΈ Π² ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π΅. УстановитС Π½Π° json для извлСчСния структурированного содСрТимого ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² json.
Π΄Π°Π½Π½Ρ‹Π΅ для извлСчСния содСрТимоС ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ всС ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ УстановитС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ contentAndMetadata , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ всС ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ тСкстовоС содСрТимоС ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Если dataToExtract Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ явно, для Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ contentAndMetadata . УстановитС allMetadata , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свойства ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… для Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ„Π°ΠΉΠ»ΠΎΠ² .png).
конфигурация Π‘ΠΌ. Π½ΠΈΠΆΠ΅. Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… способ извлСчСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ описания ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… свойств ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ДопустимыС значСния ОписаниС
imageAction Π½Π΅Ρ‚ generateNormalizedImages generateNormalizedImagePerPage УстановитС Π½Π° Π½Π΅Ρ‚ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС изобраТСния ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ»ΠΈ Ссли исходныС Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Для оптичСского распознавания символов ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ установитС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ generateNormalizedImages , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массив Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ Π²Π·Π»ΠΎΠΌΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π­Ρ‚ΠΎ дСйствиС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ для parsingMode Π±Ρ‹Π»ΠΎ установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ , Π° для dataToExtract Π±Ρ‹Π»ΠΎ установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 9.0080 содСрТимоС ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ . НормализованноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ относится ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, приводящСй ΠΊ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½ΠΎΠΌΡƒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΈ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Ρƒ для обСспСчСния согласованной Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ изобраТСния Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ поиска (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² графичСском элСмСнтС управлСния, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² дСмонстрации JFK). Π­Ρ‚Π° информация гСнСрируСтся для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ изобраТСния ΠΏΡ€ΠΈ использовании этой ΠΎΠΏΡ†ΠΈΠΈ. Если Π²Ρ‹ установитС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ generateNormalizedImagePerPage , Ρ„Π°ΠΉΠ»Ρ‹ PDF Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ вмСсто извлСчСния встроСнных ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ каТдая страница Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’ΠΈΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ PDF, Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ 9Π‘Ρ‹Π» установлСн 0080 generateNormalizedImages .
Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉImageMaxWidth Π›ΡŽΠ±ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число ΠΎΡ‚ 50 Π΄ΠΎ 10000 Максимальная ΡˆΠΈΡ€ΠΈΠ½Π° (Π² пиксСлях) для Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 2000.
Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉImageMaxHeight Π›ΡŽΠ±ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число ΠΎΡ‚ 50 Π΄ΠΎ 10000 Максимальная высота (Π² пиксСлях) для Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 2000.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 2000 пиксСлСй для максимальной ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ изобраТСния основано Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π½Π°Π²Ρ‹ΠΊΠΎΠΌ OCR ΠΈ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π° изобраТСния. Навык OCR ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту 4200 для языков, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ английского, ΠΈ 10000 для английского. Если Π²Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ ошибкой Π² ​​зависимости ΠΎΡ‚ опрСдСлСния вашСго Π½Π°Π±ΠΎΡ€Π° Π½Π°Π²Ρ‹ΠΊΠΎΠ² ΠΈ языка Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΎΠ²

Имя Π²Ρ…ΠΎΠ΄Π° ОписаниС
Ρ„Π°ΠΉΠ»_Π΄Π°Π½Π½Ρ‹Π΅ Π€Π°ΠΉΠ», ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ слСдуСт ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ содСрТимоС.

Π’Π²ΠΎΠ΄ Β«file_dataΒ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΊΠ°ΠΊ:

 {
  "$Ρ‚ΠΈΠΏ": "Ρ„Π°ΠΉΠ»",
  "data": "Π‘Ρ‚Ρ€ΠΎΠΊΠ° Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ BASE64"
}
 

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ:

 {
  "$Ρ‚ΠΈΠΏ": "Ρ„Π°ΠΉΠ»",
  "url": "URL для скачивания Ρ„Π°ΠΉΠ»Π°",
  "sasToken": "ΠΠ•ΠžΠ‘Π―Π—ΠΠ’Π•Π›Π¬ΠΠž: Ρ‚ΠΎΠΊΠ΅Π½ SAS для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ подлинности, Ссли прСдоставлСнный URL-адрСс относится ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ BLOB-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
}
 

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ссылки Π½Π° Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… способов:

  • Установка для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° allowSkillsetToReadFileData Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ индСксатора значСния Β«trueΒ». Π­Ρ‚ΠΎ создаст ΠΏΡƒΡ‚ΡŒ /document/file_data , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ исходныС Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Π°, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ· вашСго источника Π΄Π°Π½Π½Ρ‹Ρ… BLOB-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ примСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ BLOB-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

  • Установка для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° imageAction Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ вашСго индСксатора значСния, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΡ‚ Π½Π΅Ρ‚ . Π­Ρ‚ΠΎ создаСт массив ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΌΡƒ соглашСнию для Π²Π²ΠΎΠ΄Π° Π² этот Π½Π°Π²Ρ‹ΠΊ, Ссли пСрСдаСтся ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ /document/normalized_images/* ).

  • Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π½Π°Π²Ρ‹ΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ json, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ВОЧНО, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ $type Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π° Ρ„Π°ΠΉΠ» , Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ data Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎ основанию 64 Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌ массивом Π΄Π°Π½Π½Ρ‹Ρ… содСрТимого Ρ„Π°ΠΉΠ»Π°, ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ url Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ URL-адрСсом с доступом для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ» Π² этом мСстС.

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠ°

НазваниС Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала ОписаниС
содСрТаниС ВСкстовоС содСрТимоС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.
normalized_images Если для imageAction Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ none , Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ normalized_images Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ массив ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ тСкста ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

ΠžΠ±Ρ€Π°Π·Π΅Ρ† опрСдСлСния

 {
    "@odata.type": "#Microsoft.Skills.Util.DocumentExtractionSkill",
    "parsingMode": "ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ",
    "dataToExtract": "ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅",
    "конфигурация": {
        "imageAction": "Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ изобраТСния",
        "Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉImageMaxWidth": 2000,
        "Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉImageMaxHeight": 2000
    },
    "контСкст": "/Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚",
    "Π²Ρ…ΠΎΠ΄Ρ‹": [
      {
        "имя": "Ρ„Π°ΠΉΠ»_Π΄Π°Π½Π½Ρ‹Π΅",
        "источник": "/document/file_data"
      }
    ],
    "Π²Ρ‹Ρ…ΠΎΠ΄": [
      {
        "имя": "содСрТаниС",
        "targetName": "ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½ΠΎΠ΅_содСрТимоС"
      },
      {
        "имя": "normalized_images",
        "targetName": "extracted_normalized_images"
      }
    ]
  }
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°

 {
  "цСнности": [
    {
      "recordId": "1",
      "Π΄Π°Π½Π½Ρ‹Π΅":
      {
        "Ρ„Π°ΠΉΠ»_Π΄Π°Π½Π½Ρ‹Π΅": {
          "$Ρ‚ΠΈΠΏ": "Ρ„Π°ΠΉΠ»",
          "Π΄Π°Π½Π½Ρ‹Π΅": "aGVsbG8="
        }
      }
    }
  ]
}
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π°

 {
  "цСнности": [
    {
      "recordId": "1",
      "Π΄Π°Π½Π½Ρ‹Π΅": {
        "ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚": "ΠΏΡ€ΠΈΠ²Π΅Ρ‚",
        "Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅_изобраТСния": []
      }
    }
  ]
}
 

Π‘ΠΌ.

Ρ‚Π°ΠΊΠΆΠ΅
  • ВстроСнныС Π½Π°Π²Ρ‹ΠΊΠΈ
  • Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π½Π°Π²Ρ‹ΠΊΠΎΠ²
  • Как ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² сцСнариях ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ поиска

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ связь

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎ страницС

запросов ΠΆΡƒΡ€Π½Π°Π»Π° | ДокумСнтация Grafana Loki

ДокумСнтация Grafana LokiLogQL: язык запросов ΠΆΡƒΡ€Π½Π°Π»Π° Запросы ΠΆΡƒΡ€Π½Π°Π»Π°

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄

ВсС запросы LogQL содСрТат сСлСктор ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»Π° .

ΠŸΡ€ΠΈ нСобходимости Π·Π° сСлСктором ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² . ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² β€” это Π½Π°Π±ΠΎΡ€ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ этапов, связанных вмСстС ΠΈ примСняСмых ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ². КаТдоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ строки ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΊΠΈ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ запрос ΠΆΡƒΡ€Π½Π°Π»Π° Π² дСйствии:

 {container="query-frontend",namespace="loki-dev"} |= "metrics. go" | Π»ΠΎΠ³Ρ„ΠΌΡ‚ | ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ > 10 с ΠΈ пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ < 500
 

Запрос состоит ΠΈΠ·:

  • сСлСктора ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² {container="query-frontend",namespace="loki-dev"} , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ query-frontend Π² loki-dev пространство ΠΈΠΌΠ΅Π½.
  • ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² |= "metrics.go" | Π»ΠΎΠ³Ρ„ΠΌΡ‚ | ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ> 10 с ΠΈ пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ < 500 , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ ΠΆΡƒΡ€Π½Π°Π», содСрТащий слово metrics.go , Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΆΡƒΡ€Π½Π°Π»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ большС ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΈ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ….

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ экранирования ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ` (обратная ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°) вмСсто " ΠΏΡ€ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ строк Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. НапримСр, `\w+` совпадаСт с "\\w+" . Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ написании рСгулярного выраТСния, содСрТащСго нСсколько ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… косых Ρ‡Π΅Ρ€Ρ‚, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… экранирования.

Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ²

Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ запроса. ΠŸΠΎΡ‚ΠΎΠΊ ΠΆΡƒΡ€Π½Π°Π»Π° β€” это ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ источник содСрТимого ΠΆΡƒΡ€Π½Π°Π»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ». Π—Π°Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ сСлСктор ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ количСство искомых ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄ΠΎ управляСмого объСма. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ сСлСктору ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ², ΠΏΠΎΠ²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния запроса.

Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»Π° задаСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ нСсколькими ΠΏΠ°Ρ€Π°ΠΌΠΈ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ запятыми. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ β€” это ΠΌΠ΅Ρ‚ΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»Π°, Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой ΠΌΠ΅Ρ‚ΠΊΠΈ. Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки ( { ΠΈ } ) ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ сСлСктор ΠΏΠΎΡ‚ΠΎΠΊΠ°.

Рассмотрим этот сСлСктор ΠΏΠΎΡ‚ΠΎΠΊΠ°:

 {app="mysql",name="mysql-backup"}
 

ВсС ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΊΡƒ app , Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π²Π½ΠΎ mysql ΠΈ ΠΌΠ΅Ρ‚ΠΊΠ° с ΠΈΠΌΠ΅Π½Π΅ΠΌ , Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π²Π½ΠΎ mysql-backup Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ запроса. ΠŸΠΎΡ‚ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Ρ‹ Π² сСлСкторС ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для опрСдСлСния ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ запроса.

Π’Π΅ ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ‡Ρ‚ΠΎ ΠΈ для сСлСкторов ΠΌΠ΅Ρ‚ΠΎΠΊ Prometheus, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΈ ΠΊ сСлСкторам ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² Grafana Loki.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ = послС ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ являСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ сопоставлСния ΠΌΠ΅Ρ‚ΠΎΠΊ . ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сопоставлСния ΠΌΠ΅Ρ‚ΠΎΠΊ:

  • = : Ρ‚ΠΎΡ‡Π½ΠΎ Ρ€Π°Π²Π½ΠΎ
  • != : Π½Π΅ Ρ€Π°Π²Π½ΠΎ
  • =~ : рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ соотвСтствуСт
  • !~ 900 81: рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ соотвСтствуСт

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΆΡƒΡ€Π½Π°Π»Π° рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

  • {name =~ "mysql.+"}
  • {name !~ "mysql.+"}
  • {name !~ `mysql-\d+`}

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: 900 18 Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π»ΠΈΠ½ΠΈΠΈ рСгулярныС выраТСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°, =~ ΠΈ !~ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ рСгулярного выраТСния Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ всСй строкС , Π²ΠΊΠ»ΡŽΡ‡Π°Ρ символы Π½ΠΎΠ²ΠΎΠΉ строки . РСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ . Π‘ΠΈΠΌΠ²ΠΎΠ» Π½Π΅ соотвСтствуСт Π½ΠΎΠ²ΠΎΠΉ строкС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ символ Ρ‚ΠΎΡ‡ΠΊΠΈ рСгулярного выраТСния соотвСтствовал символу Π½ΠΎΠ²ΠΎΠΉ строки, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ однострочный Ρ„Π»Π°Π³, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: (?s)search_term.+ соотвСтствуСт search_term\n . Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ \s (соотвСтствиС ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½ΠΎΠ²ΡƒΡŽ строку) Π² сочСтании с \S (соотвСтствуСт Π½Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹ΠΌ символам), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ всСм символам, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ символы Π½ΠΎΠ²ΠΎΠΉ строки. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ синтаксису Google RE2 для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

НовыС строки ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»Π° рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

  • {name =~ ".*mysql.*"} : Π½Π΅ соотвСтствуСт значСниям ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΆΡƒΡ€Π½Π°Π»Π° с символом Π½ΠΎΠ²ΠΎΠΉ строки
  • {name =~ "(?s).*mysql. *} : ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ значСния ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΆΡƒΡ€Π½Π°Π»Π° с символом Π½ΠΎΠ²ΠΎΠΉ строки
  • {name =~ "[\S\s]*mysql[\S\s]*} : ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ значСния ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΆΡƒΡ€Π½Π°Π»Π° с символом Π½ΠΎΠ²ΠΎΠΉ строки

ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ²

ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ сСлСктору ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ². Он состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. КаТдоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ выполняСтся Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΆΡƒΡ€Π½Π°Π»Π°. Если Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ строку ΠΆΡƒΡ€Π½Π°Π»Π°, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈ Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строки ΠΆΡƒΡ€Π½Π°Π»Π°.

НСкоторыС выраТСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ содСрТимоС ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ доступны для дальнСйшСй Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… выраТСниях. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ являСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

 | line_format "{{.status_code}}"
 

ВыраТСния ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² относятся ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ:

  • ВыраТСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ: выраТСния Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΈ выраТСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΌΠ΅Ρ‚ΠΎΠΊ
  • выраТСния синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°
  • выраТСния форматирования: выраТСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° строки ΠΈ выраТСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΌΠ΅Ρ‚ΠΊΠΈ

Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°

Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° выполняСт Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ grep ΠΏΠΎ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΆΡƒΡ€Π½Π°Π»Π°ΠΌ ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ². Он ΠΈΡ‰Π΅Ρ‚ содСрТимоС строки ΠΆΡƒΡ€Π½Π°Π»Π°, отбрасывая Ρ‚Π΅ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ рСгистрозависимому Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ.

КаТдоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт тСкст ΠΈΠ»ΠΈ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°:

  • |= : Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»Π° содСрТит строку
  • != : Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»Π° Π½Π΅ содСрТит строку
  • |~ : Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»Π° содСрТит совпадСниС с рСгулярным Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ
  • !~ : Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»Π° Π½Π΅ содСрТит совпадСния с рСгулярным Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: 0080 |~ ΠΈ !~ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ . символ рСгулярного выраТСния соотвСтствуСт всСм символам, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½ΠΎΠ²Ρ‹Π΅ строки .

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ выраТСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° строки:

  • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ строки ΠΆΡƒΡ€Π½Π°Π»Π°, содСрТащиС подстроку «ошибка»:

     |= «ошибка»
     

    ΠŸΠΎΠ»Π½Ρ‹ΠΉ запрос с использованиСм этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

     {job="mysql"} |= "ошибка"
     
  • ΠžΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ строки ΠΆΡƒΡ€Π½Π°Π»Π°, содСрТащиС подстроку Β«kafka. server:type=ReplicaManagerΒ»:

     != "kafka.server:type=ReplicaManager"
     

    ΠŸΠΎΠ»Π½Ρ‹ΠΉ запрос с использованиСм этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

     {instance=~"kafka-[23]",name="kafka"} != "kafka.server:type=ReplicaManager"
     
  • БохраняйтС строки ΠΆΡƒΡ€Π½Π°Π»Π°, содСрТащиС подстроку, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽΡΡ с tsdb-ops ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽΡΡ io:2003 . ΠŸΠΎΠ»Π½Ρ‹ΠΉ запрос с рСгулярным Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:

     {name="kafka"} |~ "tsdb-ops.*io:2003"
     
  • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ строки ΠΆΡƒΡ€Π½Π°Π»Π°, содСрТащиС подстроку, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽΡΡ с ошибка = , Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт 1 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ символов слова. ΠŸΠΎΠ»Π½Ρ‹ΠΉ запрос с рСгулярным Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:

     {name="cassandra"} |~ `error=\w+`
     

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ. Π€ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ запроса Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρƒ. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ запроса даст Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, содСрТащиС строку error , ΠΈ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ строку timeout .

 {job="mysql"} |= "ошибка" != "Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚"
 

ΠŸΡ€ΠΈ использовании |~ ΠΈ !~ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ синтаксиса Go (ΠΊΠ°ΠΊ Π² Golang) RE2. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ соотвСтствиС Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ рСгистру. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° поиск Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра, Π΄ΠΎΠ±Π°Π²ΠΈΠ² прСфикс ΠΊ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ. с (?i) .

Π₯отя выраТСния Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² любом мСстС ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ², ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΈΡ… Π² Π½Π°Ρ‡Π°Π»Π΅. Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΡ… Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запроса, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ выполняСт Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° строка совпадаСт. НапримСр, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Π΅ ΠΆΠ΅ запрос ΡƒΠΊΠ°Π·Π°Π½ с

 {job="mysql"} |= "ошибка" | json | line_format "{{.ошибка}}"
 

всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстрСС, Ρ‡Π΅ΠΌ

 {job="mysql"} | json | line_format "{{.message}}" |= "ошибка"
 

ВыраТСния Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° β€” это самый быстрый способ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² послС Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ сСлСкторы ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ².

ВыраТСния Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ сопоставлСниС IP-адрСсов. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ БопоставлСниС IP-адрСсов.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ²

ВыраТСния Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ANSI (Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ²) ΠΈΠ· строка:

 {Π·Π°Π΄Π°Π½ΠΈΠ΅ = "ΠΏΡ€ΠΈΠΌΠ΅Ρ€"} | ΠΎΠ±Π΅ΡΡ†Π²Π΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ
 

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΌΠ΅Ρ‚ΠΎΠΊ

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΌΠ΅Ρ‚ΠΎΠΊ позволяСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ строки ΠΆΡƒΡ€Π½Π°Π»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ… исходныС ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ².

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ содСрТит ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΊΠΈ , ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для сравнСния ΠΌΠ΅Ρ‚ΠΊΠΈ.

НапримСр, с cluster="namespace" кластСр являСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΊΠΈ, опСрация = ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "namespace". Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΊΠΈ всСгда находится слСва ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠœΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ нСсколько Ρ‚ΠΈΠΏΠΎΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ автоматичСски выводятся ΠΈΠ· Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… запроса.

  • Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈΠ»ΠΈ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ сторону, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ "200" ΠΈΠ»ΠΈ ` us-central1 `.
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСсятичных чисСл, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈ суффикс Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«300 мс», Β«1,5 Ρ‡Β» ΠΈΠ»ΠΈ Β«2 Ρ‡ 55 ΠΌΠΈΠ½Β». ДопустимыС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ: «нс», «нас» (ΠΈΠ»ΠΈ «мкс»), «мс», «с», Β«ΠΌΒ», Β«Ρ‡Β».
  • Число β€” число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой (64 Π±ΠΈΡ‚Π°), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 250 , 89,923 .
  • Π‘Π°ΠΉΡ‚Ρ‹ β€” это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСсятичных чисСл, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈ суффикс Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«42 ΠœΠ‘Β», Β«1,5 ΠšΠ‘Β» ΠΈΠ»ΠΈ Β«20 Π±Π°ΠΉΡ‚Β». ДопустимыС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния Π±Π°ΠΉΡ‚ΠΎΠ²: Β«bΒ», Β«kibΒ», Β«kbΒ», Β«mibΒ», Β«mbΒ», Β«gibΒ», Β«gbΒ», Β«tibΒ», Β«tbΒ», Β«pibΒ», Β«pbΒ», Β«eibΒ». ", "эб".

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ срСдства сопоставлСния ΠΌΠ΅Ρ‚ΠΎΠΊ Prometheus ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² сСлСкторС ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ². Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ( = , != , =~ , !~ ).

Волько строковый Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ строку ΠΆΡƒΡ€Π½Π°Π»Π° с ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ __error__ .

ИспользованиС Duration, Number ΠΈ Bytes ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ сравнСниСм ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

  • == ΠΈΠ»ΠΈ = для равСнства.
  • != для нСравСнства.
  • > ΠΈ >= для большС ΠΈ большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ.
  • < ΠΈ <= для мСньшС ΠΈ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ.

НапримСр, logfmt | ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ > 1 ΠΌ ΠΈ bytes_consumed > 20 ΠœΠ‘

Если ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния ΠΌΠ΅Ρ‚ΠΊΠΈ Π½Π΅ удаСтся, строка ΠΆΡƒΡ€Π½Π°Π»Π° Π½Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ΡΡ ΠΈ добавляСтся ΠΌΠ΅Ρ‚ΠΊΠ° __error__ . Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ эти ошибки, см. Ρ€Π°Π·Π΄Π΅Π» ошибок ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ нСсколько ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈ ΠΈ ΠΈΠ»ΠΈ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ соотвСтствСнно Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΈ ΠΈ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ эквивалСнтно Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Ρ‹ запятой, ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ. Π€ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² любом мСстС ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ².

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ выраТСния эквивалСнтны:

 | Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ >= 20 мс ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ == 20 ΠšΠ‘ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄!~"2.."
| ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ >= 20 мс ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ == 20 ΠšΠ‘ | ΠΌΠ΅Ρ‚ΠΎΠ΄!~"2.."
| Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ >= 20 мс ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ == 20 ΠšΠ‘, ΠΌΠ΅Ρ‚ΠΎΠ΄!~"2.."
| Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ >= 20 мс ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ == 20 ΠšΠ‘ ΠΌΠ΅Ρ‚ΠΎΠ΄!~"2.."
 

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΡ†Π΅Π½ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ² слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.

Π­Ρ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ эквивалСнтны:

 | ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ >= 20 мс ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ = "GET" ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ <= 20 ΠšΠ‘
| ((ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ >= 20 мс ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ = "GET") ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ <= 20 ΠšΠ‘)
 

Π§Ρ‚ΠΎΠ±Ρ‹ сначала ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ логичСскиС ΠΈ , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, ΠΊΠ°ΠΊ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

 | ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ >= 20 мс ΠΈΠ»ΠΈ (ΠΌΠ΅Ρ‚ΠΎΠ΄ = "GET" ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ <= 20 ΠšΠ‘)
 

ВыраТСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΌΠ΅Ρ‚ΠΎΠΊ β€” это СдинствСнноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½ΠΎΠ΅ послС выраТСния развСртывания. Π­Ρ‚ΠΎ Π² основном позволяСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ошибки ΠΏΡ€ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

ВыраТСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ сопоставлСниС IP-адрСсов. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ БопоставлСниС IP-адрСсов.

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈΠ· содСрТимого ΠΆΡƒΡ€Π½Π°Π»Π°. Π—Π°Ρ‚Π΅ΠΌ эти ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΈΠ»ΠΈ для агрСгирования ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ.

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ-ΠΌΠ΅Ρ‚ΠΊΠΈ автоматичСски ΠΎΡ‡ΠΈΡ‰Π°ΡŽΡ‚ΡΡ всСми синтаксичСскими Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π² соотвСтствии с соглашСниСм ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Prometheus. (Они ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠΊΠ²Ρ‹ ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹ ASCII, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π½Π°ΠΊΠΈ подчСркивания ΠΈ двоСточия. Они Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Ρ†ΠΈΡ„Ρ€Ρ‹.)

НапримСр, Ρ‚Ρ€ΡƒΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ | json создаст ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ сопоставлСниС:

 { "a.b": {c: "d"}, e: "f" }
 

->

 {a_b_c="d", e="f"}
 

Π’ случаС ошибок, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли строка Π½Π΅ Π² ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, строка Π»ΠΎΠ³Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ __error__ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ​​мСтка.

Если имя ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΌΠ΅Ρ‚ΠΊΠΈ ΡƒΠΆΠ΅ сущСствуСт Π² исходном ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π°, ΠΊ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ ΠΌΠ΅Ρ‚ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово _extracted , Ρ‡Ρ‚ΠΎΠ±Ρ‹ провСсти Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ срСдства форматирования ΠΌΠ΅Ρ‚ΠΊΠΈ. Однако, Ссли ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ появляСтся Π΄Π²Π°ΠΆΠ΄Ρ‹, Π±ΡƒΠ΄Π΅Ρ‚ сохранСно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ.

Loki ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ парсСры JSON, logfmt, pattern, regexp ΠΈ unpack.

Если Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΎΡ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ парсСры json ΠΈ logfmt . Если Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅, парсСры pattern ΠΈ regexp ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для строк ΠΆΡƒΡ€Π½Π°Π»Π° с Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ структурой. ΠŸΠ°Ρ€ΡΠ΅Ρ€ шаблона ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ быстрСС; ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ прСвосходит синтаксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ . Один ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько синтаксичСских Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ². Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Π°Π½Π°Π»ΠΈΠ·Π° слоТных ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ². ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΅ΡΡ‚ΡŒ Π² НСсколько парсСров.

JSON

ΠŸΠ°Ρ€ΡΠ΅Ρ€ json Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…:

  1. Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² :

    Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ | json Π² ваш ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Ρ‚ всС свойства json Π² Π²ΠΈΠ΄Π΅ ΠΌΠ΅Ρ‚ΠΎΠΊ, Ссли строка ΠΆΡƒΡ€Π½Π°Π»Π° являСтся допустимым Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ json. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ свойства ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠ΅Ρ‚ΠΎΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ раздСлитСля _ .

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ .

    НапримСр, парсСры json ΠΈΠ·Π²Π»Π΅ΠΊΡƒΡ‚ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°:

     {
        "ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»": "HTTP/2.0",
        "сСрвСры": ["129.0.1.1", "10.2.1.3"],
        "запрос": {
            "врСмя": "6.032",
            "ΠΌΠ΅Ρ‚ΠΎΠ΄": "ΠŸΠžΠ›Π£Π§Π˜Π’Π¬",
            "хост": "foo.grafana.net",
            "Ρ€Π°Π·ΠΌΠ΅Ρ€": "55",
            "Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ": {
              "ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ": "*/*",
              «АгСнт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ»: Β«curl/7.68.0Β»
            }
        },
        "ΠΎΡ‚Π²Π΅Ρ‚": {
            "статус": 401,
            "Ρ€Π°Π·ΠΌΠ΅Ρ€": "228",
            "latency_seconds": "6.031"
        }
    }
     

    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ список ΠΌΠ΅Ρ‚ΠΎΠΊ:

     "ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»" => "HTTP/2. 0"
    "запрос_врСмя" => "6.032"
    "ΠΌΠ΅Ρ‚ΠΎΠ΄_запроса" => "ΠŸΠžΠ›Π£Π§Π˜Π’Π¬"
    "request_host" => "foo.grafana.net"
    "Ρ€Π°Π·ΠΌΠ΅Ρ€_запроса" => "55"
    "response_status" => "401"
    "Ρ€Π°Π·ΠΌΠ΅Ρ€_ΠΎΡ‚Π²Π΅Ρ‚Π°" => "228"
    "response_latency_seconds" => "6,031"
     
  2. с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ :

    ИспользованиС | json label="expression", other="expression" Π² вашСм ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ поля json Π² ΠΌΠ΅Ρ‚ΠΊΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΊΠ°ΠΊ label_format ; всС выраТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

    Π’ настоящСС врСмя ΠΌΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ доступ ΠΊ полю ( my.field , my["field"] ) ΠΈ доступ ΠΊ массиву ( list[0] ) ΠΈ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΈΠ· Π½ΠΈΡ… Π½Π° любом ΡƒΡ€ΠΎΠ²Π½Π΅ влоТСнности ( my.list[0]["ΠΏΠΎΠ»Π΅"] ).

    НапримСр, | json first_server="servers[0]", ua="request.headers[\"User-Agent\"] Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°:

     {
        "ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»": "HTTP/2. 0",
        "сСрвСры": ["129.0.1.1","10.2.1.3"],
        "запрос": {
            "врСмя": "6.032",
            "ΠΌΠ΅Ρ‚ΠΎΠ΄": "ΠŸΠžΠ›Π£Π§Π˜Π’Π¬",
            "хост": "foo.grafana.net",
            "Ρ€Π°Π·ΠΌΠ΅Ρ€": "55",
            "Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ": {
              "ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ": "*/*",
              «АгСнт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ»: Β«curl/7.68.0Β»
            }
        },
        "ΠΎΡ‚Π²Π΅Ρ‚": {
            "статус": 401,
            "Ρ€Π°Π·ΠΌΠ΅Ρ€": "228",
            "latency_seconds": "6.031"
        }
    }
     

    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ список ΠΌΠ΅Ρ‚ΠΎΠΊ:

     "first_server" => "129.0.1.1"
    "ua" => "curl/7.68.0"
     

    Если массив ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ присвоСна ΠΌΠ΅Ρ‚ΠΊΠ° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ json.

    НапримСр, | json server_list="servers", headers="request.headers" Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΎ:

     "server_list" => `["129.0.1.1","10.2.1.3"]`
    "headers" => `{"Accept": "*/*", "User-Agent": "curl/7.68.0"}`
     

    Если извлСкаСмая ΠΌΠ΅Ρ‚ΠΊΠ° совпадаСт с исходным ΠΏΠΎΠ»Π΅ΠΌ JSON, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ | json

    НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ поля сСрвСров Π² качСствС ΠΌΠ΅Ρ‚ΠΊΠΈ, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

    | json сСрвСры ΠΈΠ·Π²Π»Π΅ΠΊΡƒΡ‚:

     "сСрвСры" => `["129. 0.1.1","10.2.1.3"]`
     

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ | json-сСрвСры Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ | json server="servers"

logfmt

ΠŸΠ°Ρ€ΡΠ΅Ρ€ logfmt ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…:

  1. Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

    ΠŸΠ°Ρ€ΡΠ΅Ρ€ logfmt ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ | logfmt ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Ρ‚ всС ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ значСния ΠΈΠ· строки ΠΆΡƒΡ€Π½Π°Π»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ logfmt.

    НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка ΠΆΡƒΡ€Π½Π°Π»Π°:

     at=info method=GET path=/ host=grafana.net fwd="124.133.124.161" service=8ms status=200
     

    ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠΊ:

     "at" => "info"
    "ΠΌΠ΅Ρ‚ΠΎΠ΄" => "ΠŸΠžΠ›Π£Π§Π˜Π’Π¬"
    "ΠΏΡƒΡ‚ΡŒ" => "/"
    "хост" => "grafana.net"
    "Π²ΠΏΠ΅Ρ€Π΅Π΄" => "124.133.124.161"
    "сСрвис" => "8мс"
    "статус" => "200"
     
  2. с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ :

    Аналогично JSON, с использованиСм | logfmt label="expression", other="expression" Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»Π΅ΠΉ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ.

    НапримСр, | logfmt, fwd_ip="fwd" ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΊΠΈ host ΠΈ fwd ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строки ΠΆΡƒΡ€Π½Π°Π»Π°:

     at=info method=GET path=/ host=grafana.net fwd="124.133.124.161" service =8мс статус=200
     

    И ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ fwd Π² fwd_ip :

     "host" => "grafana.net"
    "fwd_ip" => "124.133.124.161"
     
Π¨Π°Π±Π»ΠΎΠ½

Анализатор шаблонов позволяСт явно ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ поля ΠΈΠ· строк ΠΆΡƒΡ€Π½Π°Π»Π°, опрСдСляя Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ шаблона ( | шаблон "<Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅-шаблона>" ). Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ соотвСтствуСт структурС строки ΠΆΡƒΡ€Π½Π°Π»Π°.

Рассмотрим эту строку ΠΆΡƒΡ€Π½Π°Π»Π° NGINX.

 0.191.12.2 - - [10/Jun/2021:09:14:29 +0000] "GET /api/plugins/versioncheck HTTP/1.1" 200 2 "-" "Go-http-client/2.0" "13.76 .247.102, 34.120.177.193" "TLSv1.2" "БША" ""
 

Π­Ρ‚Ρƒ строку ΠΆΡƒΡ€Π½Π°Π»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ выраТСния

- - <_> " <_>" <_> "" <_>

для извлСчСния этих ΠΏΠΎΠ»Π΅ΠΉ:

 "ip" => "0. 191.12.2"
"ΠΌΠ΅Ρ‚ΠΎΠ΄" => "ΠŸΠžΠ›Π£Π§Π˜Π’Π¬"
"uri" => "/api/plugins/versioncheck"
"статус" => "200"
"Ρ€Π°Π·ΠΌΠ΅Ρ€" => "2"
"Π°Π³Π΅Π½Ρ‚" => "ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ-http-ΠΊΠ»ΠΈΠ΅Π½Ρ‚/2.0"
 

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ шаблона состоит ΠΈΠ· Π·Π°Ρ…Π²Π°Ρ‚ΠΎΠ² ΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ².

Π—Π°Ρ…Π²Π°Ρ‚ β€” это имя поля, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ символами < ΠΈ > . <ΠΏΡ€ΠΈΠΌΠ΅Ρ€> опрСдСляСт имя поля ΠΏΡ€ΠΈΠΌΠ΅Ρ€ . БСзымянный Π·Π°Ρ…Π²Π°Ρ‚ отобраТаСтся ΠΊΠ°ΠΊ <_> . БСзымянный Π·Π°Ρ…Π²Π°Ρ‚ пропускаСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚.

Π—Π°Ρ…Π²Π°Ρ‚Ρ‹ ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с Π½Π°Ρ‡Π°Π»Π° строки ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². Если Π·Π°Ρ…Π²Π°Ρ‚ Π½Π΅ соотвСтствуСт, парсСр шаблона остановится.

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ любой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ символов UTF-8, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ символы ΠΏΡ€ΠΎΠ±Π΅Π»Π°.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ шаблона привязываСтся ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ строки ΠΆΡƒΡ€Π½Π°Π»Π°. Если Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ начинаСтся с Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ², Ρ‚ΠΎ строка ΠΆΡƒΡ€Π½Π°Π»Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€Π° Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ <_> Π² Π½Π°Ρ‡Π°Π»Π΅ выраТСния, Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π½Π°Ρ‡Π°Π»Π΅.

Рассмотрим строку ΠΆΡƒΡ€Π½Π°Π»Π°

 level=debug ts=2021-06-10T09:24:13.472094048Z caller=logging.go:66 traceID=0568b66ad2d9294c msg="POST /loki/api/v1/push (204) 16.65 2862 мс "
 

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ msg=" , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

 <_> msg="  () "
 

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ шаблона нСдопустимо, Ссли

  • Оно Π½Π΅ содСрТит ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°Ρ…Π²Π°Ρ‚Π°.
  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Ρ…Π²Π°Ρ‚Π°, Π½Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ.
РСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ logfmt ΠΈ json, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСявно ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ всС значСния ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², синтаксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ regexp ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ | regexp "" , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся рСгулярным Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌ синтаксис Golang RE2.

РСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ подсовпадСниС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, (?Pre) ), ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ подсовпадСниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ.

НапримСр парсСр | рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ "(?P<ΠΌΠ΅Ρ‚ΠΎΠ΄>\\w+) (?P<ΠΏΡƒΡ‚ΡŒ>[\\w|/]+) \\((?P<статус>\\d+?)\\) (?P<Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ> . *)" Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒΡΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строки:

 POST /api/prom/api/v1/query_range (200) 1,5 с
 

эти ΠΌΠ΅Ρ‚ΠΊΠΈ:

 "ΠΌΠ΅Ρ‚ΠΎΠ΄" => "POST"
"ΠΏΡƒΡ‚ΡŒ" => "/api/prom/api/v1/query_range"
"статус" => "200"
"Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ" => "1,5 с"
 
unpack

ΠŸΠ°Ρ€ΡΠ΅Ρ€ unpack Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ строку ΠΆΡƒΡ€Π½Π°Π»Π° JSON, распаковывая всС встроСнныС ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈΠ· этапа pack Promtail. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ свойство _entry Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π·Π°ΠΌΠ΅Π½Ρ‹ исходной строки ΠΆΡƒΡ€Π½Π°Π»Π° .

НапримСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ | Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ со строкой ΠΆΡƒΡ€Π½Π°Π»Π°:

 {
  "ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€": "myapp",
  "стручок": "стручок-3223f",
  "_entry": "исходноС сообщСниС ΠΆΡƒΡ€Π½Π°Π»Π°"
}
 

ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ этикСтки pod ; ΠΎΠ½ устанавливаСт исходноС сообщСниС ΠΆΡƒΡ€Π½Π°Π»Π° Π² качСствС Π½ΠΎΠ²ΠΎΠΉ строки ΠΆΡƒΡ€Π½Π°Π»Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ синтаксичСскиС Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ unpack ΠΈ json (ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ синтаксичСскиС Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹), Ссли исходная встроСнная строка ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° строки

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° строки ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ содСрТимоС строки ΠΆΡƒΡ€Π½Π°Π»Π° с использованиСм Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° тСкста/шаблона. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ строковый ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ | line_format "{{.label_name}}" , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ шаблона. ВсС ΠΌΠ΅Ρ‚ΠΊΠΈ Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ΡΡ Π² шаблон ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ доступны для использования с Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ {{.label_name}} .

НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

 {container="frontend"} | Π»ΠΎΠ³Ρ„ΠΌΡ‚ | line_format "{{.query}} {{.duration}}"
 

Π˜Π·Π²Π»Π΅Ρ‡Π΅Ρ‚ ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ строку ΠΆΡƒΡ€Π½Π°Π»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° содСрТала Ρ‚ΠΎΠ»ΡŒΠΊΠΎ запрос ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запроса.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строку Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… для шаблона ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ `{{.label_name}}` , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ нСобходимости ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы.

line_format Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ . ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Если Ρƒ нас Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ ip=1.1.1.1 , статус=200 ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ=3000 (мс), ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° 1000 Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² сСкундах.

 {ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ = "интСрфСйс"} | Π»ΠΎΠ³Ρ„ΠΌΡ‚ | line_format "{{.ip}} {{.status}} {{div .duration 1000}}"
 

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ запрос даст Π½Π°ΠΌ строка ΠΊΠ°ΠΊ 1.1.1.1 200 3

Π‘ΠΌ. Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ шаблона, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ доступных функциях Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ шаблона.

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° этикСток

| Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ label_format ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° список ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ равСнства, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми, Ρ‡Ρ‚ΠΎ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

Если ΠΎΠ±Π΅ стороны ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ dst=src , опСрация ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅Ρ‚ src 9этикСтка 0081 Π² dst .

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ правая сторона ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ строкой шаблона (Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈΠ»ΠΈ обратная ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ dst="{{.status}} {{.query}}" , ΠΈ Π² этом случаС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ dst замСняСтся ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ ΠΎΡ†Π΅Π½ΠΊΠΈ тСкста/шаблона. Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎ ΠΈ Π² | line_format , Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΊΠΈ доступны ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ список Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π’ ΠΎΠ±ΠΎΠΈΡ… случаях, Ссли ΠΌΠ΅Ρ‚ΠΊΠ° назначСния Π½Π΅ сущСствуСт, создаСтся новая.

Π€ΠΎΡ€ΠΌΠ° пСрСимСнования dst=src сбросит ΠΌΠ΅Ρ‚ΠΊΡƒ src послС пСрСназначСния Π΅Π΅ Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ dst . Однако Ρ„ΠΎΡ€ΠΌΠ° шаблона сохранит ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ dst="{{.src}}" ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ dst ΠΈ src ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Одно имя ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ | label_format foo=bar,foo="new" Π½Π΅ допускаСтся, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° выраТСния для ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ эффСкта: | label_format foo=Π±Π°Ρ€ | label_format foo="new"

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠΊ пСрСтаскивания

Бинтаксис : |отбрасываСмоС имя, Π΄Ρ€ΡƒΠ³ΠΎΠ΅_имя, ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ_имя="Π½Π΅ΠΊΠΎΠ΅_Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅"

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ = послС имя ΠΌΠ΅Ρ‚ΠΊΠΈ β€” это ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сопоставлСния ΠΌΠ΅Ρ‚ΠΎΠΊ . ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сопоставлСния ΠΌΠ΅Ρ‚ΠΎΠΊ:

  • = : Ρ‚ΠΎΡ‡Π½ΠΎ Ρ€Π°Π²Π½ΠΎ
  • != : Π½Π΅ Ρ€Π°Π²Π½ΠΎ
  • =~ : рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ соотвСтствуСт
  • !~ : рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ соотвСтствуСт

| drop ΡƒΠ΄Π°Π»ΠΈΡ‚ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅. НапримСр, для запроса {job="varlogs"}|json|drop level, method="GET" со строкой ΠΆΡƒΡ€Π½Π°Π»Π° Π½ΠΈΠΆΠ΅

 {"level": "info", "method": "GET", "ΠΏΡƒΡ‚ΡŒ": "/", "хост": "grafana.net", "статус": "200"}
 

Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚

 {host="grafana.net", path="status="200"} {"level": "info", "method": "GET", "path": "/" , "хост": "grafana.net", "статус": "200"}
 

Аналогично, это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для удалСния ΠΌΠ΅Ρ‚ΠΎΠΊ __error__ . НапримСр, для запроса {job="varlogs"}|json|drop __error__ со строкой ΠΆΡƒΡ€Π½Π°Π»Π° Π½ΠΈΠΆΠ΅

 INFO GET / loki.net 200
 

Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚

 {} INFO GET / loki.net 200
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с рСгулярным Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ нСсколькими ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ

Для запроса {job="varlogs"}|json|drop level, path, app=~"some-api.*" , со строками ΠΆΡƒΡ€Π½Π°Π»Π° Π½ΠΈΠΆΠ΅

 {"app ": "some-api-service", "level": "info", "method": "GET", "path": "/", "host": "grafana.net", "status": "200 }
{"ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: "другая слуТба", "ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ": "информация", "ΠΌΠ΅Ρ‚ΠΎΠ΄": "GET", "ΠΏΡƒΡ‚ΡŒ": "/", "хост": "grafana.

admin

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *