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

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

相关推荐
onkel in blog33 分钟前
【Docker】Docker Compose方式搭建分布式协调服务(Zookeeper)集群
分布式·docker·zookeeper
小小工匠2 小时前
架构思维:构建高并发扣减服务_分布式无主架构
分布式·架构·分布式无主架构
Code哈哈笑2 小时前
【图书管理系统】用户注册系统实现详解
数据库·spring boot·后端·mybatis
用手手打人2 小时前
SpringBoot(一)--- Maven基础
spring boot·后端·maven
菠萝崽.4 小时前
Elasticsearch进阶篇-DSL
大数据·分布式·elasticsearch·搜索引擎·全文检索·jenkins·springboot
Code哈哈笑4 小时前
【基于Spring Boot 的图书购买系统】深度讲解 用户注册的前后端交互,Mapper操作MySQL数据库进行用户持久化
数据库·spring boot·后端·mysql·mybatis·交互
Javatutouhouduan4 小时前
线上问题排查:JVM OOM问题如何排查和解决
java·jvm·数据库·后端·程序员·架构师·oom
hong_zc5 小时前
服务端高并发分布式结构演进之路
分布式
多多*5 小时前
Spring之Bean的初始化 Bean的生命周期 全站式解析
java·开发语言·前端·数据库·后端·spring·servlet
Villiam_AY5 小时前
Go 后端中双 token 的实现模板
开发语言·后端·golang