SkyWalking安装配置
SkyWalking安装配置
安装 ElasticSearch
ElasticSearch作为SkyWalking 存储
创建docker目录
mkdir /usr/local/docker/elasticsearch
cd /usr/local/docker/elasticsearch
vim docker-compose.yml
将下方代码拷贝到docker-compse.yml文件中
version: '3.3'
services:
elasticsearch:
image: wutang/elasticsearch-shanghai-zone:6.3.2
container_name: elasticsearch
restart: always
ports:
- 9200:9200
- 9300:9300
environment:
cluster.name: elasticsearch
运行
docker-compose up -d
浏览器访问 http://localhost:9200/ 查看是否成功
下载安装 SkyWalking
下载地址:http://skywalking.apache.org/downloads/
将下载的apache-skywalking-apm-6.5.0.tar.gz放到 /usr/local目录下,可以用sftp
sftp:/root> cd /usr/local
sftp:/usr/local> put D:\编程工具\apache-skywalking-apm-6.5.0.tar.gz
sftp:/usr/local>
解压
tar -xzvf apache-skywalking-apm-6.5.0.tar.gz
删除文件
rm /usr/local/apache-skywalking-apm-6.5.0.tar.gz
配置 SkyWalking
进入 apache-skywalking-apm-bin/config 目录并修改 application.yml 配置文件
vim application.yml
将storage下的elasticsearch下的注释去掉
将storage下的h2及其h2下的所有行注释
将elasticsearch下的clusterNodes中的地址改写成我们上面配置好的elasticsearch的运行地址
修改后:wq保存退出
更改访问地址
进入 apache-skywalking-apm-bin/webapp 目录并修改 webapp.yml 配置文件
将server下的port修改成访问的端口号
运行SkyWalking
进入进入 apache-skywalking-apm-bin/bin 目录
运行startup.sh
sh startup.sh
访问SkyWalking
http://localhost:8083
配置SkyWalking客户端探针
利用maven-assembly-plugin打包
idea新建项目skywalking-client
将下载的skywalking文件夹中的agent文件夹复制到项目中
新建pom.xml并将项目设置为maven项目
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wenqu</groupId>
<artifactId>skywalking-client</artifactId>
<version>1.0.0-SNAPSHOT</version>
<dependencies>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>make-assembly</id>
<!-- 绑定到package生命周期 -->
<phase>package</phase>
<goals>
<!-- 只运行一次 -->
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<finalName>skywalking</finalName>
<!-- 配置描述符文件 -->
<descriptor>src/main/resources/assembly.xml</descriptor>
</configuration>
</plugin>
</plugins>
</build>
</project>
新建src/main/resources文件夹,并设置成resources文件夹
在resources文件夹中新建assembly.xml文件
<assembly>
<id>6.5.0</id>
<formats>
<!-- 打包的文件格式,支持 zip、tar.gz、tar.bz2、jar、dir、war -->
<format>tar.gz</format>
</formats>
<!-- tar.gz 压缩包下是否生成和项目名相同的根目录,有需要请设置成 true -->
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<!-- 是否把本项目添加到依赖文件夹下,有需要请设置成 true -->
<useProjectArtifact>false</useProjectArtifact>
<outputDirectory>lib</outputDirectory>
<!-- 将 scope 为 runtime 的依赖包打包 -->
<scope>runtime</scope>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<!-- 设置需要打包的文件路径 -->
<directory>agent</directory>
<!-- 打包后的输出路径 -->
<outputDirectory></outputDirectory>
</fileSet>
</fileSets>
</assembly>
项目构架如下
执行mvn clean install
在项目文件夹target中就会自动打包一个tar.gz文件
在本地仓库中就会自动生成skywalking-client-1.0.jar
nexus建立私有maven库进行打包和拉取
我们可以上利用nexus建立私有maven库进行打包和拉取
安装Nexus私有仓库,详细见
https://blog.csdn.net/chinaxsw/article/details/103527293
修改maven settings配置
在servers节点下添加
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
项目skywalking-client修改如下
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wenqu</groupId>
<artifactId>skywalking-client</artifactId>
<version>1.0.0-SNAPSHOT</version>
<dependencies>
</dependencies>
<!--配置私有仓库-->
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.1.88:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.1.88:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>make-assembly</id>
<!-- 绑定到package生命周期 -->
<phase>package</phase>
<goals>
<!-- 只运行一次 -->
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<finalName>skywalking</finalName>
<!-- 配置描述符文件 -->
<descriptor>src/main/resources/assembly.xml</descriptor>
</configuration>
</plugin>
</plugins>
</build>
</project>
执行 mvn deploy
mvn deploy -Dmaven.test.skip=true
Nexus私有库
nexus中就出现了skywalking-client的jar库
项目拉取私有库jar
新建Maven项目
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wenqu</groupId>
<artifactId>nexus-client</artifactId>
<version>1.0</version>
<dependencies>
<!-- skywalking探针,从私有库中拉取 -->
<dependency>
<groupId>com.wenqu</groupId>
<artifactId>skywalking-client</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
<repositories>
<!-- 配置nexus远程私有仓库 -->
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://192.168.1.88:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus Plugin Repository</name>
<url>http://192.168.1.88:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</project>