搭建skywalking单机环境
- 第一步,搭建一个 Elasticsearch 服务。
- 第二步,下载 SkyWalking 软件包。
- 第三步,搭建一个 SkyWalking OAP 服务。
- 第四步,启动一个 Spring Boot 应用,并配置 SkyWalking Agent。
- 第五步,搭建一个 SkyWalking UI 服务。
版本需求
jdk 1.8
elasticsearch 7.17.13
skywalking 6.6.0
1.1 搭建elasticsearch服务
docker pull elasticsearch:7.17.13
docker run -d \
--name elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e "xpack.security.enabled=true" \
--memory 1g \
elasticsearch:7.17.13
1.2 配置elasticsearch密码
docker exec -it elasticsearch bash
root@8c79eb826300:/usr/share/elasticsearch# bin/elasticsearch-setup-passwords auto
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
The passwords will be randomly generated and printed to the console.
Please confirm that you would like to continue [y/N]y
Changed password for user apm_system
PASSWORD apm_system = biUWozNBkw0m37LPski4
Changed password for user kibana_system
PASSWORD kibana_system = pXX0HrInPhDp4d1ADP7j
Changed password for user kibana
PASSWORD kibana = pXX0HrInPhDp4d1ADP7j
Changed password for user logstash_system
PASSWORD logstash_system = tAbxJb80DuGMQFTRL365
Changed password for user beats_system
PASSWORD beats_system = bDjwozKscMm1wAUQqfTU
Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = vPNCbw7GtuSmpMhUZPdB
Changed password for user elastic
PASSWORD elastic = 3PIlMi12196C6n2zdnlx
1.3 测试elasticsearch服务访问是否正常
[root@devops ~]# curl -X GET -u elastic:3PIlMi12196C6n2zdnlx http://localhost:9200
{
"name" : "8c79eb826300",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "YCHnixeQRfWlCmgcUh14Vw",
"version" : {
"number" : "7.17.13",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "2b211dbb8bfdecaf7f5b44d356bdfe54b1050c13",
"build_date" : "2023-08-31T17:33:19.958690787Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
2.1 下载skywalking安装包并解压
mkdir skywalking && cd skywalking
wget https://archive.apache.org/dist/skywalking/6.6.0/apache-skywalking-apm-es7-6.6.0.tar.gz
tar -zxvf apache-skywalking-apm-es7-6.6.0.tar.gz
2.2 修改skywalking OAP配置文件
注:1、storage.elasticsearch7配置项,设置使用 Elasticsearch 7.X 版本作为存储器。这里,我们打开注释,并记得通过 nameSpace
设置 Elasticsearch 集群名。
2、storage.elasticsearch配置项,设置使用 Elasticsearch 6.X 版本作为存储器。这里,我们无需做任何改动。
3、storage.h2配置项,设置使用 H2 作为存储器。这里,我们需要手动注释掉,因为 H2 是默认配置的存储器。
vim config/application.yml
2.3 启动skywalking OAP服务
[root@devops apache-skywalking-apm-bin-es7]# bin/oapService.sh
SkyWalking OAP started successfully!
2.4 搭建skywalking UI服务并修改配置。
注:
server.port
:SkyWalking UI 服务端口。collector.ribbon.listOfServers
:SkyWalking OAP 服务地址数组。因为 SkyWalking UI 界面的数据,是通过请求 SkyWalking OAP 服务来获得的。
[root@devops apache-skywalking-apm-bin-es7]# vim webapp/webapp.yml
2.5 启动skywalking UI服务
[root@devops apache-skywalking-apm-bin-es7]# bin/webappService.sh
SkyWalking Web Application started successfully!
3.1 拷贝skywalking agent到项目上
注:我们需要将 apache-skywalking-apm-bin/agent
目录,拷贝到 Java 应用所在的服务器上。这样,Java 应用才可以配置使用该 SkyWalking Agent。
[root@devops apache-skywalking-apm-bin-es7]# ll
total 107844
drwxrwxr-x 8 1001 1002 143 Dec 24 2019 agent
drwxr-xr-x 2 root root 241 Sep 25 13:39 bin
drwxr-xr-x 2 root root 221 Sep 25 16:33 config
-rwxrwxr-x 1 1001 1002 29138 Dec 24 2019 LICENSE
drwxrwxr-x 3 1001 1002 4096 Sep 25 12:58 licenses
drwxr-xr-x 2 root root 98 Sep 25 14:42 logs
-rwxrwxr-x 1 1001 1002 31850 Dec 24 2019 NOTICE
drwxrwxr-x 2 1001 1002 12288 Dec 24 2019 oap-libs
-rw-rw-r-- 1 1001 1002 1978 Dec 24 2019 README.txt
-rw-r--r-- 1 root root 110339488 Sep 25 15:06 sprintboot.jar
drwxr-xr-x 2 root root 53 Sep 25 16:48 webapp
3.2 配置agent java启动脚本
注: SW_AGENT_NAME 配置项,agent的名字。
SW_AGENT_COLLECTOR_BACKEND_SERVICES配置项,配置 agent collector 地址。
docker pull java:8-jdk-alpine
docker run -d -p 18082:8080 --name sprintboot \
-v ./agent:/agent \
-v ./sprintboot.jar:/sprintboot.jar \
-v /etc/localtime:/etc/localtime \
-e "SW_AGENT_NAME=sprintboot-demo" \
-e "SW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.1.200:11800" \
java:8-jdk-alpine \
java -Xms256m -Xmx512m -jar -javaagent:/agent/skywalking-agent.jar /sprintboot.jar
3.3 测试并访问
测试访问sprintboot-demo项目
测试访问skywalking UI服务