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

时间:2019-08-28 16:31:21

标签: 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语句。

1 个答案:

答案 0 :(得分:1)

您必须修改您的弹性APM python代理代码。 通常,您可以在跨度示例中添加标签

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

也可以直接将其添加到span对象。

您将从请求对象瓶获取IP

request.remote_addr将此设置为所需的键。

有关弹性APM python代理的API的更多详细信息,请参见-https://www.elastic.co/guide/en/apm/agent/python/current/api.html

谢谢