Skywalking部署
Skywalking部署
1.单机部署
1.1 准备容器配置文件
新建docker-compose.yml文件:
version: '3.3'
services:
es7:
image: elasticsearch:7.10.1
container_name: es7
hostname: es7
restart: always
ports:
- 9200:9200
- 9300:9300
environment:
- discovery.type=single-node #单例模式
- bootstrap.memory_lock=true #锁定物理内存地址,防止es内存被交换出去,也就是避免es使用swap交换分区,频繁的交换,会导致IOPS变高
- "ES_JAVA_OPTS=-Xms1g -Xmx1g -Xmn375m" #堆内存大小
- TZ=Asia/Shanghai
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./elasticsearch/data:/usr/share/elasticsearch/data
skywalking-oap:
image: apache/skywalking-oap-server:8.3.0-es7
container_name: skywalking-oap
hostname: skywalking-oap
restart: always
depends_on:
- es7
links:
- es7
ports:
- 11800:11800
- 12800:12800
environment:
TZ: Asia/Shanghai
SW_STORAGE: elasticsearch7
SW_STORAGE_ES_CLUSTER_NODES: es7:9200
skywalking-ui:
image: apache/skywalking-ui:8.3.0
container_name: skywalking-ui
hostname: skywalking-ui
restart: always
depends_on:
- skywalking-oap
links:
- skywalking-oap
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
SW_OAP_ADDRESS: skywalking-oap:12800
1.2 启动服务
# 启动服务
docker-compose up -d
# 查看启动后的服务情况
docker-compose ps
1.3 访问服务
- skywalking-ui:http://服务器IP:8080
- skywalking数据端口:11800
2.集群部署
2.1 准备工作
- Elasticsearch集群,准备集群访问地址,参考ELK部署内容,可以直接使用ELK中部署的Elasticsearch集群。
- 负载均衡服务器,用于配置SkyWalking访问,参考Nginx部署内容。
- 至少2台服务器,用于集群高可用部署,资源紧张时可以与其他组件共用服务器。
- 需要使用到的容器镜像包括以下2个,需要提前拉取并导出:
- apache/skywalking-oap-server:8.8.1
- apache/skywalking-ui:8.8.1
2.2 导入镜像
将上一步导出的容器镜像,拷贝到医院环境服务器并导入:
docker load -i skywalking-oap-server.tar
docker load -i skywalking-ui.tar
2.3 配置文件
默认安装在数据盘/hos/下:
mkdir /hos/skywalking
cd /hos/skywalking
创建配置文件docker-compose.yml,输入以下内容:
version: '3.3'
services:
skywalking-oap:
image: apache/skywalking-oap-server:8.8.1
hostname: skywalking-oap
restart: always
ports:
- 11800:11800
environment:
TZ: Asia/Shanghai
SW_STORAGE: elasticsearch
SW_STORAGE_ES_CLUSTER_NODES: 10.241.12.25:9200
skywalking-ui:
image: apache/skywalking-ui:8.8.1
restart: always
depends_on:
- skywalking-oap
links:
- skywalking-oap
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
SW_OAP_ADDRESS: http://skywalking-oap:12800
其中,SW_STORAGE_ES_CLUSTER_NODES为elasticsearch的地址,如果集群部署,则填写所有地址。或者填写elasticsearch的负载地址。
2.4 启动服务
docker-compose up -d
2.5 配置负载均衡
nginx配置文件中增加以下tcp代理:
stream {
upstream skywalking-oap-server {
server 10.241.12.4:11800;
server 10.241.12.5:11800 backup;
}
upstream skywalking-ui {
server 10.241.12.4:8080;
server 10.241.12.5:8080 backup;
}
server {
listen 11800;
proxy_pass skywalking-oap-server;
}
server {
listen 8080;
proxy_pass skywalking-ui;
}
}
2.6 访问验证
访问负载均衡虚拟IP地址:8080,即可打开skywalking的web页面。
3.使用方式
3.1 下载Agent
下载地址:https://archive.apache.org/dist/skywalking/java-agent/8.8.0/apache-skywalking-java-agent-8.8.0.tgz
3.2 修改配置
# 解压
tar zxf apache-skywalking-java-agent-8.8.0.tgz
# 编辑配置文件
vim skywalking-agent/config/agent.config
修改如下内容:
# 显示在skywalking页面上的应用系统的名称
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
# skywalking的服务端的地址
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}
3.3 启动应用
java -javaagent:/skywalking-agent/skywalking-agent.jar -jar app.jar
其中,-javaagent:/skywalking-agent/skywalking-agent.jar
是Agent的路径。