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