SkyWalking 9.X 入门保姆教程

SkyWalking是一款专为微服务架构设计的应用性能监控工具,支持多种监控手段和语言探针。本文介绍如何搭建SkyWalking单机环境,并配置使用Elasticsearch作为数据存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SkyWalking 入门保姆教程

1、概述

1.1、概念

SkyWalking 是什么?

分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。

提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

1.2、功能列表

SkyWalking 有哪些功能?

  • 多种监控手段。可以通过语言探针和 service mesh 获得监控是数据。
  • 多个语言自动探针。包括 Java,.NET Core 和 Node.JS。
  • 轻量高效。无需大数据平台,和大量的服务器资源。
  • 模块化。UI、存储、集群管理都有多种机制可选。
  • 支持告警。
  • 优秀的可视化解决方案。

1.3、 整体架构

SkyWalking 整体架构是什么样子的呢?

image-20220922113105250

整个架构可以拆分为上下左右四部分:

  • 上部分 Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器。
  • 下部分 SkyWalking OAP :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。
  • 右部分 Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。而我们目前采用的是 ES ,主要考虑是 SkyWalking 开发团队自己的生产环境采用 ES 为主。
  • 左部分 SkyWalking UI :负责提供控台,查看链路等等。

1.4、官方文档

SkyWalking 英文文档: https://github.com/apache/skywalking/tree/master/docs

SkyWalking 中文文档:https://github.com/SkyAPM/document-cn-translation-of-skywalking

考虑到使用 SkyWalking 的目的,是实现分布式链路追踪的功能,所以最好去了解下相关的知识。这里推荐阅读两篇文章:

2、搭建 SkyWalking 单机环境

image-20220922115902973

这里我们安装最新版的SkyWalking

2.1 下载最新版的SkyWalking

wget --no-check-certificate https://dlcdn.apache.org/skywalking/9.2.0/apache-skywalking-apm-9.2.0.tar.gz

2.2 解压软件包

tar -zxvf apache-skywalking-apm-9.2.0.tar.gz
mv apache-skywalking-apm-bin /usr/local/skywalking

2.3 修改 OAP 配置文件

cd /usr/local/skywalking
vim config/application.yml
storage:
  selector: ${SW_STORAGE:elasticsearch}
  elasticsearch:
    namespace: ${SW_NAMESPACE:"skywalking-es"}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:10.xxx.xxx.xxx:9200}
    protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
    connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:3000}
    socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000}
    responseTimeout: ${SW_STORAGE_ES_RESPONSE_TIMEOUT:15000}
    numHttpClientThread: ${SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD:0}
    user: ${SW_ES_USER:""}
    password: ${SW_ES_PASSWORD:""}
    #trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:""}
    #trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:""}
    secretsManagementFile: ${SW_ES_SECRETS_MANAGEMENT_FILE:""} # Secrets management file in the properties format includes the username, password, which are managed by 3rd party tool.
    dayStep: ${SW_STORAGE_DAY_STEP:1} # Represent the number of days in the one minute/hour/day index.
    indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2} # Shard number of new indexes

重点修改 storage 配置项,通过 storage.selector 配置项来设置具体使用的存储器。

storage.elasticsearch 配置项,设置使用 Elasticsearch7.X 版本作为存储器。胖友可以主要修改 nameSpace、clusterNodes 两个配置项即可,设置使用的 Elasticsearch 的集群和命名空间。

storage.elasticsearch 配置项,设置使用 Elasticsearch 7.X 版本作为存储器。

还有 MySQL、H2、InfluxDB 等等存储器的配置可以选择,胖友自己根据需要去选择哈~

2.4 启动 SkyWalking 服务

cd /usr/local/skywalking
bin/webappService.sh 

2.5 访问ui界面

浏览器打开 http://10.xxx.xxx.xxx:8080 。界面如下图:

这样我们的SkyWalking 服务端便安装成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linus.lin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值