CentOS7 SkyWalking APM8.1.0 搭建与项目集成使用

SkyWalking介绍

 

 

 

SkyWalking是什么?

SkyWalking是一个可观测性分析平台和应用性能管理系统,提供分布式跟踪、服务网格遥测分析、度量聚合和可视化一体化解决方案,并支持多种开发语言。

官网:http://skywalking.apache.org/  两天前即2020年8月3号 8.1.0正式发布


 

安装

SkyWalking支持单机与集群部署(默认standalone),并支持多种数据存储(默认H2),如mysql,Elasticsearch,Elasticsearch7等。

本文以SkyWalking8.1.0并使用Elasticsearch来存储数据进行讲解

ElasticSearch搭建请参考我的另外一篇文章

SkyWalking下载地址:http://skywalking.apache.org/downloads/

由于要使用Elasticsearch,下载的时候请注意选择:

 

 

 点击tar后选择一个地址即可开始下载

相关操作命令如下:

cd /usr/local/src<br>wget https://mirror.bit.edu.cn/apache/skywalking/8.1.0/apache-skywalking-apm-es7-8.1.0.tar.gz<br>tar -xvf apache-skywalking-apm-es7-8.1.0.tar.gz<br><br>cd /usr/local/src/apache-skywalking-apm-bin-es7

修改相关配置:

1.web访问端口 8080->38080 (本机8080已被其它服务占用)

vi /usr/local/src/apache-skywalking-apm-bin-es7/webapp/webapp.yml
#将server.port: 8080 改为38080
1
2
#或者使用sed命令
sed -i 's$8080$38080$g' /usr/local/src/apache-skywalking-apm-bin-es7/webapp/webapp.yml

2.修改使用Elasticsearch(默认使用h2)

 

 

 注意:nameSpace要和Elasticsearch集群的cluster_name一致

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
name" : "elk02",
  "cluster_name" : "es-cluster",
  "cluster_uuid" : "GnUvYMcGRK2GVJsvkwM7FQ",
  "version" : {
    "number" : "7.2.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "508c38a",
    "build_date" : "2019-06-20T15:54:18.811730Z",
    "build_snapshot" : false,
    "lucene_version" : "8.0.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"

#启动

/usr/local/src/apache-skywalking-apm-bin-es7/bin/startup.sh

#加入到开机启动

1
2
cat "/usr/local/src/apache-skywalking-apm-bin-es7/bin/startup.sh" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

#确认应用启动成功端口正常监听

 

 

 #如果出错可以查看日志并根据错误类型进行处理

 

#然后可以打开浏览器进行查看  ip地址:38080

 

 

 一开始是没数据的,待项目集成后再刷新页面就可以看到数据了。


 

项目集成

  • jar运行
1
2
3
4
5
6
7
java -javaagent:/opt/skywalking/agent/skywalking-agent.jar
     -Dskywalking.agent.service_name=xiao_test
     -Dskywalking.collector.backend_service=XXX.XXX.XXX.XXX:11800
     -jar xxxx.jar
#javaagent agent包路径
#skywalking.agent.service_name 服务名称
#skywalking.collector.backend_service 采集信息的服务地址 agent.config配置了就可以不用指定
  • docker运行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#1.在打包插件中增加entrypoint并注意替换最后一部分和mainClass相同,然后打包
<plugin>
    <groupId>com.google.cloud.tools</groupId>
    <artifactId>jib-maven-plugin</artifactId>
    <version>1.7.0</version>
    <configuration>
        <from>
            <!-- 把agent拷贝到基础镜像去/opt/skywalking/agent/skywalking-agent.jar基础镜像去-->
            <image>hub.dev.zycloud.info/cx/oracle-jdk-with-skywalking:8</image>
            <auth>
                <username>xxxxxxxx</username>
                <password>xxxxxxxx</password>
            </auth>
        </from>
        <to>
            <image>hub.dev.zycloud.info/his/${project.artifactId}:${git.commit.id.abbrev}</image>
            <auth>
                <username>xxxxxxxx</username>
                <password>xxxxxxxx</password>
            </auth>
        </to>
        <allowInsecureRegistries>true</allowInsecureRegistries>
        <container>
            <useCurrentTimestamp>true</useCurrentTimestamp>
            <labels>
                <authors>${env.USERNAME}</authors>
                <version>${project.version}</version>
                <git-branch>${git.branch}</git-branch>
                <git-commit-id>${git.commit.id.abbrev}</git-commit-id>
                <git-commit-message>${git.commit.message.short}</git-commit-message>
                <git-commit-user>${git.commit.user.name}</git-commit-user>
            </labels>
            <environment>
                <SPRING_PROFILES_ACTIVE>pro</SPRING_PROFILES_ACTIVE>
                <SW_AGENT_NAME>${project.name}</SW_AGENT_NAME>
                <SW_LOGGING_DIR>/var/log/${project.artifactId}</SW_LOGGING_DIR>
                <SW_LOGGING_MAX_HISTORY_FILES>50</SW_LOGGING_MAX_HISTORY_FILES>
            </environment>
            <mainClass>
                info.zycloud.sass.application.nacos.user.NacosUserApplication
            </mainClass>
            <jvmFlags>
                <jvmFlag>-javaagent:/opt/skywalking/agent/skywalking-agent.jar</jvmFlag>
            </jvmFlags>
        </container>
    </configuration>
    <executions>
        <execution>
            <phase>deploy</phase>
            <goals>
                <goal>build</goal>
            </goals>
        </execution>
    </executions>
</plugin>
 
#2.docker运行
docker run -d --env SW_AGENT_COLLECTOR_BACKEND_SERVICES="192.168.38.100:11800" -p 29502:9502 hub.dev.zycloud.info/his/user:v1
 
或者将变量信息统一存放到env文件中
cat config.env
SW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.38.100:11800
 
docker run -d --env-file=config.env -p 29502:9502 hub.dev.zycloud.info/his/user:v1#3.访问应用中服务后访问skywalking UI界面查看相应信息

 

 

posted @   肖哥哥  阅读(3882)  评论(2编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
生命不息  奋斗不止  每天进步一点点
点击右上角即可分享
微信分享提示