skywalking 配置和使用(windows)

先总结IDEA整合skywalking

一,下载

Downloads | Apache SkyWalking

二,修改启动端口

修改D:\apache-skywalking-apm-bin\webapp\webapp.yml

主要修改port: 18080

server:
  port: 18080

collector:
  path: /graphql
  ribbon:
    ReadTimeout: 10000
    # Point to all backend's restHost:restPort, split by ,
    listOfServers: 127.0.0.1:12800

三,更改数据库为mysql

1 下载mysql-connector-java-5.1.46.jar到oap-libs下

只要是mysql-connector-java-5的版本就可以。

2 打开D:\apache-skywalking-apm-bin\config\application.yml

注释H2,开启mysql

#  h2:
#    driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
#    url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
#    user: ${SW_STORAGE_H2_USER:sa}
#    metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}
  mysql:
    properties:
      jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest"}
      dataSource.user: ${SW_DATA_SOURCE_USER:root}
      dataSource.password: ${SW_DATA_SOURCE_PASSWORD:root}
      dataSource.cachePrepStmts: ${SW_DATA_SOURCE_CACHE_PREP_STMTS:true}
      dataSource.prepStmtCacheSize: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE:250}
      dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048}
      dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true}
      dataSource.useSSL: false
    metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000}

3 接着,到Mysql中创建一个  swtest数据库。

四,修改IDEA的配置

-javaagent:D:/apache-skywalking-apm-bin/agent/skywalking-agent.jar
-Dskywalking.collector.backend_service=localhost:11800

五,启动

1 先开启微服务(注册中心,配置中心,zuul,个别服务)

2 启动 D:\apache-skywalking-apm-bin\bin\startup.bat

打开网页 http://127.0.0.1:18080/

PS:学会看日志很重要!!!

 D:\apache-skywalking-apm-bin\logs\skywalking-oap-server.log

<think>我们正在回答用户关于SkyWalking搭建使用方法的问题。根据引用内容,SkyWalking的整体架构包括Collector、UI存储设备。搭建时主要关注这三个部分,其中CollectorUI已包含在官方安装包中,因此重点在于配置存储设备(如Elasticsearch)。步骤:1.准备环境:确保已安装Java(SkyWalking要求Java8以上)。2.下载SkyWalking:从官网下载安装包(如apache-skywalking-apm-*.tar.gz)。3.配置存储:修改配置文件,设置存储为Elasticsearch(或其他支持的存储,如H2,但生产环境建议ES)。4.启动SkyWalking后端(Collector)UI。5.配置应用程序的Agent,以将监控数据发送到Collector。详细步骤:一、安装存储(以Elasticsearch为例):引用[2]提到需要安装ES。建议安装ES6.x或7.x版本(根据SkyWalking版本要求)。安装ES后,确保其运行正常。二、配置SkyWalking使用ES:解压SkyWalking安装包,进入config目录,修改`application.yml`文件:-设置storage选择器为elasticsearch(默认可能是H2,注释掉H2,启用elasticsearch)。-配置elasticsearch的集群节点地址(clusterNodes)、索引名称等。三、启动SkyWalking后端UI:SkyWalking的启动脚本在bin目录下:-Linux:`bin/startup.sh`-Windows:`bin/startup.bat`这个脚本会同时启动后端(oapService)前端(webappService)。四、使用SkyWalkingAgent监控应用:在需要监控的应用启动命令中加入SkyWalkingAgent参数。例如:```shelljava-javaagent:/path/to/skywalking-agent/skywalking-agent.jar\-Dskywalking.agent.service_name=your-service-name\-Dskywalking.collector.backend_service=localhost:11800\-jaryour-application.jar```其中:-`-javaagent`:指定agent的jar包路径。-`-Dskywalking.agent.service_name`:设置服务名。-`-Dskywalking.collector.backend_service`:指定Collector的地址(默认11800端口)。五、访问SkyWalkingUI:启动后,通过浏览器访问`http://localhost:8080`(默认端口)查看监控数据。注意事项:-确保Collector的端口(如11800,12800)UI的端口(8080)不被防火墙阻挡。-多实例部署时,每个实例都需要配置Agent。使用:-在UI上可以查看服务、实例、端点、拓扑图、追踪、性能剖析告警等信息。-通过拓扑图可以直观了解服务间依赖关系。-追踪功能可以查看具体请求的链路,帮助定位问题。引用说明:[^1]介绍了SkyWalking的架构搭建重点。[^2]提到了分布式系统中链路跟踪的必要性,并给出了从0开始部署的方法,其中第一步就是安装ES。生成相关问题:1.SkyWalking支持哪些存储后端?2.如何配置SkyWalkingAgent以监控多个服务实例?3.SkyWalking的告警功能如何配置?4.如何自定义SkyWalking的监控指标?5.SkyWalking与其他链路跟踪工具(如Zipkin)相比有什么优势?</think>### SkyWalking搭建与使用方法 #### 一、环境准备 1. **基础依赖** - Java 8+(建议JDK 11) - 存储服务:Elasticsearch 7.x(推荐)或 H2(仅测试用) - 下载[最新SkyWalking发布包](https://skywalking.apache.org/downloads/) 2. **存储安装(以Elasticsearch为例)** ```bash # 下载ES 7.x wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-linux-x86_64.tar.gz tar -xzf elasticsearch-7.16.2-linux-x86_64.tar.gz cd elasticsearch-7.16.2/ ./bin/elasticsearch -d # 后台启动 ``` #### 二、SkyWalking服务端搭建 1. **修改配置文件** 解压SkyWalking包,编辑 `config/application.yml`: ```yaml storage: selector: elasticsearch # 启用ES存储 elasticsearch: nameSpace: "skywalking-es" clusterNodes: "localhost:9200" # ES地址 protocol: http ``` 2. **启动服务端** ```bash bin/startup.sh # Linux启动OAP+UI ``` - **OAP服务**:收集数据(默认端口11800/12800) - **Web UI**:访问 `http://localhost:8080` #### 三、应用监控接入(Java示例) 1. **部署Agent** 复制 `agent/` 目录到目标服务器: ```bash java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar \ -Dskywalking.agent.service_name=your-service-name \ # 服务名 -Dskywalking.collector.backend_service=localhost:11800 \ # OAP地址 -jar your-app.jar ``` 2. **配置项说明** | 参数 | 作用 | |---|---| | `agent.service_name` | 服务标识(拓扑图显示) | | `collector.backend_service` | OAP服务地址 | | `logging.level` | Agent日志级别(默认off) | #### 四、核心功能使用 1. **仪表盘** - **服务拓扑图**:可视化微服务依赖关系 - **性能指标**:响应时间、吞吐量、SLA率(如 $ \text{SLA} = \frac{\text{成功请求}}{\text{总请求}} \times 100\% $) - **链路追踪**:查看请求完整路径及耗时 2. **问题排查** - **慢查询分析**:定位SQL或API瓶颈 - **异常统计**:按服务/实例聚合错误日志 - **端点分析**:监控特定API的性能表现 #### 五、生产建议 1. **高可用部署** - OAP集群:修改 `cluster.yml` 配置ZooKeeper协调 - ES集群:配置多节点及分片策略 2. **安全加固** ```yaml # 在application.yml中启用认证 receiver-http: authentication: "your-token" ``` > **注意事项**: > - Agent需匹配JDK版本(如SkyWalking 9.x支持JDK17) > - 跨服务追踪需确保 `trace_id` 透传[^1] > - 存储选择:ES适合生产,H2仅用于测试[^2] [^1]: 分布式链路跟踪需保证请求上下文传递 [^2]: ES提供高可靠存储与检索能力,H2有数据丢失风险
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值