当前位置: 首页 > news >正文

SkyWalking 部署与应用(Windows)

简介

SkyWalking 是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。
提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案

下载

因为用的jdk8, 所以本文以支持jdk8 的最后版本为例,即 SkyWalking-apm-8.9.1, java-agent-8.9.0, 下载其对应的压缩包

SkyWalking apm 下载

在这里插入图片描述

SkyWalking java agent 下载

在这里插入图片描述

部署

将下载的安装包解压到指定目录, 进入目录: C:\soft\skywalking\8x\apache-skywalking-apm-bin

在这里插入图片描述

SkyWalking OAP 搭建

配置文件: config/application.yml
日志文件:logs/skywalking-oap-server.log

重点修改 storage 配置项,通过 storage.selector 配置项来设置具体使用的存储器。
通过修改 core 配置项, 修改 OAP 服务的占用端口

  • core.default.restPort : SkyWalking UI 需要用到的服务端口, 默认为12800
  • core.default.gRPCPort: java-agent 上推应用数据需要要用到的服务端口, 默认为11800
core:selector: ${SW_CORE:default}default:# Mixed: Receive agent data, Level 1 aggregate, Level 2 aggregate# Receiver: Receive agent data, Level 1 aggregate# Aggregator: Level 2 aggregaterole: ${SW_CORE_ROLE:Mixed} # Mixed/Receiver/AggregatorrestHost: ${SW_CORE_REST_HOST:0.0.0.0}restPort: ${SW_CORE_REST_PORT:12800} restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/}restMinThreads: ${SW_CORE_REST_JETTY_MIN_THREADS:1}restMaxThreads: ${SW_CORE_REST_JETTY_MAX_THREADS:200}restIdleTimeOut: ${SW_CORE_REST_JETTY_IDLE_TIMEOUT:30000}restAcceptorPriorityDelta: ${SW_CORE_REST_JETTY_DELTA:0}restAcceptQueueSize: ${SW_CORE_REST_JETTY_QUEUE_SIZE:0}httpMaxRequestHeaderSize: ${SW_CORE_HTTP_MAX_REQUEST_HEADER_SIZE:8192}gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0}gRPCPort: ${SW_CORE_GRPC_PORT:11800}maxConcurrentCallsPerConnection: ${SW_CORE_GRPC_MAX_CONCURRENT_CALL:0}maxMessageSize: ${SW_CORE_GRPC_MAX_MESSAGE_SIZE:0}gRPCThreadPoolQueueSize: ${SW_CORE_GRPC_POOL_QUEUE_SIZE:-1}gRPCThreadPoolSize: ${SW_CORE_GRPC_THREAD_POOL_SIZE:-1}gRPCSslEnabled: ${SW_CORE_GRPC_SSL_ENABLED:false}gRPCSslKeyPath: ${SW_CORE_GRPC_SSL_KEY_PATH:""}gRPCSslCertChainPath: ${SW_CORE_GRPC_SSL_CERT_CHAIN_PATH:""}gRPCSslTrustedCAPath: ${SW_CORE_GRPC_SSL_TRUSTED_CA_PATH:""}
storage:# 通过selector 切换数据库, 默认使用 h2selector: ${SW_STORAGE:h2} h2:driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db;DB_CLOSE_DELAY=-1}user: ${SW_STORAGE_H2_USER:sa}metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}maxSizeOfArrayColumn: ${SW_STORAGE_MAX_SIZE_OF_ARRAY_COLUMN:20}numOfSearchableValuesPerTag: ${SW_STORAGE_NUM_OF_SEARCHABLE_VALUES_PER_TAG:2}maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:100}asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:1}

配置修改完成,执行 bin/oapService.bat 启动 OAP 服务, 查看日志出现如下日志,则服务启动成功。

在这里插入图片描述

SkyWalking UI 搭建

配置文件: webapp/webapp.yml

  • server.port : 网页访问的端口, 默认为 8080 ,
  • spring.cloud.discovery.client.instances.-uri : 获取服务信息的地址, 与上述 OAP 的服务端口要保持一致
server:port: 8080spring:cloud:gateway:routes:- id: oap-routeuri: lb://oap-servicepredicates:- Path=/graphql/**discovery:client:simple:instances:oap-service:- uri: http://127.0.0.1:12800# - uri: http://<oap-host-1>:<oap-port1># - uri: http://<oap-host-2>:<oap-port2>mvc:throw-exception-if-no-handler-found: trueweb:resources:add-mappings: truemanagement:server:base-path: /manage

修改完配置文件, 执行 bin/webappService.bat 启动UI服务, 访问 http://localhost:8080

在这里插入图片描述

一键启动

apm 服务的 bin 目录下, 提供了 startup.bat 一键启动 OAP 和 UI 服务

代理

配置应用的代理, 需要用到 下载的 java-agent , 进入解压目录 C:\soft\skywalking\8x\skywalking-agent

配置方式

方式一: 配置文件

配置文件: config/agent.config
日志文件: 默认存储在 logs/skywalking-api.log , 可修改

  • agent.service_name : ui 界面看到的服务名称
  • collector.backend_service :服务信息上推地址(OAP服务地址)
  • logging.file_name:日志目录(可选), 默认值为 skywalking-api.log
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}
logging.file_name=${SW_LOGGING_FILE_NAME:skywalking-api.log}

启动命令

java -jar -javaagent:your\skywalking-agent.jar youService.jar

例如: java -jar -javaagent:C:\soft\skywalking\8x\skywalking-agent\skywalking-agent.jar demo.jar

方式二: 命令配置

这种方式相对比较便捷, 可以将一个代理包用于多个应用,动态配置

java -jar -javaagent:your\skywalking-agent.jar -Dskywalking.agent.service_name=your_server -Dskywalking.collector.backend_service=127.0.0.1:11800 -Dskywalking.logging.file_name=demo-skywalking-api.log demo.jar 

例如: java -jar -javaagent:C:\soft\skywalking\8x\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=demo -Dskywalking.collector.backend_service=127.0.0.1:11800 -Dskywalking.logging.file_name=demo-skywalking-api.log demo.jar

IDEA 配置

配置 VM options 参数

-javaagent:C:/soft/skywalking/8x/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=demo-server -Dskywalking.collector.backend_service=127.0.0.1:11800 -Dskywalking.logging.file_name=demo-skywalking-api.log

在这里插入图片描述

Tomcat 配置

//Catalina.bat首行添加
set "CATALINA_OPTS=-javaagent:C:/soft/skywalking/8x/skywalking-agent/skywalking-agent.jar"

监控展示

启动成功,可以在UI 看到对应的服务

  • 当前服务: demo
  • 当前实例: uuid@服务IP

在这里插入图片描述

如此简单的监控就搭建好了, 可以在web页面明显的看到应用各指标情况。

在这里插入图片描述

http://www.lryc.cn/news/571992.html

相关文章:

  • 7-4 身份证号处理
  • 企业班车出行服务系统的SDK选型、核心功能优化迭代的避坑复盘
  • Android软件适配遥控器需求-案例经验分享
  • WebRTC(六):ICE协议
  • 汇编语言期末快速过手笔记
  • React Native WebView键盘难题:如何让输入框不被键盘遮挡?
  • Alpha WORLD上线在即:首发AIOT,重塑项目价值格局
  • 48-Oracle CDB下的SID-实例名-服务名
  • Transformer-BiGRU、Transformer、CNN-BiGRU、BiGRU、CNN五模型多变量时序预测
  • 【计算机常识】--docker入门+docker desktop的使用(一)
  • MySQL 多表查询、事务
  • 如何使用ChatGPT快速完成一篇论文初稿?
  • Controller Area Network (CAN) 通信机制简介
  • Ubuntu服务器启动jupyter notebook,本地电脑Mobaxterm访问
  • 一个电脑装了多个python哪个生效?在 Windows 系统中修改环境变量 PATH 的优先级
  • Vue.js 按键修饰符详解:提升键盘事件处理效率
  • 筑牢安全防线:电子文件元数据驱动的 AI 知识库可控管理方案
  • TradingAgents:基于多智能体的大型语言模型(LLM)金融交易框架
  • 从零学起VIM
  • 解决sql查询中in查询项过多时很慢的问题
  • django 获取 filter后的某一个属性的list
  • 【Java学习笔记】Java绘图基础
  • 【学习笔记】2.2 Encoder-Decoder
  • Neo4j 入门到精通(Cypher语言详解)
  • 湖北理元理律师事务所小微企业债务重组方案:司法与经营的共生逻辑
  • b站视频如何下载到电脑上
  • jupter 如何修改文件位置
  • 【AI Study】第四天,Pandas(8)- 最佳实践
  • 湖北理元理律师事务所债务优化模型:法律与生活的平衡之道
  • 《汇编语言:基于X86处理器》第2章 x86处理器架构