前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker安装SkyWalking并监控Java程序

Docker安装SkyWalking并监控Java程序

作者头像
余生大大
发布2022-11-02 16:17:33
1.3K0
发布2022-11-02 16:17:33
举报
文章被收录于专栏:余生大大余生大大

安装环境

安装Skywalking可以采用H2存储数据或者ElasticSearch存储,这里采用ElasticSearch存储,采用OAP处理数据,并基于Skywalking UI展示数据。因为安装ElasticSearch的要求比较高建议内存在2G以上

配置列表
  • 硬件
    • 虚拟机配置:2C4G
    • 操作系统:CentOS 7.6 64bit
    • docker版本: 20.10.5
  • 软件
    • ElasticSearch 7.12.1
    • Skywalking-OAP 8.6.0-es7
    • Skywalking UI 8.6.0

安装ElasticSearch7

Skywalking可以选择H2存储,也就是内存存储,但是做demo可以,在正式使用时还是使用elasticsearch,本篇选择安装ElasticSearch7。

使用docker安装启动elasticsearch

代码语言:javascript
复制
docker run --name elasticsearch -p 9200:9200  -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -d elasticsearch:7.12.1
在这里插入图片描述
在这里插入图片描述

安装完成访问服务器ip+端口查看是否成功,上面命令映射的9200端口就直接访问,如下图出现json串即为成功

代码语言:javascript
复制
ip:9200
在这里插入图片描述
在这里插入图片描述

如果ElasticSearch没有正常启动可能是因为服务器的配置比较低,可以调整一下服务器的配置参数,让服务配置参数达到ElasticSearch要求。

代码语言:javascript
复制
#修改虚拟机配置
vi /etc/security/limits.conf

在最下面增加以下代码

代码语言:javascript
复制
* soft nofile 65536
* hard nofile 65536

修改vi /etc/sysctl.conf,在最下面增加以下代码

代码语言:javascript
复制
vm.max_map_count=655360

刷新配置立即生效

代码语言:javascript
复制
/sbin/sysctl -p

安装Skywalking OAP

使用docker安装skywalking-oap的8.6.0-es7版本,配套我们的ElasticSearch 7.12.1,命令如下

代码语言:javascript
复制
docker run \
--name skywalking-oap \
--restart always \
-p 11800:11800 \
-p 12800:12800 -d \
--privileged=true \
-e TZ=Asia/Shanghai \
-e SW_STORAGE=elasticsearch7 \
-e SW_STORAGE_ES_CLUSTER_NODES=10.0.4.14:9200 \
-v /etc/localtime:/etc/localtime:ro \
apache/skywalking-oap-server:8.6.0-es7
在这里插入图片描述
在这里插入图片描述

参数说明:

代码语言:javascript
复制
# 存储服务采用ElasticSearch7
-e SW_STORAGE=elasticsearch7
# 存储服务路径(IP+Port)
-e SW_STORAGE_ES_CLUSTER_NODES=10.0.4.14:9200

安装完可以使用以下docker命令核对是否启动成功

代码语言:javascript
复制
docker ps -a 

如下图则两个容器都已经正常启动了

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

安装Skywalking UI

Skywalking UI是对Skywalking收集到的数据进行分析展示的控制台服务,需要指定Skywalking OAP服务地址,否则展示不了监控的数据。

使用docker安装启动skywalking-ui:8.6.0,如以下命令

代码语言:javascript
复制
docker run \
--name skywalking-ui \
--restart always \
-p 8081:8080 -d \
--privileged=true \
--link skywalking-oap:skywalking-oap \
-e TZ=Asia/Shanghai \
-e SW_OAP_ADDRESS=10.0.4.14:12800 \
-v /etc/localtime:/etc/localtime:ro \
apache/skywalking-ui:8.6.0
在这里插入图片描述
在这里插入图片描述

参数说明:

代码语言:javascript
复制
# Skywalking UI映射到外部的端口为8081
-p 8081:8080
# Skywalking OAP的服务地址,也就是第二步的操作
-e SW_OAP_ADDRESS=10.0.4.14:12800

使用docker命令核对三个容器的启动状态

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

Skywalking UI安装完成后就可以访问ui页面了,访问如下地址

代码语言:javascript
复制
服务器ip+8081

出现以下页面即搭建完成

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

Java接入Skywalking

java项目接入Skywalking需要先下载agent包:apache-skywalking-java-agent

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

下载后如上图进行解压,不要把agent的jar包挪移出来,需要同目录的配置文件

1. Idea启动接入

编辑spring boot项目的启动类配置

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

在VM option这一行写入以下配置

代码语言:javascript
复制
-javaagent:D:\Jar\skywalking-agent\skywalking-agent.jar
-DSW_AGENT_NAME=yun-tool-app
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800

参数解释:

代码语言:javascript
复制
# 本地的agent包地址
-javaagent:D:\Jar\skywalking-agent\skywalking-agent.jar
# 这个是统计到skywalking的名称
-DSW_AGENT_NAME=app
# 后面是skywaking-oap的地址
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800

skywalking追踪信息收集器有两个,一个是 gRPC的用于后端服务,一个是Http 收集客户端浏览器的采集信息 ,

Http默认端口 12800,gRPC默认端口 11800。

2. jar包接入

如果使用jar包命令的方式就是如下命令

代码语言:javascript
复制
java -javaagent:/application/app/agent/skywalking-agent.jar -jar /application/app/app-0.0.1-SNAPSHOT.jar

切记不要把skywalking-agent.jar这个包提出到解压的文件外

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装环境
    • 配置列表
    • 安装ElasticSearch7
    • 安装Skywalking OAP
    • 安装Skywalking UI
    • Java接入Skywalking
      • 1. Idea启动接入
        • 2. jar包接入
        相关产品与服务
        Elasticsearch Service
        腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档