暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Elastic APM 与 Elasticsearch 集成:构建完整可观测性栈

新智锦绣 2025-11-27
64

点击蓝字关注我们


引言


Elastic APM 深度依赖 Elasticsearch 作为数据后端,但正确集成可以解锁更强大的功能,如自定义查询、聚合分析和与其它 Elastic 工具的协同。本文探讨 APM 与 Elasticsearch 的集成细节,包括数据流、索引管理以及高级用例,帮助您构建统一的 observability 栈。APM 数据流与 Elasticsearch 集成

  • 数据管道:APM Agent 发送事件(Transactions、Spans、Errors、Metrics)到 APM Server,后者处理后转换为 JSON 文档,索引到 Elasticsearch 的专用索引(如 traces-apm*、metrics-apm*)。

  • 集成设置:使用 Fleet 管理 APM 集成(Elastic Agent 8.x+):

    • 在 Kibana “Integrations > APM” 添加政策。

    • Elastic Agent 运行本地 APM Server,自动安装模板和管道。

      • 优势:共享数据流,支持与日志/指标的融合。

  • 手动集成:运行独立 APM Server:

    output.elasticsearch:
      hosts: ["localhost:9200"]
      index: "apm-%{[agent][version]}-%{+yyyy.MM.dd}"

    加载索引模板:apm-server setup --template。


    高级 Elasticsearch 查询与分析


    • 查询 APM 数据:使用 Kibana Dev Tools 执行 DSL 查询:

      GET traces-apm*/_search
      {
        "query": {
          "bool": {
            "must": [
              { "term": { "service.name": "my-app" } },
              { "range": { "transaction.duration.us": { "gte": 1000000 } } }  // >1s 事务
            ]
          }
        },
        "aggs": {
          "latency": { "percentiles": { "field": "transaction.duration.us" } }
        }
      }

      这可计算 P95 延迟。

      • 聚合与 ML:在 Elasticsearch 中运行聚合分析异常,或使用 ML 节点检测追踪模式。


      与其它工具的集成


      • OpenTelemetry:使用 OTLP Collector 将 OT 数据导入 APM Server,实现混合追踪。

      • Kubernetes 集成:部署 Elastic Agent as DaemonSet,自动监控 Pod。使用 Filebeat 关联日志:

        • 配置:fields: { kubernetes: { pod: { name: "%{[kubernetes.pod.name]}" } } }。

      • 源映射:上传源映射到 APM Server,解码 JS 错误堆栈:

        curl -X POST "http://localhost:8200/v1/sourcemaps" \
        -H "Authorization: Bearer your-api-key" \
        --data-binary @sourcemap.json


        优化与故障排除


        • 索引管理:应用 ILM 策略减少存储:热阶段 1 天,删除 >90 天数据。

        • 常见问题:索引冲突?运行 apm-server setup 重新加载模板。数据延迟?检查 APM Server 日志。

        • 规模化:对于 PB 级数据,使用 Elasticsearch 的分片和副本优化查询速度。


        结论


        Elastic APM 与 Elasticsearch 的集成提供无缝数据管道和强大分析能力。通过 Fleet 和自定义查询,您可以实现从追踪到警报的全栈可观测性。建议从 APM 集成开始,逐步添加 OpenTelemetry 以支持异构环境。这将显著提升您的应用可靠性和调试效率。


        关于公司

        感谢您关注新智锦绣科技(北京)有限公司!作为 Elastic 的 Elite 合作伙伴及 EnterpriseDB 在国内的唯一代理和服务合作伙伴,我们始终致力于技术创新和优质服务,帮助企业客户实现数据平台的高效构建与智能化管理。无论您是关注 Elastic 生态系统,还是需要 EnterpriseDB 的支持,我们都将为您提供专业的技术支持和量身定制的解决方案。


        欢迎关注我们,获取更多技术资讯和数字化转型方案,共创美好未来!

        Elastic 微信群

        EDB 微信群


        发现“分享”和“赞”了吗,戳我看看吧






        文章转载自新智锦绣,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论