ãšãŒãžã§ã³ãèšå®
ãšãŒãžã§ã³ãã¯æ¬¡ã®ããããã®æ¹æ³ã§é«åºŠã«èšå®å¯èœã§ãã
- CLIããèšå®ããããã£ãæž¡ã
- ç°å¢å€æ°ã®èšå®
èšå®ããããã£
以äžã¯ãèšå®ããããã£ã«ãããšãŒãžã§ã³ãèšå®ã®äŸã§ãã
opentelemetry-instrument \
--traces_exporter console,otlp \
--metrics_exporter console \
--service_name your-service-name \
--exporter_otlp_endpoint 0.0.0.0:4317 \
python myapp.py
ããã§ã¯ãããããã®èšå®ãäœãããã®ãã説æããŸãã
traces_exporter
ã¯ã䜿çšãããã¬ãŒã¹ãšã¯ã¹ããŒã¿ãŒãæå®ããŸãã ãã®å Žåããã¬ãŒã¹ã¯console
ïŒæšæºåºåïŒ ãšotlp
ã«ãšã¯ã¹ããŒããããŸããotlp
ãªãã·ã§ã³ã¯ãgRPC çµç±ã§ OTLP ãåãä»ãããšã³ããã€ã³ãã«ãã¬ãŒã¹ãéä¿¡ããããã«opentelemetry-instrument
ã«æç€ºããŸãã gRPC ã®ãããã« HTTP ã䜿çšããã«ã¯ã--exporter_otlp_protocol http/protobuf
ã远å ããŸãã traces_exporter ã§å©çšå¯èœãªãªãã·ã§ã³ã®å®å šãªãªã¹ã㯠Python contrib OpenTelemetry Instrumentation ãåç §ããŠãã ãããmetrics_exporter
ã¯äœ¿çšããã¡ããªã¯ã¹ãšã¯ã¹ããŒã¿ãŒãæå®ããŸãã ãã®å Žåãã¡ããªã¯ã¹ã¯console
(æšæºåºå) ã«ãšã¯ã¹ããŒããããŸãã çŸåšãã¡ããªã¯ã¹ãšã¯ã¹ããŒã¿ãŒã®æå®ã¯å¿ é ã§ãã ã¡ããªã¯ã¹ããšã¯ã¹ããŒãããªãå Žåã¯ããããã«none
ãæå®ããŠãã ãããservice_name
ã¯ãã¬ã¡ããªãŒã«é¢é£ãããµãŒãã¹åãèšå®ãããªãã¶ãŒãããªãã£ããã¯ãšã³ã ã«éä¿¡ããŸããexporter_otlp_endpoint
ã¯ããã¬ã¡ããªãŒããšã¯ã¹ããŒããããšã³ããã€ã³ããèšå®ããŸãã çç¥ããå Žåã¯ãããã©ã«ãã® ã³ã¬ã¯ã¿ãŒ ã®ãšã³ããã€ã³ãã䜿çšãããgRPC ã®å Žåã¯0.0.0.0:4317
ãHTTP ã®å Žåã¯0.0.0.0:4318
ãšãªããŸããexporter_otlp_headers
ã¯ãéžæãããªãã¶ãŒãããªãã£ããã¯ãšã³ãã«å¿ããŠå¿ èŠãšãªããŸãã OTLPãšã¯ã¹ããŒã¿ãŒããããŒã®è©³çްã«ã€ããŠã¯ãOTEL_EXPORTER_OTLP_HEADERSãåç §ããŠãã ããã
ç°å¢å€æ°
å Žåã«ãã£ãŠã¯ãç°å¢å€æ°ã䜿ã£ãŠèšå®ããæ¹ãæãŸããããšããããŸãã ã³ãã³ãã©ã€ã³åŒæ°ã§èšå®å¯èœãªãã¹ãŠã®èšå®ã¯ãç°å¢å€æ°ã§ãèšå®ã§ããŸãã
以äžã®æé ãé©çšããŠãç®çã®æ§æããããã£ã®æ£ããååãããã³ã°ã決å®ã§ããŸãã
- èšå®ããããã£ã倧æåã«å€æããŸãã
- ç°å¢å€æ°ã®æ¥é èŸã
OTEL_
ã«ããŸãã
ããšãã°ãexporter_otlp_endpoint
㯠OTEL_EXPORTER_OTLP_ENDPOINT
ã«å€æãããŸãã
Python åºæã®èšå®
ç°å¢å€æ°ã®åã« OTEL_PYTHON_
ãä»ããŠèšå®ã§ãã Python åºæã®èšå®ãªãã·ã§ã³ãããã€ããããŸãã
é€å€ãããURL
ã«ã³ãåºåãã®æ£èŠè¡šçŸã§ããã¹ãŠã®èšè£ ã§é€å€ããURLã衚ããŸãã
OTEL_PYTHON_EXCLUDED_URLS
倿° OTEL_PYTHON_<library>_EXCLUDED_URLS
ã䜿ã£ãŠãç¹å®ã®èšè£
ã® URL ãé€å€ããããšãã§ããŸãã
ããã§ library
㯠DjangoãFalconãFastAPIãFlaskãPyramidãRequestsãStarletteãTornadoãurllibã urllib3 ã®ããããã®ã©ã€ãã©ãªåã倧æååãããã®ã§ãã
äŸãæããŸãããã
export OTEL_PYTHON_EXCLUDED_URLS="client/.*/info,healthcheck"
export OTEL_PYTHON_URLLIB3_EXCLUDED_URLS="client/.*/info"
export OTEL_PYTHON_REQUESTS_EXCLUDED_URLS="healthcheck"
ãªã¯ãšã¹ã屿§å
ãªã¯ãšã¹ããªããžã§ã¯ãããæœåºãããã¹ãã³ã®å±æ§ãšããŠèšå®ãããååã®ã«ã³ãåºåããªã¹ãã
OTEL_PYTHON_DJANGO_TRACED_REQUEST_ATTRS
OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS
OTEL_PYTHON_TORNADO_TRACED_REQUEST_ATTRS
äŸãæããŸãããã
export OTEL_PYTHON_DJANGO_TRACED_REQUEST_ATTRS='path_info,content_type'
export OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS='query_string,uri_template'
export OTEL_PYTHON_TORNADO_TRACED_REQUEST_ATTRS='uri,query'
ãã®ã³ã°
åºåããããã°ãå¶åŸ¡ããããã®èšå®ãªãã·ã§ã³ãããã€ããããŸãã
OTEL_PYTHON_LOG_CORRELATION
: ãã°ãžã®ãã¬ãŒã¹ã³ã³ããã¹ãã®æ³šå ¥ãæå¹ã«ãã (trueãfalse)ãOTEL_PYTHON_LOG_FORMAT
: ã«ã¹ã¿ã ãã°ãã©ãŒãããã䜿ãããã«èšå®ããŸããOTEL_PYTHON_LOG_LEVEL
: ã«ã¹ã¿ã ã®ãã°ã¬ãã« (æ å ±ããšã©ãŒããããã°ãèŠå) ãèšå®ããŸããOTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED
: ãã°ã®èªåèšè£ ãæå¹ã«ããŸãã Pythonã«ãŒããã¬ãŒã« OTLP ãã³ãã©ãŒãã¢ã¿ããããŸãã äŸã«ã€ããŠã¯ããã°ã®èªåèšè£ ãåç §ããŠãã ããã
äŸãæããŸãããã
export OTEL_PYTHON_LOG_CORRELATION=true
export OTEL_PYTHON_LOG_FORMAT="%(msg)s [span_id=%(span_id)s]"
export OTEL_PYTHON_LOG_LEVEL=debug
export OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED=true
ãã®ä»
ç¹å®ã®ã«ããŽãªãŒã«åé¡ãããªãèšå®ãªãã·ã§ã³ãããã€ããããŸãã
OTEL_PYTHON_DJANGO_INSTRUMENT
: Django èšè£ ã®ããã©ã«ãã®æå¹ç¶æ ãç¡å¹ã«ããããã«false
ãèšå®ããŸããOTEL_PYTHON_ELASTICSEARCH_NAME_PREFIX
: Elasticsearch ã®æäœåã®ããã©ã«ãã®æ¥é èŸã âElasticsearchâ ããããã§èšå®ãããã®ã«å€æŽããŸããOTEL_PYTHON_GRPC_EXCLUDED_SERVICES
: gRPC èšè£ ããé€å€ãããµãŒãã¹ãã«ã³ãåºåãã§æå®ããŸããOTEL_PYTHON_ID_GENERATOR
: ã°ããŒãã«ãã¬ãŒãµãããã€ããŒã«äœ¿çšãã ID ãžã§ãã¬ãŒã¿ãæå®ããŸããOTEL_PYTHON_INSTRUMENTATION_SANITIZE_REDIS
: ã¯ãšãªãŒã®ãµãã¿ã€ãºåŠçãæå¹ã«ããŸãã
äŸãæããŸãããã
export OTEL_PYTHON_DJANGO_INSTRUMENT=false
export OTEL_PYTHON_ELASTICSEARCH_NAME_PREFIX=my-custom-prefix
export OTEL_PYTHON_GRPC_EXCLUDED_SERVICES="GRPCTestServer,GRPCHealthServer"
export OTEL_PYTHON_ID_GENERATOR=xray
export OTEL_PYTHON_INSTRUMENTATION_SANITIZE_REDIS=true
ç¹å®ã®èšè£ ãç¡å¹ã«ãã
ããã©ã«ãã®PythonãšãŒãžã§ã³ãã¯ãPythonããã°ã©ã ã®ããã±ãŒãžãæ€åºããå¯èœãªéãã®ããã±ãŒãžãèšè£ ããŸãã ããã¯èšè£ ãç°¡åã«ããŸãããçµæçã«ããŒã¿ãå€ãããããäžèŠã«ãªã£ããããããšããããŸãã
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
ç°å¢å€æ°ã䜿ãããšã§ãç¹å®ã®ããã±ãŒãžãèšè£
ããé€å€ã§ããŸãã
ãã®ç°å¢å€æ°ã«ã¯ãèšè£
ããé€å€ããèšè£
ã®ãšã³ããªãŒãã€ã³ãåãã«ã³ãåºåãã§æå®ããŸãã
ã»ãšãã©ã®å Žåããšã³ããªãŒãã€ã³ãåã¯ããã±ãŒãžåãšåãã§ãããã±ãŒãžã® pyproject.toml
ãã¡ã€ã«å
ã® project.entry-points.opentelemetry_instrumentor
ããŒãã«ã«èšå®ãããŸãã
ããšãã°ãPython ããã°ã©ã ã redis
ãkafka-python
ãgrpc
ããã±ãŒãžã䜿çšããŠããå Žåãããã©ã«ãã§ã¯ãšãŒãžã§ã³ã㯠opentelemetry-instrumentation-redis
ãopentelemetry-instrumentation-kafka-python
ãopentelemetry-instrumentation-grpc
ããã±ãŒãžã䜿çšããŠèšè£
ãè¡ããŸãã
ãããç¡å¹ã«ããã«ã¯ãOTEL_PYTHON_DISABLED_INSTRUMENTATIONS=redis,kafka,grpc_client
ãèšå®ããŸãã
ãã£ãŒãããã¯
ãã®ããŒãžã¯åœ¹ã«ç«ã¡ãŸããã?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!