БСсплатная ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΡ

ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈΠ»ΠΈ Ρ†Π΅Π»ΡŒ. ΠžΡ‚Π²Π΅Ρ‡Ρƒ с практичСским ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом β€” бСсплатно, Π±Π΅Π· ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π².

Или Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ врСмя Π² Calendly

ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ FastAPI: ΠΊΠ°ΠΊ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Sentry, Prometheus, ELK

Introduction and Problem Statement

ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ β€” это ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ элСмСнт ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ любого прилоТСния Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅. Π‘Π΅Π· Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ понимания Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ происходит Π² вашСм FastAPI-сСрвисС, Π²Ρ‹ рискуСтС ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅, ΠΏΠΎΡ‚Π΅Ρ€Π΅ΠΉ бизнСса. БСгодня ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ прилоТСния Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстро, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Π±Π΅Π·ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ. Π›ΡŽΠ±Ρ‹Π΅ сбои ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΡŽ Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

FastAPI β€” это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ популярный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Python для создания API. Он ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, простоту использования ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ соврСмСнных стандартов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ OpenAPI ΠΈ JSON Schema. Однако, ΠΊΠ°ΠΊ ΠΈ любоС слоТноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, FastAPI-прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с ошибками, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ сСрвСра ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ с ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ. Как ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ошибки, ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ? Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрим, ΠΊΠ°ΠΊ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ инструмСнты Sentry, Prometheus ΠΈ ELK для достиТСния ΠΏΠΎΠ»Π½ΠΎΠΉ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΠΈ вашСго FastAPI-прилоТСния.

"ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ β€” это Π½Π΅ просто ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это происходит ΠΈ ΠΊΠ°ΠΊ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ."

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Π²Π°ΠΆΠ½Π° для вашСго бизнСса?

ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π½ΠΎ ΠΈ прСдоставляСт ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π²Ρ‹Π³ΠΎΠ΄Ρ‹ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

  • Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ простоя: БыстроС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ устранСниС нСисправностСй ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ простой систСмы, Ρ‡Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для бизнСса.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°: ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΈ быстрой Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния. ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ позволяСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° сбои.
  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: Анализ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ Π»ΠΎΠ³ΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ инфраструктуру для достиТСния максимальной скорости ΠΈ эффСктивности.
  • Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ‚Ρ€Π°Ρ‚: БыстроС устранСниС ошибок сниТаСт Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ инфраструктуры ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ финансовыС ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΈΠ·-Π·Π° простоСв.
  • ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ обоснованных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: Π‘Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ систСмы ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ руководитСлям ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° основС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ инструмСнтов Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΠΈ

Для достиТСния ΠΏΠΎΠ»Π½ΠΎΠΉ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΠΈ Π² FastAPI-прилоТСниях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Ρ€ΠΈ основныС области:

  1. Π›ΠΎΠ³ΠΈ: Π‘Π±ΠΎΡ€ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π»ΠΎΠ³ΠΎΠ² для отслСТивания событий ΠΈ ошибок Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
  2. ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ: ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ состояния систСмы Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
  3. ВрСйсинг: ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ запросов ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π½Ρ‹Π΅ сСрвисы для опрСдСлСния ΡƒΠ·ΠΊΠΈΡ… мСст ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим, ΠΊΠ°ΠΊ Sentry, Prometheus ΠΈ ELK ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· этих областСй.

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Sentry для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ошибок

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Sentry?

Sentry β€” это инструмСнт для отслСТивания ошибок Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Он ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ Π±Π°Π³ΠΈ, прСдоставляя Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΡˆΠΈΡ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ…, стСктрСйсах ΠΈ контСкстС выполнСния ΠΊΠΎΠ΄Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Sentry, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ, Π½ΠΎ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ стоит Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Sentry?

  • АвтоматичСская интСграция с FastAPI ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° мноТСства языков программирования ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.
  • Глубокая Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° ошибок, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ частоту ΠΈΡ… возникновСния ΠΈ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с инструмСнтами DevOps, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Slack, Jira ΠΈ GitHub.

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Sentry Π² FastAPI?

Для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Sentry Π² вашС FastAPI-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

  1. УстановитС SDK Sentry:
  2. pip install --upgrade sentry-sdk
  3. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Sentry Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:
  4. 
          import sentry_sdk
          from fastapi import FastAPI
    
          sentry_sdk.init(
              dsn="https://",
              traces_sample_rate=1.0,
          )
    
          app = FastAPI()
          
  5. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ middleware для автоматичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок:
  6. 
          from starlette.middleware.errors import ServerErrorMiddleware
    
          app.add_middleware(ServerErrorMiddleware)
          
  7. ВСстируйтС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ: Π’Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ фиксируСтся Π² Sentry.

ИспользованиС Prometheus для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Prometheus?

Prometheus β€” это систСма ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ сбора ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, которая особСнно популярна Π² ΠΌΠΈΡ€Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ микросСрвисов. Она позволяСт ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° процСссора, использованиС памяти ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности Prometheus

Prometheus прСдоставляСт:

  • Π‘Π±ΠΎΡ€ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ с использованиСм Pull-ΠΌΠΎΠ΄Π΅Π»ΠΈ.
  • Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²ΠΈΠ΄Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов.
  • ΠœΠΎΡ‰Π½Ρ‹ΠΉ язык запросов PromQL для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ….
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с инструмСнтами Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Grafana.

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Prometheus Π² FastAPI?

Для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Prometheus Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

  1. УстановитС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ:
  2. pip install prometheus-fastapi-instrumentator
  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Instrumentator Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
  4. 
          from prometheus_fastapi_instrumentator import Instrumentator
    
          app = FastAPI()
          Instrumentator().instrument(app).expose(app)
          
  5. ЗапуститС Prometheus: НастройтС Ρ„Π°ΠΉΠ» prometheus.yml для сбора ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ с вашСго FastAPI-прилоТСния.
  6. НастройтС Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ: Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Grafana создайтС Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ для наглядности Π΄Π°Π½Π½Ρ‹Ρ….

Анализ Π»ΠΎΠ³ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ELK-стСка

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ELK-стСк?

ELK β€” это Π½Π°Π±ΠΎΡ€ инструмСнтов, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Elasticsearch, Logstash ΠΈ Kibana. ВмСстС ΠΎΠ½ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΌΠΎΡ‰Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для сбора, Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³ΠΎΠ².

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° использования ELK для FastAPI

  • Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³Π°ΠΌΠΈ: ВсС Π»ΠΎΠ³ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС.
  • ΠœΠΎΡ‰Π½Ρ‹ΠΉ поиск: Elasticsearch позволяСт быстро Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ записи Π² Π»ΠΎΠ³Π°Ρ….
  • Визуализация Π΄Π°Π½Π½Ρ‹Ρ…: Kibana прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс для создания Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ².

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ELK-стСк?

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ FastAPI с ELK:

  1. УстановитС Logstash ΠΈ настройтС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π»ΠΎΠ³ΠΎΠ²: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для получСния ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π»ΠΎΠ³ΠΎΠ².
  2. НастройтС Elasticsearch: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π»ΠΎΠ³ΠΎΠ² ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.
  3. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Kibana: Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ….
  4. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с FastAPI: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ loguru, для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ структурированных Π»ΠΎΠ³ΠΎΠ² Π² Logstash.

ОбъСдинСниС всСх инструмСнтов

ВзаимодСйствиС Sentry, Prometheus ΠΈ ELK-стСка позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ прСдставлСниС ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ вашСго FastAPI-прилоТСния. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

  • Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ошибки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sentry.
  • Π‘ΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ с Prometheus.
  • Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ Π² ELK для выявлСния ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² ΠΈ долгосрочного планирования.

Π­Ρ‚ΠΈ инструмСнты Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ вмСстС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ круглосуточный ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΠ·, позволяя Π²Π°ΠΌ быстро Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π»ΡŽΠ±Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° для вашСго бизнСса

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… инструмСнтов, ΠΊΠ°ΠΊ Sentry, Prometheus ΠΈ ELK, приносит Π²Π°ΡˆΠ΅ΠΌΡƒ бизнСсу ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Π³ΠΎΠ΄Ρ‹:

  • Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ рисков: БыстроС выявлСниС ΠΈ устранСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ финансовыС ΠΏΠΎΡ‚Π΅Ρ€ΠΈ.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΠΈ: НадСТноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • Π›ΡƒΡ‡ΡˆΠ΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ Π»ΠΎΠ³ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ.
  • Рост эффСктивности ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° устранСниС Π±Π°Π³ΠΎΠ² ΠΈ большС β€” Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ вашСго FastAPI-прилоТСния β€” это инвСстиция Π² Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ успСх вашСго бизнСса. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Sentry, Prometheus ΠΈ ELK, обСспСчат Π²Π°ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, позволят ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ сбоСв ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π² принятии обоснованных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. НС ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΠΉΡ‚Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΠΈ β€” Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΡƒΠΆΠ΅ сСгодня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Ρ‚Ρ€Π° Π±Ρ‹Ρ‚ΡŒ Π½Π° шаг Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ²!

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΡŽ ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Π² своС FastAPI-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅!