ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΡΡ Π²ΡΡΠΎΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ ΠΈ Π±ΡΡΡΡΠΎΠΌΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΡ. ΠΠ»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ELK (Elasticsearch, Logstash, Kibana), Sentry ΠΈ Prometheus. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π³ΡΠ°ΠΌΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ FastAPI Ρ ΡΡΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°?
ΠΠ΅Π· ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠ±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ² Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ:
- ΠΡΡΡΡΠΎ Π²ΡΡΠ²Π»ΡΡΡ ΠΈ ΡΡΡΡΠ°Π½ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ;
- ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- ΠΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ ΡΠ±ΠΎΠΈ ΠΈ ΠΏΡΠΎΡΡΠΎΠΈ;
- ΠΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΠΏΡΡ ΠΈ Π²ΡΡΠ²Π»ΡΡΡ ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ°;
- Π‘ΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ.
FastAPI β ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΠΈΠ±ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ FastAPI Ρ ELK
ELK β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΡΠ΅ΠΊΠΎΠ² Π΄Π»Ρ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡΠ°, Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π»ΠΎΠ³ΠΎΠ²:
- Elasticsearch β Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΈΡΠΊ Π»ΠΎΠ³ΠΎΠ²;
- Logstash β ΡΠ±ΠΎΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π»ΠΎΠ³ΠΎΠ²;
- Kibana β Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½ΡΡ .
ΠΠ»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ FastAPI Ρ ELK:
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ
logging
Python. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΡΠΌΠ°Ρ JSON Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠ°ΡΡΠΈΠ½Π³Π° Π² Logstash. - ΠΡΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ Π»ΠΎΠ³ΠΈ Π² Logstash ΡΠ΅ΡΠ΅Π· TCP/UDP ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ Π±ΡΠΊΠ΅Π½Π΄Ρ. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
python-logstash
ΠΈΠ»ΠΈloguru
Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Ρ Π΅Π½Π΄Π»Π΅ΡΠ°ΠΌΠΈ. - ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠΉΡΠ΅ Π»ΠΎΠ³ΠΈ Π² Kibana, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ°ΡΡΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ.
ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΠΉΡΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²ΠΎΠ²ΡΠ΅ΠΌΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ FastAPI Ρ Sentry
Sentry β ΠΎΠ±Π»Π°ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΡΠ΅ΠΊ-ΡΡΠ΅ΠΉΡΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°ΠΌΠΈ.
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ SDK Π΄Π»Ρ Python (
sentry-sdk
) ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ Ρ FastAPI:
import sentry_sdk
from fastapi import FastAPI
from sentry_sdk.integrations.asgi import SentryAsgiMiddleware
sentry_sdk.init(dsn="ΠΠΠ¨_DSN")
app = FastAPI()
app.add_middleware(SentryAsgiMiddleware)
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΠ±ΠΎΡ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°, ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅).
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ CI/CD Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠΉ ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Sentry Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΠ΅Ρ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΠΎ Π½ΠΎΠ²ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°Ρ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΡ ΡΡΠ°ΡΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ Π·Π° ΡΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΎΡΡΠ΅ΡΠΎΠ².
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ FastAPI Ρ Prometheus
Prometheus β ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠ±ΠΎΡΠ° ΠΌΠ΅ΡΡΠΈΠΊ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
prometheus_fastapi_instrumentator
Π΄Π»Ρ ΡΠ±ΠΎΡΠ° ΠΌΠ΅ΡΡΠΈΠΊ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ HTTP-Π·Π°ΠΏΡΠΎΡΡ, Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ°, ΡΡΠ°ΡΡΡΠ°ΠΌ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ:
from prometheus_fastapi_instrumentator import Instrumentator
app = FastAPI()
Instrumentator().instrument(app).expose(app)
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Prometheus Π½Π° ΡΠ±ΠΎΡ ΠΌΠ΅ΡΡΠΈΠΊ Ρ ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΠ°
/metrics
Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. - ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² Grafana ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ.
Prometheus ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π°Π»Π΅ΡΡΠΈΠ½Π³Π°: ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΠΎΠ²Π΅ΡΠ°ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠΎΠ³ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ°.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ
Π ΠΊΡΡΠΏΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (JSON), ΡΡΠΎΠ±Ρ Π»ΠΎΠ³ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠ°ΡΡΠΈΠ»ΠΈΡΡ;
- ΠΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π»ΠΎΠ³Π°Ρ ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π΄Π»Ρ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (GDPR, PCI DSS ΠΈ Π΄Ρ.);
- ΠΠ°ΡΡΡΠΎΠΈΡΡ Π°Π»Π΅ΡΡΠΈΠ½Π³ ΠΈ ΡΠΎΡΠ°ΡΠΈΡ Π»ΠΎΠ³ΠΎΠ² Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ;
- Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π°ΡΠ΄ΠΈΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ;
- ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΠ°ΠΌΠΈ (Slack, Telegram) Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ΅Π°ΠΊΡΠΈΠΈ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ FastAPI Ρ ELK, Sentry, Prometheus
- ΠΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- ΠΡΡΡΡΠ°Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ;
- ΠΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ;
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π³ΠΈΠ±ΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π°Π»Π΅ΡΡΠΈΠ½Π³Π°;
- Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π°ΡΠ΄ΠΈΡΠ°.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ FastAPI Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π½Π΅Π΄ΡΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π±ΡΡΡΡΠΎ, ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ Ρ ΡΡΠ΅ΡΠΎΠΌ Π²ΡΠ΅Ρ Π±ΠΈΠ·Π½Π΅Ρ- ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ β ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ Π½Π°ΡΠΈΠΌ ΡΠΊΡΠΏΠ΅ΡΡΠ°ΠΌ. ΠΡ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠ΅ΠΉ FastAPI Ρ ELK, Sentry, Prometheus ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ: ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
Raman Sapezhka
CEO Plantago/CTO