docker-compose部署单点apm链路追踪

news2025/2/8 2:16:28

一.docker-compose 安装下载

1、登入 GitHub ,找到对应版本
curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2、将下载后的文件放到 /usr/local/bin 目录下,并添加执行权限
chmod +x /usr/local/bin/docker-compose

二.APM组件介绍 https://blog.csdn.net/u013613428/article/details/86667240
https://blog.csdn.net/weixin_45784983/article/details/109285319

三,APM-Server 部署安装及使用示例

  1. 编写 docker-es-kibana.yml 文件,该文件所在位置:/data/log
version: '2.2'
services:
  es01:
    image: elasticsearch:7.8.0
    container_name: es01
    environment:
      - bootstrap.memory_lock=true
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /data/log/es/data:/usr/share/elasticsearch/data
      - /data/logs/es/plugins:/usr/share/elasticsearch/plugins
      - /data/log/es/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    ports:
      - 9200:9200
    networks:
      - elastic

  kib01:
    image: kibana:7.8.0
    container_name: kib01
    ports:
      - 5601:5601
    environment:
      ELASTICSEARCH_URL: http://es01:9200
      ELASTICSEARCH_HOSTS: http://es01:9200
    networks:
      - elastic

volumes:
  data01:
    driver: local

networks:
  elastic:
    driver: bridge
  1. elasticsearch.yml 文件配置,该文件所在位置:/data/log/es
cluster.name: es-docker-cluster
# 节点名称
node.name: es01
# 绑定host,0.0.0.0代表当前节点的ip
network.host: 0.0.0.0
# 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址(本机ip)
#network.publish_host: 192.168.200.135
# 设置对外服务的http端口,默认为9200
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
# 是否支持跨域,默认为false
http.cors.enabled: true
# 当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/
http.cors.allow-origin: "*"
# 表示这个节点是否可以充当主节点
node.master: true
# 是否充当数据节点
node.data: true
# 所有主从节点ip:port
#discovery.seed_hosts: ["192.168.200.135:9300"]  #本地只有一个节点,无法正常启动,先注释
# 这个参数决定了在选主过程中需要 有多少个节点通信  预防脑裂 N/2+1
discovery.zen.minimum_master_nodes: 1
#初始化主节点
#cluster.initial_master_nodes: ["es-node-1"]  #本地只有一个节点,无法正常启动,先注释
  1. 运行es 、kibana
    分配权限给es目录,进入目录: /data/log
    es启动之后会生成一个node,因为这个启动前没有,启动后会报没有权限,所以要重新执行下 ,然后docker重启es
    chmod 777 /data/log/es/**
# 进入 /data/log
cd /data/log

# 分配权限
chmod 777 es/**

# 启动 es kibana

docker-compose  -f docker-es-kibana.yml up -d
  1. 在/data/log 下新建 apm目录,进入apm目录编辑文件:apm-server.yml
    修改 output.elasticsearch 的地址
apm-server:
  host: "0.0.0.0:8200"
#queue:
  #mem:
    # Max number of events the queue can buffer.
    #events: 4096

#setup.template.pattern: "apm-%{[observer.version]}-*"
#setup.template.overwrite: false
#setup.template.settings:
  #index:
    #number_of_shards: 1
    #codec: best_compression
    #number_of_routing_shards: 30
    #mapping.total_fields.limit: 2000

output.elasticsearch:
  hosts: ["43.155.85.161:9200"]

  # Number of workers per Elasticsearch host.
  #worker: 1

  indices:
    - index: "apm-%{[observer.version]}-sourcemap"
      when.contains:
        processor.event: "sourcemap"

    - index: "apm-%{[observer.version]}-error-%{+yyyy.MM.dd}"
      when.contains:
        processor.event: "error"

    - index: "apm-%{[observer.version]}-transaction-%{+yyyy.MM.dd}"
      when.contains:
        processor.event: "transaction"

    - index: "apm-%{[observer.version]}-span-%{+yyyy.MM.dd}"
      when.contains:
        processor.event: "span"

    - index: "apm-%{[observer.version]}-metric-%{+yyyy.MM.dd}"
      when.contains:
        processor.event: "metric"

    - index: "apm-%{[observer.version]}-onboarding-%{+yyyy.MM.dd}"
      when.contains:
        processor.event: "onboarding"

  #max_retries: 3
  #bulk_max_size: 50
  #backoff.max: 60s
  #timeout: 90

#logging.level: info
#logging.to_syslog: true
#logging.metrics.enabled: false
#logging.metrics.period: 30s
#logging.to_files: true
#logging.files:
  #path: /var/log/apm-server
  #name: apm-server
  #rotateeverybytes: 10485760 # = 10MB
  #keepfiles: 7
  #permissions: 0600
  #interval: 0
#logging.json: false

#http.enabled: false
#http.host: localhost
#http.port: 5066
  1. 在apm目录下执行命令
    cd /data/log/apm
docker run -d --name=apm-server --user=apm-server --volume="$(pwd)/apm-server.yml:/usr/share/apm-server/apm-server.yml:ro" -p 8200:8200 docker.io/elastic/apm-server:7.9.0

  1. 在kibana添加apm插件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7.下载客https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/
在这里插入图片描述

wget https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.31.0/elastic-apm-agent-1.31.0.jar

8.启动客户端java接入apm服务

nohup java -javaagent:/opt/apm/elastic-apm-agent-1.32.0.jar -Delastic.apm.service_name=osale-admin-seller -Delastic.apm.server_url=http://43.155.85.161:8200 -Delastic.apm.application_packages=osale-admin-seller -jar osale-admin-seller-0.0.1-SNAPSHOT.jar --server.port=8080 2>&1 &

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/646445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

客服部2023年中总结|用心服务,稳步提升用户体验

一、人工智能相辅相成:提升服务效能 2023年上半年,CSDN人工客服处理客诉总量为26859条,同比去年客诉量38695,下降30.59%;问题解决效率为72min,同比下降19%。 客诉量TOP5: 付费专栏质量问题退费博文审核未…

一文吃透低代码平台的衍生历程、优势及未来趋势

一、低代码概念 低代码开发平台是一种无需编码或者只需要少量代码即可快速生成应用程序的开发平台,通过可视化进行应用程序开发的方法,让不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程…

Unity3D:场景可见性

推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 场景可见性 Unity 的场景可见性控件可用于在 Scene 视图中快速隐藏和显示游戏对象,而无需更改它们在游戏中的可见性。 这可用于处理难以查看和选择特定游戏对象的大型或…

Pytorch中的数据操作和预处理

Pytorch中的数据操作和预处理 整体概述 在Pytorch中的torch.util.data模块包含着一些常用的数据预处理的操作,主要用于数据的读取、切分、准备等 常用的数据操作类如下表所示 类功能torch.utils.data.TensorDataset()将数据处理为张量torch.utils.data. ConcatDat…

sqli-labs靶场通关(11-20)

接着上一条博客 Less-11 打开题我们发现界面发生了明显的变化,变成了登录界面。前十关的注入点都在上方的url中(get型),从11关开始就变为了post型,本题的注入点就在输入框中。 我们随便输入比如1,会出现以下界面,上方…

外贸企业必备的客户服务系统!

客户服务已经成为现在市场中,各个企业关注的重点对象。特别是对于外贸企业来讲,优质的客户服务不仅能为客户留下好的印象,提升企业的品牌形象,还能为企业带来长期的收益。而想要做好客户服务,选择一款合适的客户服务系…

验证码就用它,一键接入,优雅又有趣

现在登录什么账号,基本都用到验证码,多数是短信验证码,不知道大家是什么感受,了不起倒不太喜欢这种操作,每次一登录一个账号就要去手机清理一下短信,不然小红点看着难受。不过近两年行为验证码异军突起&…

估计一个点云的表面法线

包含相关头文件 #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <pcl/features/normal_3d.h> #include <pcl/visualization/pcl_visualizer.h> 定义了两个类型别名 PointT 和 PointNT&#xff0c;用于表示输入点云和输出点云中各…

Splashtop 在2023年 IT Europa 渠道奖评选活动中当选“特别推荐供应商”

2023年5月24日 加利福尼亚州库比蒂诺 Splashtop 最近在 IT Europa 渠道奖评选活动中&#xff0c;因与 Beyond Digital Solutions 合作的创新客户应用程序而当选年度垂直应用解决方案类别的“特别推荐供应商”。 Beyond Digital Solutions 是一家综合广告公司&#xff0c;主要…

SpringBoot + K8S 中的滚动发布、优雅停机、弹性伸缩、应用监控、配置分离

来源&#xff1a;blog.csdn.net/qq_14999375/article/details/123309636 前言 配置 健康检查 滚动更新 弹性伸缩 Prometheus集成 配置分离 汇总配置 业务层面 运维层面 前言 K8s SpringBoot实现零宕机发布&#xff1a;健康检查滚动更新优雅停机弹性伸缩Prometheus监控…

基于java jsp+mybatis+Spring+的SSM二手交易网站设计实现

基于java jspmybatisSpring的SSM二手交易网站设计实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 …

如何做好软件开发项目管理?

软件越来越多地出现在我们的生活中。为了快速向大众提供这些产品&#xff0c;软件公司必须知道如何有效管理他们的软件项目。 本文将讨论软件项目管理的重要性&#xff0c;以及投资软件项目管理平台的一些好处。 什么是软件开发的项目管理&#xff1f; 软件项目是创建完整的…

车辆管理系统为企业带来4大作用,原来拥有该系统也如此简单

什么是车辆管理系统 车辆管理系统&#xff08;Vehicle Management System&#xff09;是一种用于管理车辆、驾驶员和交通管理的系统。它可以便捷地管理车辆信息&#xff0c;包括车辆的基本信息、行驶记录、保养维修记录、司机信息以及车辆运营成本等。车辆管理系统可以为车队管…

开源赋能 工业铸魂|2023开放原子全球开源峰会开源工业软件分论坛圆满举行

6 月 12 日&#xff0c;由开放原子开源基金会主办&#xff0c;开源工业软件工作委员会&#xff08;以下简称“工委会”&#xff09;承办&#xff0c;工业和信息化部电子第五研究所、哈尔滨工程大学青岛创新发展基地协办的 2023 开放原子全球开源峰会开源工业软件分论坛在京举行…

Linux: 关于blocked for more than 600 seconds的解决方法

背景 在Centos 7的系统日志 /var/log/message中出现大量的 “blocked for more than 600 seconds”和“echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.” 的错误。 如下图所示&#xff1a; 问题原因 默认情况下&#xff0c; Linux最多会使…

这所211非常保护一志愿,录取最低分263分,多个专业上线即录取!

一、学校及专业介绍 云南大学&#xff08;Yunnan University&#xff09;&#xff0c;简称云大&#xff08;YNU&#xff09;&#xff0c;位于云南省昆明市&#xff0c;是教育部与云南省“以部为主、部省合建”的全国重点大学&#xff0c;国家“双一流”建设高校&#xff0c;云南…

EBU5476 Microprocessor System Design 知识点总结_4 Interrupt

Interrupts 比如我们程序的逻辑是按键按下的时候点亮小灯。第一种做法是 Polling 轮询&#xff0c;一直看&#xff1a;按键按下了吗&#xff1f;没有。按下了吗&#xff1f;没。按下了吗&#xff1f;…… 这样主要是效率低浪费CPU资源&#xff0c;如果为了节约资源轮询间隔大…

SpringBoot2.3集成Spring Security(一)

业务背景 首先一个项目最基础的部分一定是登录部分&#xff0c;那么有了登录肯定会有对应的权限校验、身份校验。 那么在没有使用Spring Security之前&#xff0c;大多数设计思路都是通过各种拦截器、监听器来控制用户的访问。但是这种方式&#xff0c;后续的维护会越来越复杂…

组合模式(十二)

请相信自己&#xff0c;请再次相信自己&#xff0c;请一定要相信自己 上一章简单介绍了装饰者模式(十一), 如果没有看过, 请观看上一章 一. 组合模式 引用 菜鸟教程里面的 组合 模式介绍: https://www.runoob.com/design-pattern/composite-pattern.html 组合模式&#xff0…

有多少运维配置防火墙忽略了长连接?

长连接的使用场景 当业务中客户端和服务器长时间无数据交互&#xff0c;空闲时间超过1800秒&#xff0c;会话会因超时被清除。后续客户端没有重新发起连接&#xff0c;直接发送控制报文时导致数据不通。常见于数据库连接。 1. 重点说明 以天为单位的会话超时需要开启长效会话比…