微服务链路追踪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即可

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

相关推荐
Ztiddler3 分钟前
【npm设置代理-解决npm网络连接error network失败问题】
前端·后端·npm·node.js·vue
货拉拉技术13 分钟前
多元消息融合分发平台
javascript·后端·架构
醒过来摸鱼26 分钟前
【Golang】协程
开发语言·后端·golang
IT枫斗者31 分钟前
如何解决Java EasyExcel 导出报内存溢出
java·服务器·开发语言·网络·分布式·物联网
谷大羽31 分钟前
Kafka Stream实战教程
spring boot·后端·中间件·kafka·stream
求积分不加C34 分钟前
Kafka怎么发送JAVA对象并在消费者端解析出JAVA对象--示例
java·分布式·kafka·linq
2401_8576363938 分钟前
实验室管理平台:Spring Boot技术构建
java·spring boot·后端
冷心笑看丽美人1 小时前
Spring 框架七大模块(Java EE 学习笔记03)
学习·spring·架构·java-ee
GDDGHS_2 小时前
“Kafka面试攻略:核心问题与高效回答”
分布式·面试·kafka
一个小坑货2 小时前
Rust基础
开发语言·后端·rust