微服务链路追踪skywalking安装

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

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即可

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

相关推荐
专业程序开发源32 分钟前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计
AINative软件工程37 分钟前
LLM Prompt Registry 工程实践:集中管理 Prompt,让模型调用不再散落在代码各处
后端·python·llm
硅基手札43 分钟前
【linux内核专栏 09】内核模块与 kbuild
linux·架构
IT_陈寒1 小时前
SpringBoot自动配置的坑我帮你踩过了
前端·人工智能·后端
代码山河1 小时前
Java的前世今生:从Oak语言到Java 23的发展史
java·学习·架构·教程·面向对象·项目
新鲜势力呀1 小时前
PHP 文件上传系统实战:从上传卡顿到分片上传 + 秒传 + 云存储架构完整优化方案
开发语言·架构·php
vx_Biye_Design1 小时前
springboot角色扮演服务平台65161-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·spring·课程设计
vx_Biye_Design1 小时前
springboot咖啡厅顾客点单管理系统12080-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express
专业程序开发源1 小时前
flask动漫推荐系统32319-计算机课程设计、毕业设计
java·spring boot·后端·django·flask·php·课程设计
FYKJ_20101 小时前
springboot手工蜀绣在线销售系统60947-计算机课程设计、毕业设计
java·spring boot·后端·python·mysql·spark·课程设计