elasticsearch 弹性APM响应503(未发布就绪)

8nuwlpux  于 5个月前  发布在  ElasticSearch
关注(0)|答案(1)|浏览(61)

我有一个本地运行的elasticsearch和kibana堆栈。我想用它来跟踪一个本地运行的nodejs应用程序的APM。
我已经在一个ubuntu docker容器中安装了弹性代理作为fleet服务器。在第二个ubuntu docker容器上,我运行了我的APM弹性代理,它通过fleet服务器注册。我在kibana中的APM设置非常基本,只更改了主机和URL字段:

我使用以下代码片段(在主文件的顶部)配置了我的节点应用程序:

// Add this to the very top of the first file loaded in your app
var apm = require('elastic-apm-node').start({
    serviceName: 'my-service-name',
    secretToken: '',
    serverUrl: 'http://apm.mydomain.com:8200',
    environment: 'my-environment'
});

字符串
我在运行应用程序时收到以下错误:

{"log.level":"error","@timestamp":"2023-12-30T20:36:03.605Z","log.logger":"elastic-apm-node","ecs.version":"8.10.0","message":"APM Server transport error (503): Unexpected APM Server response when polling config\nAgent configuration infrastructure is not ready. Please retry later."}


当我直接查询apm代理(GET http://apm.mydomain.com:8200/)时,我收到以下响应:

{
    "build_date": "2023-12-07T11:11:14-05:00",
    "build_sha": "cba21e88bd0d376ec77dc77fccccfdc0c27206ac",
    "publish_ready": false,
    "version": "8.11.3"
}


有人知道为什么我的代理人不接受APM数据吗?

11dmarpk

11dmarpk1#

对于将来发现这个问题的人来说,问题是尽管我的弹性代理在kibana中被标记为健康,但由于证书验证失败(我使用自签名证书),他们无法将日志发布到我的弹性集群。
代理本身没有报告任何错误,表明证书验证失败。我能够在弹性集群日志中发现问题。
我尽可能地定义了我的CA证书,但最终不得不将以下内容添加到代理运行的docker-compose配置中,这解决了问题:

environment:
      - ELASTICSEARCH_SSL_CERTIFICATE_VERIFICATION=false

字符串

相关问题