SkyWalking 安装部署操作指引

news/2025/1/10 22:26:30/文章来源:https://www.cnblogs.com/shouke/p/18551231

环境

CentOS-7-x86_64-DVD-2009.iso

https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso

apache-skywalking-apm-10.0.1.tar.gz

https://dlcdn.apache.org/skywalking/10.0.1/apache-skywalking-apm-10.0.1.tar.gz

jdk-11.0.23_linux-x64_bin.tar.gz

https://www.oracle.com/java/technologies/downloads/#java11

https://www.oracle.com/webapps/redirect/signon?nexturl=https://download.oracle.com/otn/java/jdk/11.0.23%2B7/9bd8d305c900ee4fa3e613b59e6f42de/jdk-11.0.23_linux-x64_bin.tar.gz

elasticsearch-7.10.0-linux-x86_64.tar.gz

https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-10-0

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gz

安装部署操作

部署JAVA JDK

# mkdir -p /usr/local/java
# mv jdk-11.0.23_linux-x64_bin.tar.gz /usr/local/java
# cd /usr/local/java/
# tar -xvzf jdk-11.0.23_linux-x64_bin.tar.gz
# rm -f jdk-11.0.23_linux-x64_bin.tar.gz

编辑/etc/profile,添加环境变量配置

export JAVA_HOME=/usr/local/java/jdk1.8.0_65
export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

让配置立马生效

# source /etc/profile

查看是否安装成功

# java -version
java version "11.0.23" 2024-04-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.23+7-LTS-222)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.23+7-LTS-222, mixed mode)
# javac -version
javac 11.0.23

部署Elasticsearch

参考文档 Elasticsearch 在Linux下的安装部署和配置.md

部署skywalking

# mkdir -p /usr/local/skywalking
# mv apache-skywalking-apm-10.0.1.tar.gz /usr/local/skywalking/
# cd /usr/local/skywalking/
# tar -xvzf apache-skywalking-apm-10.0.1.tar.gz
# rm -f apache-skywalking-apm-10.0.1.tar.gz
# cd apache-skywalking-apm-bin
# vi config/application.yml 

修改 config/application.yml中存储为ES,并设置ES主机地址和端口。

storage:selector: ${SW_STORAGE:elasticsearch}elasticsearch:namespace: ${SW_NAMESPACE:""}clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.88.135:9200}

启动

# cd bin
# sh oapServiceInit.sh 
# sh startup.sh

说明:执行 bin/startup.sh(.bat) 会启动后端和UI:

  • 后端存储默认采用H2

  • 后端为gRPC接口监听 0.0.0.0/11800,为HTTP REST API监听 0.0.0.0/12800/

    在Java、DotNetCore、Node.js和Istio代理/探针,应该将gRPC服务地址设置为 ip/host:11800ip/host应为后端所在的服务器。

  • UI监听8080端口并请求127.0.0.1/12800运行GraphQL查询。

开放端口

# firewall-cmd --permanent --zone=public --add-port=8080/tcp
success
# firewall-cmd --reload
success

访问UI界面

skywalking启动模式说明

默认模式

默认模式根据需要执行初始化任务,开始监听并提供服务。

运行/bin/oapService.sh(.bat)以按默认模式启动,此外,也可以使用startup.sh(.bat)启动。

初始化模式

在此模式下,OAP服务器启动进行初始化,然后退出。可以使用此模式初始化存储(如ElasticSearch索引、MySQL和TiDB表)以及数据。

运行/bin/oapServiceInit.sh(.bat)以按此模式启动。

无初始化模式

在此模式下,OAP服务器在不进行初始化的情况下启动。取而代之,它会监视ElasticSearch索引、MySQL、TiDB和其他存储表,开始监听并提供服务。换句话说,OAP服务器将预期有另一个OAP服务器执行初始化

运行/bin/oapServiceNoInit.sh(.bat)以按此模式启动。

参考链接

https://skywalking.apache.org/docs/main/v10.0.1/en/setup/backend/backend-start-up-mode/#start-up-mode

Agent下载和安装

链接:https://skywalking.apache.org/downloads/#Agents

application.yml配置文件简介

In application.yml, there are three levels.SkyWalking后端启动行为由config/application.yml驱动。此设置文件背后的核心概念是SkyWalking收集器基于纯模块化设计。终端用户可以根据自己的独特要求切换或组装收集器功能。
application.yml中,有三个级别。

  1. Level 1: 模块名称。意味着此模块在运行模式下处于活动状态。
  2. Level 2: 提供选项列表和选择器(selector)。此处列出了可用的提供者,并附有一个选择器,以指示哪个提供者将实际生效。如果只列出了一个提供者,则selector是可选的,可以省略
  3. Level 3. 所选提供者的配置。

示例:

storage:selector: mysql # mysql存储将被激活,而h2存储将不起作用h2:properties:jdbcUrl: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=FALSE}dataSource.user: ${SW_STORAGE_H2_USER:sa}metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}mysql:properties:jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?allowMultiQueries=true"}dataSource.user: ${SW_DATA_SOURCE_USER:root}dataSource.password: ${SW_DATA_SOURCE_PASSWORD:root@1234}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}default:# ...略# other configurations
  1. storage 为模块。
  2. selector 从下面列出的所有提供者中选择一个。未选中的提供者不会生效,就像被删除一样.
  3. default 是核心模块的默认实现者。
  4. driver, url, … metadataQueryMaxSize 都是实现者的设置项.

同时,有两种类型的模块:必备模块和可选模块。必备模块提供了后端的骨架。尽管它们的模块化设计支持可插拔性,但删除这些模块没有任何意义。对于可选模块,其中一些模块有一个名为none的提供者实现,这意味着它只提供一个没有实际逻辑的shell,通常是遥测。将selector设置为-,意味着整个模块将在运行时被排除。建议不要更改这些模块的API,除非非常了解SkyWalking项目及其代码。

此处列出了必备模块:

  1. Core 提供所有数据分析和流调度的基本和主要框架
  2. Cluster 管理集群中的多个后端实例,这可以提供高吞吐量的处理功能。请参见集群管理了解更多详情。
  3. Storage 持久化分析结果。查看存储选取 获取更多详情
  4. Query 提供查询接口给UI
  5. ReceiverFetcher 将服务暴露给代理和探针,或从通道读取遥测数据

参考链接:https://skywalking.apache.org/docs/main/v10.0.1/en/setup/backend/backend-setup/#applicationyml

参考链接

https://skywalking.apache.org/docs/main/v10.0.1/en/setup/backend/backend-setup

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/835618.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win11 24H2 使用Rclone将SMB协议链接转为本地磁盘驱动器

9月份升级了ITX主机,多了好几块机械硬盘, 后来又买了Nas, 先装了飞牛Nas系统, 结果要格盘,考虑到Refs, Zfs, exFAT 在坏盘情况对数据恢复不友好, 决定改用Win11作为Nas 系统 .Windows 做Nas 系统不要太好, 免去各类docker 的缓慢和配置,可以正常使用迅雷等各类软件,并且很多Nas…

在Keil中使用ST-LINK烧录STM32程序指南

前言 之前玩STM32都是用J-LINK烧录程序,不仅便捷,而且烧录的速度比用串口快好多。 最近我接了几个32单片机的毕设单子,便买了几块C8T6的最小系统板用来开发。最初我还是用J-LINK烧录C8T6的,只要从J-LINK中找出对应的引脚用杜邦线连上就可以烧录,但是每晚要去学校的实验室,…

第八章习题

学号后四位:3018 8.4:点击查看代码 import numpy as np from scipy.integrate import odeint import matplotlib.pyplot as plt# 定义微分方程组 def differential_equations(state, t):x, y = statedxdt = -x ** 3 - ydydt = x - y ** 3return [dxdt, dydt]# 设定初始条件 ini…

Next App Router 模式下,如何同步服务端 Redux 初始状态?

大家的阅读是我发帖的动力,本文首发于我的博客:deerblog.gu-nami.com/,欢迎大家来玩,转载请注明出处喵。🎈前言 Next.js 是一个广受欢迎的 React 服务端渲染(Server Side Rendering,SSR)框架。Next.js 的页面会先在服务端渲染一次,然后把结果传给浏览器,也就是客户端…

Git版本管理系统快速上手指南

作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 目录一.git命令初体验1.搭建Golang开发环境2.git init项目初始化3.git status查看工作目录状态4.git add将文件从工作区提交到暂存区5.git config配置git个人信息6.git commit提交代码到本地仓库7.git log查看…

Air201模组入门:掌握SPI读写外部Flash的技巧

今天带领大家通过Air201+扩展板读写外部flash的演示,教你使用SPI示例,可根据实际需求灵活应用。今天带领大家通过Air201+扩展板读写外部flash的演示,教你使用SPI示例,可根据实际需求灵活应用。 我们先了解一些相关基础知识: SPI(Serial Peripheral Interface)——是一种…

第七章习题

学号后四位:3018 7.3:点击查看代码 import numpy as np import matplotlib.pyplot as plt from scipy.interpolate import interp1d, CubicSplineT = np.array([700, 720, 740, 760, 780]) V = np.array([0.0977, 0.1218, 0.1406, 0.1551, 0.1664])# 线性插值 linear_interp = …

6502 指令译码器

引言 CPU 要执行指令需要先识别指令,弄清楚要执行的指令是什么类型、需要几个周期、操作数在哪里、目的地在哪里等信息,才能在后续的指令执行过程中打开对应的数据通路。“识别指令”的过程叫译码,完成指令识别功能的机构,叫译码器。 两个译码器 因为 6502 CPU 有一个两级流…

随笔5

这个作业属于哪个课程 计科22级34班这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13234这个作业的目标 完成昨天的计划总结:问题 答案昨天完成的工作 完成个人中心和发表博客页面今天计划完成的工作 完成分类模块以及登录部分的接口对接遇到…

随笔4

这个作业属于哪个课程 计科22级34班这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13234这个作业的目标 完成昨天的计划总结:问题 答案昨天完成的工作 完成首页的搭建今天计划完成的工作 完成个人中心和发表博客页面遇到的困难 发表页面需要…

Nukem pg walkthrough Intermediate

nmap 扫描 ┌──(root㉿kali)-[~] └─# nmap -p- -A 192.168.157.105 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-17 12:32 UTC Nmap scan report for 192.168.157.105 Host is up (0.071s latency). Not shown: 65529 filtered tcp ports (no-response) PORT …