skywalking学习

文章目录

  • 前言
  • 一、skywalking单体安装部署
    • 1. 下载skywalking
    • 2. 部署oap和oap-ui服务
    • 3. 测试skywalking监控springboot应用
  • 二、搭建swck(skywalking集群)
    • 1.安装k8s
    • 2.下载swck
    • 3.设置pod自动注入java agent
  • 三、skywalking监控python
  • 四、skywalking监控cpp
  • 总结
  • 参考


前言

本文主要介绍最近时间学习skywalking的一些内容


一、skywalking单体安装部署

1. 下载skywalking

下载地址
在这里插入图片描述
下载对应的版本,上传到虚拟机

2. 部署oap和oap-ui服务

解压对应的下载的包

tar -zxvf apache-skywalking-apm-9.7.0.tar.gz

在这里插入图片描述
.sh是linux上的执行文件
.bat是windows上的脚本文件

在linux上我们可以通过 sh startup.sh来启动skywalking,但是它会存在一些问题,这个脚本
因此我们可以分开启动 oap服务和webui页面
最好用两个命令行窗口来启动

sh oapService.sh  # 启动oap
sh webappService.sh  # 启动 web ui

这样默认启动数据会存储在h2 内存数据库中,关闭程序后数据不保留
我们可以修改对应的配置文件,存储到其它数据库中,es,mysql等
在这里插入图片描述

3. 测试skywalking监控springboot应用

下载java-agent并解压

启动好skywalking服务后,就可以用应用程序进行连接,这里使用idea进行连接
在这里插入图片描述
添加参数

-javaagent:探针jar所在位置
-DSWAGENTNAME=skywalking-demo
-DSWAGENTCOLLECTORBACKENDSERVICES=192.168.184.200:11800   # 部署oap服务的地址

再点击运行即可自动连接到skywalking

二、搭建swck(skywalking集群)

1.安装k8s

本文主要参考
centos7 部署k8s 1.28.2
K8s集群搭建教程

根据上面的过程部署好k8s平台
注意 k8s版本不一样 部署的要求不一样
如:k8s 1.24以后版本需要装cri-docker等工具
docker安装需要配置阿里云容器镜像加速服务

2.下载swck

swck github地址
并进行安装
参考这个文档skywalking 官网 swck教程

3.设置pod自动注入java agent

直接加一个参数即可swck-injection=enabled
在这里插入图片描述

三、skywalking监控python

python agent支持uWSGI 和Gunicorn
使用 SkyWalking Python 代理命令行界面 (sw-python CLI)

也可以通过之前的sdk的方式集成skywalking

  1. 使用pip 安装 skywalking的agent
pip install "apache-skywalking"
  1. 设置环境变量
    设置oap服务的地址
    export SW_AGENT_COLLECTOR_BACKEND_SERVICES=localhost:11800
  2. 运行项目即可
    原来的运行命令
    下面运行需要去掉注释,放到同一行
uwsgi --die-on-term--http 0.0.0.0:5000  # 应用程序的ip地址--http-manage-expect --master --workers 3 --enable-threads --threads 3 --manage-script-name --mount /=main:app  # main.py 下的 app 模块

集成skywalking的命令

sw-python run -p   # 多添加这一行即可
uwsgi --die-on-term--http 0.0.0.0:5000 --http-manage-expect --master --workers 3 --enable-threads --threads 3 --manage-script-name --mount /=main:app

四、skywalking监控cpp

skywalking监控cpp程序,目前只有通过sdk的方式进行集成
官网集成c++的sdk
github上有详细的介绍,但是这个下载过程可能会遇到无法下载子包的问题
可以按照详细的步骤进行编译,再引入到我们的项目中
但是我编译出现了很多问题,一直没有成功,对c++这一块不熟!!!


总结

通过学习了解了skywalking的使用,如何集成java,python等应用,k8s平台的安装部署等。

参考

b站 叩丁狼–skywalking安装教程 讲的很详细,思维导图也全,监控java
skywalking官网教程
官网python agent教程
官网集成c++的sdk cpp想要集成skywalking当前没有自动的agent,需要通过sdk的内嵌代码方式进行集成
swck github地址
skywalking 官网 swck教程
centos7 部署k8s 1.28.2
K8s集群搭建教程

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

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

相关文章

两段代码想编译其中一段

在Linux环境下,如果您的项目中包含两段代码且您只想编译其中一段,您可以采用多种方法来实现这个需求。具体分析如下: 1. **使用条件编译**:通过预处理指令来控制代码的编译。例如,您可以使用#ifdef、#ifndef、#if、#el…

SSL/TLS和HTTPS

HTTPS就是用了TLS包装的Socket进行通信的HTTP 混合加密 被称为混合加密。具体过程如下: 使用非对称加密协商对称密钥: 在通信的开始阶段,通常由客户端和服务器使用非对称加密算法(如RSA)来协商一个对称密钥。通常情…

vue3中的ref与reactive的区别

目录 1、两者的区别底层实现响应式引用与响应式对象 2、用法3、vue3中声明的数组/对象3.1 通过reactive 声明的Array/Object,给它重新分配一个全新的对象时,会出错、或失去响应式效果 3.2 解决方案 4、cosnt 说明5、Proxy 与 definePropertyref 浅层响应…

npm 异常:peer eslint@“>=1.6.0 <7.0.0“ from eslint-loader@2.2.1

node用16版本 npm install npm6.14.15 -g将版本降级到6

Redisson知识

使用Redission获取锁 RLock lock redisson.getLock("my-lock"); 一、Redisson使用不指定锁过期时间的方式加锁: lock.lock(); 特点: 1.使用Redisson加的锁,具有自动续期机制,如果业务运行时间较长,运行…

Web前端 CodeView:深度解析与实用指南

Web前端 CodeView:深度解析与实用指南 在Web前端开发的广阔领域中,CodeView作为一种特殊的展示形式,为开发者提供了直观、交互式的代码查看体验。然而,如何充分利用并优化CodeView功能,却是许多开发者所面临的挑战。本…

人工智能与能源约束的矛盾能否化解

以下文章来源:澎湃新闻 人工智能技术在台前展示的是比特世界的算力、算法和数据,但其“轻盈的灵魂”背后则是土地、能源和水等物理世界“沉重的肉身”。根据本文三种情境的模拟测算,未来人工智能发展需要可持续的巨量能源支撑,能源…

基于Python的北京天气数据可视化分析

项目用到库 import numpy as np import pandas as pd import datetime from pyecharts.charts import Line from pyecharts.charts import Boxplot from pyecharts.charts import Pie,Grid from pyecharts import options as opts from pyecharts.charts import Calendar 1.2…

Python应用开发——30天学习Streamlit Python包进行APP的构建(5)

上几次我们已经将一些必备的内容进行了快速的梳理,让我们掌握了streanlit的凯快速上手,接下来我们将其它的一些基础函数再做简单的梳理,以顺便回顾我们未来可能用到的更丰富的函数来实现应用的制作。 st.write_stream 将生成器、迭代器或类似流的序列串流到应用程序中。 …

vue -ant -design 卡片是布局 实现动态计算 当前的 左右间距 实现居中

是这样的一个样式 我们使用display :flex 布局的时候 我们全部剧中 display: flex;align-items: center;justify-content: center; 如果是上述的代码来说的话 总是最后的一个也是会居中的 这样就比较丑 我们好像就没有什么好的办法了 我们这自己写的 肯定没有组件牛 如果有…

三十六篇:未来架构师之道:掌握现代信息系统典型架构

未来架构师之道:掌握现代信息系统典型架构 1. 引言 在企业的数字化转型浪潮中,信息系统架构的角色变得日益重要。它不仅承载了企业的IT战略,更是确保企业在复杂、动态的市场环境中稳定运行的关键。作为信息系统的骨架,一个精心设…

hash和history路由模式的区别

在 Web 前端开发中,history和hash是两种不同的页面导航和路由管理技术。 Hash (hash routing): Hash 路由是通过 URL 中的哈希符号(#)后面的部分来改变页面状态的。例如,http://example.com/#/home 和 http://example.…

Linux环境在非root用户中搭建(java-tomcat-redis)

注: 本文在内网(离线)环境,堡垒机中搭建,服务器不同可能有所差异,仅供参考 本文安装JDK-20.0.1版本,apache-tomcat-10.1.10版本,redis-6.2.15版本 本文服务器IP假设:192.168.88.133 root用户创建子用户并…

web应用防火墙的功能特性

网络层防护 HTTP/HTTPS Flood(CC 攻击)防护 应用层防护 黑白名单 对指定访问源加白名单,对恶意访问来源进行封禁。 支持 IP、URL、Useragent(用户代理)、Referer(Http 访问来源)。 HTTP协议规…

人工智能对话系统源码 手机版+电脑版二合一 全端支持 前后端分离 带完整的安装代码包以及搭建部署教程

系统概述 该系统采用前后端分离的设计模式,前端负责用户界面展示与交互,后端负责数据处理与业务逻辑实现。前后端通过API接口进行通信,实现数据的实时传输与处理。系统支持全端访问,无论是手机还是电脑,都能获得良好的…

u盘内容无故消失了是什么原因?u盘部分内容无故消失了怎么恢复

在数字化时代,U盘作为便携存储设备,承载着许多重要的数据。然而,有时我们可能会遭遇U盘部分内容无故消失的情况,这无疑给我们的工作和生活带来了不小的困扰。本文将为您解析U盘内容消失的可能原因,并分享几招实用的数据…

重生奇迹MU格斗家技能

格斗家有9个技能,其中幽冥青狼拳.斗气爆裂拳.神圣气旋.这3个是武器上带的技能。 回旋踢.幽冥光速拳.炎龙拳.这3个是买羊皮纸学的技能(回旋踢是格斗最强技能)。 还有3个给自己加BUFF的技能,斗神破(增加无视防御的状态&…

自动化测试学习之路:从零到资深工程师

对于那些希望从零开始学习自动化测试的人,以下是我建议的学习路径: 一、基础准备 了解软件测试的基本概念:首先,你需要了解软件测试的基本定义、目的和重要性。明确软件测试与软件开发的紧密关系,以及为何自动化测试…

【LC刷题】DAY02:24 19 142

【LC刷题】DAY02:24 19 142 文章目录 【LC刷题】DAY02:24 19 14224. 两两交换链表中的节点 [link](https://leetcode.cn/problems/swap-nodes-in-pairs/description/)19.删除链表的倒数第N个节点 [link](https://leetcode.cn/problems/remove-nth-node-f…

C++ 环形链表(解决约瑟夫问题)

约瑟夫问题描述: 编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数,报到 m 的人离开。下一个人继续从 1 开始报数。n-1 轮结束以后,只剩下一个人,问最后留下的这个人编号是多少? 约瑟夫问题例子:…