python - 使用 Flask 在 Elastic APM for Python 中设置(自定义)字段

标签 python elasticsearch flask kibana elastic-stack

我对 Elastic APM、Kibana、Elasticsearch 和 APM 总体来说还很陌生,没有找到任何符合我需求的信息。我设置了 elastic-apm[flask] 模块并按照教程进行操作。在 Kibana 仪表板中,我获取响应时间和服务器名称等信息,但 client.ip 等字段为空。我想跟踪 IP 地址(更准确地说是我的网站访问者来自哪里)。

那么,如何将用户的 IP 地址获取到 Elastic APM 中的 client.ip 字段中?我不想每次请求路由时都发出 app.logger.debug 语句。

最佳答案

您必须修改弹性 APM python 代理代码。 一般来说,您可以向跨度示例添加标签

elasticapm.label(key1=value1, key2=value2)

此外,您可以直接添加到 span 对象。

您将从请求对象flask中获取ip

request.remote_addr 将其设置为所需的 key 。

有关弹性 APM python 代理的 API 的更多详细信息可以在此处找到 - https://www.elastic.co/guide/en/apm/agent/python/current/api.html

谢谢

关于python - 使用 Flask 在 Elastic APM for Python 中设置(自定义)字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57696669/

相关文章:

css - 如何在 Flask 应用程序中修改 Bootstrap LESS 变量?

python - 为什么 re.Match 对象返回的结束索引高于预期?

elasticsearch - 针对大型静态索引的性能调整?

angularjs - 用AngularJS完全替换jinja2

elasticsearch - 过滤日期值是给定值或缺少值的ElasticSearch查询

elasticsearch - docker - 麋鹿 - vm.max_map_count

python - 即使调用 Flask-SQLAlchemy create_all,表也不可用

python - Django休息框架: serialize list of ids

python - python中的共享内存并行处理

python - Tweepy + App Engine 示例 OAuth 帮助