与 APM 服务器的连接超时网址:http://localhost:8200/intake/v2/events

问题描述

我的配置如下:

  1. 单个弹性节点(与其余部分分开)
  2. 在单独的节点上设置 Kibana
  3. APM 服务器在它自己的节点上
  4. 在它自己的节点上设置的 Flask 应用程序。

版本: Kibana 和 Elastic (opendistro):v 7.10.2 APM OSS:apm-server-oss-7.12.1-amd64.deb

基本上我已经检测了我的 python Flask 应用程序以将数据推送到 APM 服务器,但是当我尝试从 Kibana 中的 APM 摄取数据时,我得到

  1. APM 服务器响应:您已正确设置 APM 服务器
  2. 代理状态:尚未从代理收到任何数据

我的 Python flask 应用程序具有以下结构

import sqlite3,requests,time,logging
from flask import Flask,jsonify
from elasticapm.contrib.flask import ElasticAPM
from elasticapm.handlers.logging import LoggingHandler

app = Flask(__name__)
apm = ElasticAPM(app,server_url='http://apm-oss.site:8200',service_name='APM-TEST-APP',logging=False)

@app.route('/')
def index():
    return jsonify({"message": "response ok"})

if __name__ == '__main__':
app.run(host='0.0.0.0',port=80)

我的 APM 服务器有以下配置

apm-server:
  host: "0.0.0.0:8200"

output.elasticsearch:
  hosts: ["https://esnode.site:9200"]
  ssl.certificate_authorities: ["/etc/apm-server/pki/root-ca.pem"]
  ssl.certificate: "/etc/apm-server/pki/client.pem"
  ssl.key: "/etc/apm-server/pki/client-key.pem"
  enabled: true

kibana:
  enabled: true
  host: "192.168.56.112:5601"
  username: "admin"
  password: "admin"

当我针对端口 80 对 python flask 端点执行 curl 时,我得到以下响应

Jun  1 15:30:58 app python3.6[24523]: 192.168.56.115 - - [01/Jun/2021 15:30:58] "#033[37mGET / HTTP/1.1#033[0m" 200 -
Jun  1 15:30:59 app python3.6[24523]: 192.168.56.115 - - [01/Jun/2021 15:30:59] "#033[37mGET / HTTP/1.1#033[0m" 200 -

查看 APM syslog,以下条目与之前似乎正在处理来自应用服务器的传入日志的 curl 命令一致

Jun  1 15:49:03 apm-oss apm-server[7064]: {"log.level":"info","@timestamp":"2021-06-01T15:49:03.272Z","log.logger":"request","log.origin":{"file.name":"middleware/log_middleware.go","file.line":63},"message":"request accepted","url.original":"/intake/v2/events","http.request.method":"POST","user_agent.original":"elasticapm-python/6.1.3","source.address":"192.168.56.114","http.request.body.bytes":450,"http.request.id":"dcdc7497-de2a-41fc-8fd9-03c06949fd8f","event.duration":305562,"http.response.status_code":202,"ecs.version":"1.6.0"}

看起来 APM 实例正在接收数据,但 Kibana 说没有代理启动。

任何人都看到了这个并解决了它。非常感谢您的建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)