微服务链路追踪skywalking安装

‌**SkyWalking是一个开源的分布式追踪系统,主要用于监控和分析微服务架构下的应用性能。** ‌ 它提供了分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案,特别适用于微服务、云原生架构和基于容器的环境(如DockerK8sMesos)。‌

SkyWalking的主要功能包括:

  • 分布式追踪‌:通过追踪请求在微服务之间的流动,帮助开发者理解服务的调用关系和性能瓶颈。
  • 服务网格遥测分析‌:对服务网格中的通信进行监控和分析,提供详细的遥测数据。
  • 度量聚合‌:收集系统的各种度量指标,如CPU使用率、内存消耗等,帮助进行性能调优。
  • 可视化‌:提供直观的界面展示追踪数据和度量信息,方便用户分析和调试。

本文主要介绍skywalking安装过程及需要注意的点

1、下载安装包

Index of /dist/skywalking/8.7.0

2、上传到linux服务器并解压

tar xzxf apache-skywalking-apm-8.7.0.tar.gz

解压后目录

3、修改配置

进入安装目录下的config目录,修改application.yml

复制代码
storage:

  selector: ${SW_STORAGE:mysql}

mysql:

    properties:

      jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"}

      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}

    metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000}

maxSizeOfArrayColumn: ${SW_STORAGE_MAX_SIZE_OF_ARRAY_COLUMN:20}

进入安装目录下的webapp目录,修改webapp.yml的端口配置

复制代码
server:

  port: 9876

上传mysql连接驱动jar包到安装目录下的oap-libs下

4、进入bin目录执行启动命令

./startup.sh

5、通过nginx进行设置用户登录拦截(注意)

因为skywalking-ui页面是没有权限管理的的,所以我们可以通过nginx配置登陆拦截

如果系统没有htpasswd命令,先使用下面的命令安装即可

yum -y install httpd-tools

使用htpasswd生成密码,/usr/local/nginx/conf/skyWalking/htpasswd为密码保存文档路径,skywalking为用户名

htpasswd -c /usr/local/nginx/conf/skyWalking/htpasswd skywalking

配置nginx代理skyWalking-UI

复制代码
server {

        listen 7801;

        location / {

            #auth_basic on;

      auth_basic "Please enter the user name and password"; #这里是验证时的提示信息

            auth_basic_user_file /usr/local/nginx/conf/skyWalking/htpasswd;

            proxy_pass http://localhost:9876/;

            # WebSocket 穿透

            proxy_set_header Upgrade $http_upgrade;

            proxy_set_header Connection "upgrade";

        }

}

6、重启nginx即可

如果是云服务器,需要放开端口

相关推荐
踏浪无痕1 天前
AI 时代架构师如何有效成长?
人工智能·后端·架构
程序员小假1 天前
我们来说一下无锁队列 Disruptor 的原理
java·后端
anyup1 天前
2026第一站:分享我在高德大赛现场学到的技术、产品与心得
前端·架构·harmonyos
武子康1 天前
大数据-209 深度理解逻辑回归(Logistic Regression)与梯度下降优化算法
大数据·后端·机器学习
小北方城市网1 天前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
maozexijr1 天前
Rabbit MQ中@Exchange(durable = “true“) 和 @Queue(durable = “true“) 有什么区别
开发语言·后端·ruby
源码获取_wx:Fegn08951 天前
基于 vue智慧养老院系统
开发语言·前端·javascript·vue.js·spring boot·后端·课程设计
独断万古他化1 天前
【Spring 核心: IoC&DI】从原理到注解使用、注入方式全攻略
java·后端·spring·java-ee
毕设源码_郑学姐1 天前
计算机毕业设计springboot基于HTML5的酒店预订管理系统 基于Spring Boot框架的HTML5酒店预订管理平台设计与实现 HTML5与Spring Boot技术驱动的酒店预订管理系统开
spring boot·后端·课程设计
不吃香菜学java1 天前
spring-依赖注入
java·spring boot·后端·spring·ssm