文章目录
- 前言
- 一、skywalking单体安装部署
-
- [1. 下载skywalking](#1. 下载skywalking)
- [2. 部署oap和oap-ui服务](#2. 部署oap和oap-ui服务)
- [3. 测试skywalking监控springboot应用](#3. 测试skywalking监控springboot应用)
- 二、搭建swck(skywalking集群)
- 三、skywalking监控python
- 四、skywalking监控cpp
- 总结
- 参考
前言
本文主要介绍最近时间学习skywalking的一些内容
一、skywalking单体安装部署
1. 下载skywalking
下载对应的版本,上传到虚拟机
2. 部署oap和oap-ui服务
解压对应的下载的包
shell
tar -zxvf apache-skywalking-apm-9.7.0.tar.gz
.sh是linux上的执行文件
.bat是windows上的脚本文件
在linux上我们可以通过 sh startup.sh
来启动skywalking,但是它会存在一些问题 ,这个脚本
因此我们可以分开启动 oap服务和webui页面
最好用两个命令行窗口来启动
shell
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
并进行安装
参考这个文档skywalking 官网 swck教程
3.设置pod自动注入java agent
直接加一个参数即可swck-injection=enabled
三、skywalking监控python
python agent支持uWSGI 和Gunicorn
使用 SkyWalking Python 代理命令行界面 (sw-python CLI)
也可以通过之前的sdk的方式集成skywalking
-
使用pip 安装 skywalking的agent
pip install "apache-skywalking"
-
设置环境变量
设置oap服务的地址
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=localhost:11800
-
运行项目即可
原来的运行命令
下面运行需要去掉注释,放到同一行
shell
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的命令
shell
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集群搭建教程