问题标签 [elastic-apm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 检测 HTTP 请求是否使用带有 nodeJS 的代理
使用 nodeJS,使用 HTTP 客户端(例如axios
)将创建一个ClientRequest
对象,该对象可以被弹性 APM 等工具库用于报告 HTTP 查询。
错误是:
使用 HTTP 代理时,所有检测库都会报告错误的 URL:
http://PROXY_IP:PROXY_PORThttps://FINAL_URL
而不是https://FINAL_URL
如何检查是否ClientRequest
使用代理?
- ClientRequest的代码源:https ://github.com/nodejs/node/blob/master/lib/_http_client.js
- 弹性 APM 问题:https ://github.com/elastic/apm-agent-nodejs/issues/1770
(或者这可能是 axios 的问题?)
kotlin - Ktor 后端服务器需要 Elastic APM 支持
试图监控我们的 Ktor 后端应用程序的性能,并能够将 Elastic APM 代理附加到它。服务器在 Kibana 仪表板中作为服务可见。但它不会为每个传入请求自动创建事务。当我们手动启动事务并在特定路由中结束它时,它只会记录该请求的性能。有没有其他方法可以解决这种情况?
尝试了以下方法
- 在设置阶段拦截每个请求并启动事务,但在最后拦截相同的调用时无法结束事务面临的问题。
- 对于在下面一段代码中定义的控制器/路由中的每个请求,它都在工作。
elasticsearch - Elasticsearch,更新apm的索引管理策略
我们已将 elasticsearch apm 从 7.4.2 升级到 7.8.1
索引生命周期策略选项卡显示我们有apm-7.4.2-transaction|metric|error
策略。
我相信我们需要为 7.8.1 制定类似的政策。我怎样才能做到这一点?
python - 如何避免从特定 Python 库向哨兵发送错误?
我正在使用 django 并通过 sentry_sdk 将错误记录到哨兵。
但是,我不想记录特定库中的错误。
例如,弹性 apm 等库会根据状态生成各种错误(如 TransportException、...等)。
上面的示例是如何写下特定错误并忽略它。除了这种方式之外,有没有办法忽略特定库中发生的错误?
elasticsearch - 发布 https://apm。.com/intake/v2/rum/events net::ERR_BLOCKED_BY_CLIENT
我在 kubernetes (k8s) 上有一个使用 ECK 的弹性堆栈。
Kibana 版本:7.13.2 Elasticsearch 版本:7.13.2 APM 服务器版本:7.13.2 APM 代理语言和版本: https ://www.npmjs.com/package/@elastic/apm-rum - 5.9.1 浏览器版本:铬最新
问题描述
前端 apm-run 代理无法向 apm 服务器发送消息。如果我在浏览器上禁用 cors 它可以工作 -google-chrome --disable-web-security --user-data-dir=temp
然后导航到我的前端 http://localhost:4201/
POST https://apm.<acme>.com/intake/v2/rum/events net::ERR_BLOCKED_BY_CLIENT
代码:
apm.yml
弹性入口.yml
前端.js
浏览器控制台中的错误:
apm 服务器:
在这种情况下,apm-server pod 不会显示任何错误,我假设客户端永远不会到达服务器。
spring-boot - 在 Spring Boot 中使用 Micrometer(和 Elastic)使用文件描述符
在各种网站/博客文章中,宣传通过使用带有 Micrometer 的 Spring Boot,我们可以立即获得大量监控指标,包括文件描述符的使用情况。
例如在https://spring.io/blog/2018/03/16/micrometer-spring-boot-2-s-new-application-metrics-collector上:
Spring Boot 2 为您自动配置了很多指标,包括: 数据源利用率,包括:
...
HikariCP 池指标
RabbitMQ 连接工厂
文件描述符使用
Logback:记录每个级别记录到Logback的事件数
...
我看到了大部分指标,但现在我对“文件描述符使用”感兴趣(因为我的 Spring Boot 2.5 应用程序似乎有泄漏),但我没有找到指标。
我尝试了两件事:
- 在本地(在 Windows 上),使用 JMX 连接器,并使用 Jconsole 浏览指标
- 一旦部署(在 Docker 映像中,基于 Ubuntu-java),结合 Elastic APM 代理,如https://www.elastic.co/guide/en/apm/agent/java/current/metrics.html#中所述指标-千分尺-弹簧-引导
“文件描述符使用”是否有特殊名称?还是我需要添加一个特殊的依赖才能启用它?
谢谢
======更新
正如@checketts 正确指出的那样,从源代码看来,该指标仅在 Unix 系统上可用(请参阅https://github.com/micrometer-metrics/micrometer/blob/67c41db552cac463e44cd45545e5a7b8f3513f1b/micrometer-core/src/main /java/io/micrometer/core/instrument/binder/system/FileDescriptorMetrics.java)。我们在那里看到该指标将记录在process.files
因此,我在 Windows 本地没有它可能是正常的。但是当它在 Docker 上运行时我应该拥有它。但这些是我process
在 Elastic / Kibana 中获得的唯一指标:
kubernetes - 如何在 Kubernetes 上使用 dotnet core agent 来实现弹性 apm?
我在 kubernetes 集群上部署了一个 dotnet core 应用程序,要求是通过 Elastic APM 收集 APM 跟踪和数据。我按照https://www.elastic.co/guide/en/apm/agent/dotnet/current/setup-dotnet-net-core.html的建议尝试了零代码更改设置,但在我的情况下它不起作用. 我不确定我做错了什么。
https://www.elastic.co/blog/using-elastic-apm-java-agent-on-kubernetes-k8s上有一个 java 应用程序示例,它运行良好。对于 dotnet 核心应用程序,我需要类似的解决方案。
** 请注意:我不想在应用程序中进行任何更改。
任何帮助将不胜感激。
java - 当 Java APM 代理在 Docker 中运行时,如何将 Java APM get 连接到 APM 服务器?
我想在 Docker 中运行 Java APM 代理在 docker 组件中,我收到以下错误消息:
Dockerfile 看起来像这样
docker run 命令返回这个
我必须做什么才能连接到 APM 服务器?
spring-boot - 使用 Spring Boot 应用程序进行弹性 APM 跟踪
我有一个正在运行的 SB 应用程序,我们在 azure storage explorer 中上传文件,该文件在 KAFKA (topic1) 中触发一个事件,SB 应用程序中的 KAfkaListener(topic1) 接收一个事件 (Event-1) 并按原样转发/发送传入消息到另一个主题 (Event-2)-(topic2),另一个 KafkaListener(topic2) 实际处理消息并执行 JDBC 事务。
当我使用弹性 APM 代理运行我的 SB 应用程序时,我可以看到第一个 KafkaListener 的跟踪(表示消息被路由到另一个主题),即正确。
但我找不到任何进一步具有 jdbc sql 查询的 event2 (topic2) 的踪迹。我想找到 2 个事件 -topic2 的跟踪,它应该具有所有 jdbc sql 查询跟踪。.
instrumentation - 调试未完成跟踪的最佳实践
我试图弄清楚调试未完成跟踪的最佳实践是什么。这对于监视卡住的跟踪很有用。
据我所知,Elastic APM 不支持这一点。但是文档中没有提到它。我已经将 env 变量设置ELASTIC_APM_LOG_LEVEL
为trace
使用apm nodejs 代理来证明,并且仅在事务/跨度结束时才将事务/跨度报告给apm 服务器。
此外,还发现了对New Relic的 APM 产品的相同功能请求。
我添加了日志相关性,日志包括 trace.id 和 transaction.id。但是查看日志并没有显示事务和跨度的树结构。
我的问题是:监控未完成跟踪的最佳做法是什么?