码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SkyWalking9.5.0安装与SpringBoot性能链路监控


    文章目录

      • 1、下载安装
        • 1.1、安装Elasticsearch存储
        • 1.2、安装SkyWalking服务器端
      • 2、监控微服务
        • 2.1、监控Spring Boot微服务
        • 2.1、监控Spring Cloud Gateway网关

    Skywalking是分布式系统的应用程序性能监视工具,专为微服务,云原生架构和基于容器(Docker, K8S, Mesos)架构而设计,它是一款优秀的APM性能分析、链路分析工具。

    1、下载安装

    官网下载:https://skywalking.apache.org/downloads/

    1.1、安装Elasticsearch存储

    官网下载:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
    Elastic 中文社区:https://elasticsearch.cn/download/
    下载elasticsearch-7.17.3-windows-x86_64.zip

    修改elasticsearch.yml文件

    cluster.name: elasticsearch
    node.name: node-1
    network.host: 0.0.0.0
    http.port: 9200
    cluster.initial_master_nodes: ["node-1"]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在elasticsearch-7.17.3-no-jdk-windows-x86_64\bin执行启动命令

    ./elasticsearch
    
    • 1

    在这里插入图片描述

    1.2、安装SkyWalking服务器端

    下载apache-skywalking-apm-9.5.0.tar.gz:https://archive.apache.org/dist/skywalking/9.5.0/apache-skywalking-apm-9.5.0.tar.gz

    当前版本需要JDK11或JDK17才能运行,选一个喜欢的品牌JDK下载安装:jvm-and-jdk
    使用bin/startup.sh(或cmd)以默认设置启动后端服务和管理后台UI,设置如下:

    • 后端存储默认使用H2(主要用于体验),生产环境建议用Elasticsearch
    • 后端监听0.0.0.0/11800的gRPC api和0.0.0.0/12800的HTTP REST api。
      在Java、DotNetCore、Node.js和Istio客户端/探针中,连接后端服务gRPC服务地址为ip/host:11800, ip/host是后端服务地址。
    • 管理后台UI通过ip/host:8080访问,并通过请求ip/host:12800运行GraphQL与后台服务查询。

    修改配置config/application.yml

    storage:
    #    selector: ${SW_STORAGE:h2} # 默认存储
        selector: ${SW_STORAGE:elasticsearch}
        elasticsearch:
            namespace: ${SW_NAMESPACE:"elasticsearch"}
    #        clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
            clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.245.1:9200}
            protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
            connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:3000}
            socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000}
            responseTimeout: ${SW_STORAGE_ES_RESPONSE_TIMEOUT:15000}
            numHttpClientThread: ${SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD:0}
            user: ${SW_ES_USER:""}
            password: ${SW_ES_PASSWORD:""}
            trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:""}
            trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:""}
            secretsManagementFile: ${SW_ES_SECRETS_MANAGEMENT_FILE:""} 
            dayStep: ${SW_STORAGE_DAY_STEP:1} 
            indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:1} 
            indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:1} 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    官方安装说明:https://skywalking.apache.org/docs/main/v9.5.0/en/setup/backend/backend-setup/

    2、监控微服务

    下载apache-skywalking-java-agent-9.0.0.tgz:https://www.apache.org/dyn/closer.cgi/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz
    同一台主机的,可以使用同一份apache-skywalking-java-agent-9.0.0.tgz,也可以复制多份apache-skywalking-java-agent-9.0.0.tgz部署。
    修改config/agent.config

    #指定服务名称,本文是同一台机上部署三个服务,改为运行中指定服务器
    agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
    
    #每3s的采样率,0表示不采样,负数表示100%采样
    agent.sample_n_per_3_secs=${SW_AGENT_SAMPLE:-1}
    
    #指定链路数据的传送地址,默认127.0.0.1:11800
    collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.245.1:11800}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    本文使用Spring Cloud 2022.x版本使用gateway和nacos实现动态路由和负载均衡的示例代码

    2.1、监控Spring Boot微服务

    工程App1服务加入监控,启动命令

    java -javaagent:/usr/local/skywalking/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=app1 -jar gateway-app1-1.0-SNAPSHOT.jar
    
    
    • 1
    • 2

    工程App2服务加入监控,启动命令

    java -javaagent:/usr/local/skywalking/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=app2 -jar gateway-app2-1.0-SNAPSHOT.jar
    
    • 1

    2.1、监控Spring Cloud Gateway网关

    plugins中默认没有Spring Cloud Gateway插件,不支持监控springcloud gateway网关服务。同时当前版本也不支持2022.x,需要把前文示例的Spring Cloud版本降为

    
        
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                2021.0.5.0
                pom
                import
            
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                2021.0.8
                pom
                import
            
            
                org.springframework.boot
                spring-boot-dependencies
                2.7.15
                pom
                import
            
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    把optional-plugins中的apm-spring-cloud-gateway-3.x-plugin-9.0.0.jar、apm-spring-webflux-5.x-plugin-9.0.0.jar拷贝到plugins中。

    工程gateway网关加入监控,启动命令

    java -javaagent:/usr/local/skywalking/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=gateway -jar gateway-nacos-1.0-SNAPSHOT.jar 
    
    • 1

    运行效果
    访问http://localhost:8080/general管理后台UI,
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    【Springmvc入门】
    【深度学习环境配置】windows出现出现‘git‘ 不是内部或外部命令,也不是可运行的程序
    HDFS之Fair Call Queue优化
    基于SpringCloud和Vue的前后端分离-预约挂号系统
    基于密集残差的图像超分辨实战
    4. 微服务之Nacos配置管理
    Java项目:小说阅读管理系统(java+JSP+bootstrap+Servlet+Mysql)
    React源码解读之React Fiber
    民安智库(第三方市场调查公司)企业如何开展员工满意度调查
    HTTP常见报错响应码
  • 原文地址:https://blog.csdn.net/penngo/article/details/132867280
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号