我对 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/