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

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

相关推荐
Java程序之猿1 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
来一杯龙舌兰2 小时前
【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结
分布式·rabbitmq·ruby·持久化·ack·消息确认
AskHarries2 小时前
Spring Cloud OpenFeign快速入门demo
spring boot·后端
isolusion3 小时前
Springboot的创建方式
java·spring boot·后端
zjw_rp3 小时前
Spring-AOP
java·后端·spring·spring-aop
节点。csn4 小时前
Hadoop yarn安装
大数据·hadoop·分布式
TodoCoder4 小时前
【编程思想】CopyOnWrite是如何解决高并发场景中的读写瓶颈?
java·后端·面试
小蜗牛慢慢爬行4 小时前
Hibernate、JPA、Spring DATA JPA、Hibernate 代理和架构
java·架构·hibernate
蜡笔小鑫️4 小时前
金碟中间件-AAS-V10.0安装
中间件
凌虚5 小时前
Kubernetes APF(API 优先级和公平调度)简介
后端·程序员·kubernetes