我目前的组织正在迁移到用于应用程序性能监控的数据狗。我正在使用docker将Python Flask Web应用程序部署到Azure容器注册表。部署到Azure后,应用应在Datadog门户上列出/可用。
请注意,我刚刚开始学习Docker容器。我很有可能完全做错了。请容忍我
接下来的步骤
选项1:在本地机器上创建docker容器并推送到ACR
>
在docker文件中添加了dd trace run命令
建立形象
在本地服务器上运行容器
无法分配请求的地址
FROM python:3.7
ENV VIRTUAL_ENV=/opt/venv
RUN python -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
ENV DD_API_KEY=apikeyfromdatadoghq
ENV DD_ENV=safhire-dev
ENV DD_LOGS_ENABLED=true
ENV DD_LOGS_INJECTION=true
ENV DD_SERVICE=dev-az1-pythonbusinessservice
ENV DD_TAGS=products:myprojects
ENV DD_TRACE_DEBUG=true
ENV DD_TRACE_ENABLED=true
ENV DOCKER_ENABLE_CI=true
COPY /app /app
COPY requirements.txt /
RUN pip install --no-cache-dir -U pip
RUN pip install --no-cache-dir -r /requirements.txt
CMD ddtrace-run python app/main.py runserver 127.0.0.1:3000
选项2:将日志转发到Azure Blob存储,但流程繁重
选项3:使用Serilog但是,我的组织不想使用第三方日志框架,我们有自己的日志框架
非常感谢您的帮助,我正在寻找使用选项1的解决方案。我浏览了微软的文章、Datadog文档,但没有找到。
我在Azure portal上设置应用程序注册、管理订阅的读者权限、创建ClientID和应用程序机密。他们都没帮上忙
能否确认是否有办法在不安装Azure代理的情况下收集datadog上的APM日志。
先谢谢你。
经过几天的研究和datadog支持团队的跟进,我能够在datadog portal上获取APM日志。
下面是我的docker-compose.yml
文件配置,我相信它有助于将来的某人
version: "3"
services:
web:
build: web
command: ddtrace-run python standalone_api.py
volumes:
- .:/usr/src/app
depends_on:
datadog-agent:
condition: service_healthy
image: pythonbusinessservice:ICDNew
ports:
- 5000:5000
environment:
- DATADOG_HOST=datadog-agent
- DD_TRACE_AGENT_PORT=8126
- DD_AGENT_HOST=datadog-agent
datadog-agent:
build: datadog
image: gcr.io/datadoghq/agent:latest
ports:
- 8126:8126
environment:
- DD_API_KEY=9e3rfg*****************adf3
- DD_SITE=datadoghq.com
- DD_HOSTNAME=pythonbusinessservice
- DD_TAGS=env:dev
- DD_APM_ENABLED=true
- DD_APM_NON_LOCAL_TRAFFIC=true
- DD_DOGSTATSD_NON_LOCAL_TRAFFIC=true
- DD_SERVICE=pythonbusinessservice
- DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL=true
- DD_CONTAINER_EXCLUDE="name:datadog-agent"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /proc/:/host/proc/:ro
- /opt/datadog-agent/run:/opt/datadog-agent/run:rw
- /sys/fs/cgroup:/host/sys/fs/cgroup:ro
我的python长期运行应用程序的Dockerfile
FROM python:3.7
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["ddtrace-run python", "/app/standalone_api.py"]
请注意,关于要求。txt文件我已经列出了ddtrace
包
我在应用程序帐户下有一个linux apache 2.4.12和mod_wsgi4.5.2(mod_wsgi.so安装到apache中)。Apache在应用程序帐户下的端口8050下运行。按照这个链接测试mod_wsgi工作:http://modwsgi.readthedocs.org/en/develop/user-guides/quick-configuration-guide.html#ws
我正在开发一个用python运行的应用程序(始终是热泵系统的控制器),我使用flask提供一个用户界面来控制应用程序。 烧瓶应用程序有不同的控制项,例如打开或关闭系统的按钮。 我试图从python模块执行一个特定的功能,以响应按钮上的“单击”(最终目标是更改mmap资源中的一个值,该值将在另一个模块中读取以更改系统的状态)。 在flask应用程序中,我有如下内容: 但是,这会产生“内部服务器错误”
在过去的几周里,我花了太多的时间试图让它发挥作用。我的目标是使用烧瓶框架创建一个简单的网络应用程序,但我不断收到错误,几个小时的谷歌搜索和搜索stackoverflow也没有帮助。 我正在学习一个教程,该教程要求我运行:$python3 routes.py 只有我才能得到以下错误: 回溯(最近的最后一次调用):文件“routes.py”,第1行,从flask导入flask中,呈现\u模板导入错误:
我试图设置NGINX,uWSGI和烧瓶。我目前正在得到, uWSGI错误 找不到Python应用程序 我得到了一些奇怪的错误在我的uwsgi错误文件,你可以在我的文章底部找到。 我会直截了当地说,这是在运行Ubuntu 13.04 64位的新VPS上,这些是我运行的命令。 sudo apt-get更新 sudo apt-get安装构建基本 sudo apt-get安装python-dev sudo
我希望能够运行我的破折号应用程序从我的烧瓶应用程序,当我去一个特定的网址/破折号。然而,我得到以下错误。TypeError:视图函数没有返回有效的响应。该函数要么返回无,要么结束时没有返回语句。' flaskapp.py dashapp。派克 如果我对我的flaskapp.py做以下更改, 我得到了以下错误,AttributeError:“非类型”对象没有属性“遍历”
我试图上传一个图像约1.62MB到终端写使用flask.request.files对象总是空的。我检查了以下问题,但没有运气: 烧瓶request.files是空的 https://github.com/requests/requests/issues/2505 如何在烧瓶中使用ajax调用上传文件 这是我的服务器: 我的客户: 在我看来,一切都很干净,我不知道哪里出了问题。请求对象中的“文件”属