前言
Application performance monitor tool for distributed systems, especially designed for microservices, cloud native and container-based (Kubernetes) architectures.
SkyWalking-介绍
官网首页:https://skywalking.apache.org/
源码仓库:https://github.com/apache/skywalking
SkyWalking-服务端搭建
docker-compose.yml
(使用内存H2存储)
version: '3.3'
services:
skywalking-oap-server:
image: apache/skywalking-oap-server:9.1.0
container_name: skywalking-oap-server
restart: always
ports:
- 11800:11800
- 12800:12800
environment:
SW_STORAGE: h2
TZ: Asia/Shanghai
# volumes:
# - ./oap/conf/alarm-settings.yml:/skywalking/config/alarm-settings.yml
skywalking-ui:
image: apache/skywalking-ui:9.1.0
container_name: skywalking-ui
depends_on:
- skywalking-oap-server
links:
- skywalking-oap-server
restart: always
ports:
- 8090:8080
environment:
SW_OAP_ADDRESS: http://skywalking-oap-server:12800
TZ: Asia/Shanghai
使用 elasticsearch 存储时,建议调整OS级别系统参数
- 永久修改
$ vi /etc/sysctl.conf # 进程可以具有的最大内存映射区域数 # Linux 系统 vm.max_map_count 的默认值是 65535 vm.max_map_count=262144
- 查看
sysctl vm.max_map_count
SkyWalking-接入微服务
-
下载Java Agent https://skywalking.apache.org/downloads/
agent的使用需要将其拷贝至目标服务器,多个项目在一台服务器可以共用一个agent
-
Java Agent 目录结构
├─activations ├─bootstrap-plugins ├─config # 配置文件 ├─licenses ├─logs ├─optional-plugins # 可选插件 ├─optional-reporter-plugins └─plugins # 默认插件
如需要使用可选插件,将其复制到
plugins
目录即可【建议重启应用】
不需要用时,只需从plugins
目录中将该插件删除【建议重启应用】 -
增加服务启动参数
-javaagent:/home/demo-server/skywalking/apache-skywalking-agent/skywalking-agent.jar=agent.service_name=Demo_Test,collector.backend_service=192.168.60.87:11800
示例:
nohup java -XX:+UseConcMarkSweepGC -Xmn512m -Xms768m -Xmx768m \ -javaagent:/home/demo-server/skywalking/apache-skywalking-agent/skywalking-agent.jar=agent.service_name=Demo_Test,collector.backend_service=192.168.60.87:11800 \ -jar demo.jar --spring.profiles.active=test >/dev/null 2>&1 &