Автоматическое инструментирование OTEL для ведения журналов PythonPython

Программы на Python
Ответить
Anonymous
 Автоматическое инструментирование OTEL для ведения журналов Python

Сообщение Anonymous »

Я пытался протестировать автоматическое инструментирование OTEL для Python, и у меня возникли проблемы с обеспечением правильного и последовательного экспорта метрик, трассировок и журналов. Я пытался это сделать, используя команду opentelemetry-instrument в моем файле Dockerfile, и у меня есть простое приложение Flask Python.
Dockerfile:

Код: Выделить всё

WORKDIR /app
COPY . ./
RUN pip install -r requirements.txt
RUN pip install opentelemetry-distro \
opentelemetry-exporter-otlp
RUN opentelemetry-bootstrap -a install

ENV APP_HOME=/app
RUN chown -R appuser:appuser /app

FROM development as production
WORKDIR /app
USER appuser
EXPOSE 8443

CMD ["opentelemetry-instrument", "python", "src/index.py"]
index.py:

Код: Выделить всё

app = flask.Flask(__name__)

@app.route('/debug', methods=['GET'])
def do_GET():
i = 0
for x in range(16):
print("(PRINT) do_GET logs " + str(x))
logger.info("(DEFAULT INFO) do_GET logs " + str(x))
logger.warning("(DEFAULT WARNING) do_GET logs " + str(x))
logger.error("(DEFAULT ERROR) do_GET logs " + str(x))
i = i + 1

return {"status": "Success"}

if __name__ == "__main__":
logger.info('start')
app.run(debug=True, port=8443, host='0.0.0.0')
В этой настройке я вижу, что метрики последовательно экспортируются в сборщик OTEL, и вижу, в частности, «стартовый» журнал, экспортируемый в сборщик OTEL, но с «0» в качестве идентификатора трассировки и диапазона. Все остальные журналы в конечной точке «отладки» вообще не экспортируются, и я не вижу никаких экспортируемых следов. Я все еще относительно новичок в том, чтобы возиться с OTEL и инструментированием, но реалистично пытаюсь изучить методы автоматического инструментирования приложений Python с небольшими изменениями кода. Мне любопытно, нахожусь ли я на правильном пути и у меня просто проблемы с реализацией, или есть другой способ лучше добиться этого. Единственный успех, которого я действительно добился при оснащении своего приложения, — это добавление OTEL Python SDK для добавления регистратора в мой файл Python. Любая помощь будет принята с благодарностью!

Подробнее здесь: https://stackoverflow.com/questions/798 ... on-logging
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»