Elastic APM

发布时间 2023-05-29 21:06:51作者: Raymon撸码记

Elastic APM

lastic APM 是一款免费开源的应用程序性能监控组件。它底层依赖 Elasticsearch 来存储跟查询数据,使用 Kibana 来展示分析数据。它支持多种程序语音的探针,包括 JAVA,.NET, Nodejs 等语音。对于 .NET 的集成非常方便,只要简单的配置就可以采集 .NET 程序的信息,对代码几乎是零入侵

Elastic APM 的架构由4个部分组成。

1. Elasticsearch 负责数据的持久化,查询等能力
2. Kibana APM数据的分析展示界面
3. APM Agent 每个服务集成对应的 sdk 后就是一个个 agent,负责采集程序的各种指标数据
4. APM Server ,agent 采集到数据后会上报给 APM Server ,由APM Server汇集数据后存储到 Elasticsearch 。

使用 docker-compose 安装

点击查看代码
version: '3.9'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.13.2
    restart: always
    container_name: elasticsearch
    hostname: elasticsearch
    environment:
      - discovery.type=single-node
    ports:
      - 9200:9200
      - 9300:9300
  kibana:
    image: docker.elastic.co/kibana/kibana:7.13.2
    restart: always
    container_name: kibana
    hostname: kibana
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    ports:
      - 5601:5601
    depends_on:
      - elasticsearch
  apm_server:
    image: docker.elastic.co/apm/apm-server:7.13.2
    restart: always
    container_name: apm_server
    hostname: apm_server
    command: --strict.perms=false -e
    environment:
      - output.elasticsearch.hosts=["elasticsearch:9200"]
    ports:
      - 8200:8200
    depends_on:
      - kibana
      - elasticsearch
 

YML在线语法检查:https://www.bejson.com/validators/yaml_editor/
参考资料:https://www.cnblogs.com/zhizhengzhaoxi/p/netcore-with-microservices-06.html