【SkyWalking】使用PostgreSQL做存储K8s部署
拉取镜像
docker pull apache/skywalking-ui:10.0.1
docker tag apache/skywalking-ui:10.0.1 xxx/xxx/skywalking-ui:10.0.1
docker push xxx/xxx/skywalking-ui:10.0.1docker pull apache/skywalking-oap-server:10.0.1
docker tag apache/skywalking-oap-server:10.0.1 xxx/xxx/skywalking-oap-server:10.0.1
docker push xxx/xxx/skywalking-oap-server:10.0.1
源码制作镜像
# 拉取源码
git clone -b v10.0.1 https://github.com/apache/skywalking.git
# 进入源码目录
cd skywalking# 为了提高maven依赖下载速度,需要在~/.m2目录下创建settings.xml文件
# 修改settings.xml文件,指定私服nexus地址# 必须指定JAVA_HOME变量
export JAVA_HOME=/home/xxx/镜像制作/jdk-17.0.2
# 运行制作镜像脚本
nohup make docker SKIP_TEST=true OAP_NAME=skywalking-oap-server UI_NAME=skywalking-ui HUB=xxx/xxx TAG=10.0.1 &
# 查看制作的镜像
docker image ls | grep skywalking
官网下载程序包制作镜像
# 下载可直接运行的程序包
wget https://dlcdn.apache.org/skywalking/10.0.1/apache-skywalking-apm-10.0.1.tar.gz# 解压&编写Dockerfile&编写构建脚本
[root@k8s1 skywalking]# ll
total 8
drwxr-xr-x 9 root root 201 Jun 7 18:09 apache-skywalking-apm-bin
-rwxr-xr-x 1 root root 317 Jun 7 18:18 docker-build.sh
-rw-r--r-- 1 root root 2604 Jun 7 18:42 Dockerfile
Dockerfile
Dockerfile核心内容如下
FROM xxx/xxx/openjdk-utils:17.0.2
# 维护者
MAINTAINER best572@sina.com# 解决时区问题
ENV TIME_ZONE="Asia/Shanghai"
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone# sleep几秒后,logs目录下才会有日志文件
ENTRYPOINT cd apache-skywalking-apm-bin/bin && ./startup.sh &&\pwd && sleep 10 && ls ../logs &&\tail -fn200 ../logs/skywalking-oap-server.log
构建脚本
version=10.0.1
APP_NAME=skywalking-${version}# 删除旧镜像
#docker rmi -f xxx/xxx/skywalking:$version
# 构建镜像
docker build -t xxx/xxx/skywalking:$version .
docker push xxx/xxx/skywalking:$version
数据库
初始化PostgreSQL数据库
CREATE DATABASE "skywalking" WITH ENCODING = 'UTF8' CONNECTION LIMIT = -1 IS_TEMPLATE = False;
CREATE ROLE skywalking WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT NOREPLICATION NOBYPASSRLS CONNECTION LIMIT -1 PASSWORD 'skywalking';
COMMENT ON ROLE skywalking IS 'skywalking';
GRANT ALL PRIVILEGES ON DATABASE "skywalking" TO skywalking;
GRANT ALL ON SCHEMA PUBLIC TO skywalking;
k8s部署SkyWalking
kubectl apply -f skywalking.yaml
skywalking.yaml
如下
---
apiVersion: v1
kind: Service
metadata:name: skywalkingnamespace: kube-publiclabels:app: skywalking
spec:type: NodePortports:- name: oap-httpport: 12800targetPort: 12800nodePort: 12800- name: grpcport: 11800targetPort: 11800nodePort: 11800- name: ui-httpport: 22800targetPort: 8080nodePort: 22800selector:app: skywalking
---
apiVersion: apps/v1
kind: Deployment
metadata:name: skywalkingnamespace: kube-public
spec:replicas: 1revisionHistoryLimit: 0 #Replica Sets中的历史数量selector:matchLabels:app: skywalkingtemplate:metadata:labels:app: skywalkingspec:# 第一次运行的时候初始化一次
# initContainers:
# - name: oap-init
# image: xxx/xxx/skywalking:10.0.1
# imagePullPolicy: Always
# command: [ "sh" ]
# args: ["-c","pwd && ls -lhrt && cd apache-skywalking-apm-bin/bin && ./oapServiceInit.sh && pwd && sleep 10 && ls ../logs"]containers:- name: skywalkingimagePullPolicy: Alwaysimage: xxx/xxx/skywalking:10.0.1# 导入环境变量envFrom:# 使用configMap- configMapRef:# name为configMap中的metadata namename: app-public-cm- secretRef:name: app-public-secretenv:- name: POD_IPvalueFrom:fieldRef:fieldPath: status.podIP- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: SW_STORAGEvalue: "postgresql"- name: SW_JDBC_URLvalue: "jdbc:postgresql://xxx:5432/skywalking"- name: SW_DATA_SOURCE_USERvalue: "skywalking"- name: SW_DATA_SOURCE_PASSWORDvalue: "skywalking"ports:- containerPort: 11800protocol: TCPname: grpc- containerPort: 12800protocol: TCPname: oap-http- containerPort: 8080protocol: TCPname: ui-httplivenessProbe:httpGet:path: /internal/l7checkport: 12800initialDelaySeconds: 300timeoutSeconds: 30periodSeconds: 60successThreshold: 1failureThreshold: 10readinessProbe:httpGet:path: /internal/l7checkport: 12800initialDelaySeconds: 300timeoutSeconds: 30periodSeconds: 10successThreshold: 1failureThreshold: 5startupProbe:httpGet:path: /internal/l7checkport: 12800initialDelaySeconds: 300timeoutSeconds: 30periodSeconds: 10successThreshold: 1failureThreshold: 5resources:requests:cpu: 0.2memory: 1Gilimits:cpu: 1memory: 2GiimagePullSecrets:- name: puller
agent环境变量
- name: SW_AGENT_NAMEvalue: "Your_ApplicationName"
# skywalking oap 地址
- name: SW_AGENT_COLLECTOR_BACKEND_SERVICESvalue: "skywalking.kube-public:11800"
# 日志路径
- name: SW_LOGGING_DIRvalue: "/xxx/skywalking-agent/logs"
# 日志级别,默认: INFO
- name: SW_LOGGING_LEVELvalue: "WARN"
# 日志文件最大数量
- name: SW_LOGGING_MAX_HISTORY_FILESvalue: "10"
- 微服务启动的时候增加启动参数:
-javaagent:/xxx/skywalking-agent/skywalking-agent.jar
- skywalking-agent的其它参数由上面的环境变量进行设置
运行截图
参考资料
- skywalking源码
配置文件参考:
https://github.com/apache/skywalking/blob/master/oap-server/server-starter/src/main/resources/application.yml
- K8S部署skywalking9.3版本
- skywalking使用ES做存储在K8S上的部署,使用实践
- skywalking-helm
- skywalking-docker
Since SkyWalking 8.8.0, the Dockerfiles are merged into the OAP repo and the Java agent repo respectively, this repo is archived and not maintained anymore.
- 使用源码制作镜像
- skywalking-oap server 环境变量支持
表格往右拖动,可以看到环境变量名称和默认值。
相关文章:
【SkyWalking】使用PostgreSQL做存储K8s部署
拉取镜像 docker pull apache/skywalking-ui:10.0.1 docker tag apache/skywalking-ui:10.0.1 xxx/xxx/skywalking-ui:10.0.1 docker push xxx/xxx/skywalking-ui:10.0.1docker pull apache/skywalking-oap-server:10.0.1 docker tag apache/skywalking-oap-server:10.0.1 xxx…...
详解大模型微调数据集构建方法(持续更新)
大家好,我是herosunly。985院校硕士毕业,现担任算法t研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算…...
自制植物大战僵尸:HTML5与JavaScript实现的简单游戏
引言 在本文中,我们将一起探索如何使用HTML5和JavaScript来创建一个简单的植物大战僵尸游戏。这不仅是一项有趣的编程挑战,也是学习游戏开发基础的绝佳机会。 什么是植物大战僵尸? 植物大战僵尸是一款流行的策略塔防游戏,玩家需…...
Istio_1.17.8安装
项目背景 按照istio官网的命令一路安装下来,安装好的istio版本为目前的最新版本,1.22.0。而我的k8s集群的版本并不支持istio_1.22的版本,导致ingress-gate网关安装不上,再仔细查看istio的发布文档,如果用istio_1.22版本…...
[数据集][目标检测]室内积水检测数据集VOC+YOLO格式761张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):761 标注数量(xml文件个数):761 标注数量(txt文件个数):761 标注类别…...
17_Vue高级监听器生命周期Vue组件组件通信
文章目录 1. 数据监听器watch2. Vue生命周期3. Vue组件4. Vue组件通信Appendix 1. 数据监听器watch 首先watch需要单独引 import {watch} from vuewatch函数监听ref响应式数据 watch(监听的内容,监听行为)监听行为默认为(newValue,oldValue) let firstname ref…...
【ROS使用记录】—— ros使用过程中的rosbag录制播放和ros话题信息相关的指令与操作记录
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、rosbag的介绍二、rosbag的在线和离线录制三、rosbag的播放相关的指令四、其他rosbag和ros话题相关的指令总结 前言 rosbag是ROS(机器人操作系统…...
Laravel 富文本内容
Laravel 获取富文本的纯文本内容-CSDN博客 Laravel 富文本内容里面的图片添加前缀URL-CSDN博客 Laravel 富文本图片的style样式删除-CSDN博客. Laravel 获取富文本中的所有图片-CSDN博客 富文本字体font-famly删除 $data preg_replace(/(<[^>])style["\][^"…...
Spark Python环境搭建与优化:深入剖析四个方面、五个方面、六个方面及七个关键要点
Spark Python环境搭建与优化:深入剖析四个方面、五个方面、六个方面及七个关键要点 在大数据处理领域,Apache Spark凭借其出色的性能和灵活性备受瞩目。而要在Python中利用Spark的强大功能,首先需要搭建一个稳定且高效的Spark Python环境。本…...
【微信小程序开发】小程序中的上滑加载更多,下拉刷新是如何实现的?
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
从 Android 恢复已删除的备份录
本文介绍了几种在 Android 上恢复丢失和删除的短信的方法。这些方法都不能保证一定成功,但您可能能够恢复一些短信或其中存储的文件。 首先要尝试什么 首先,尝试保留数据。如果你刚刚删除了信息,请立即将手机置于飞行模式,方法是…...
如何使用Python中的random模块生成随机数
在Python中,random模块提供了多种用于生成随机数的函数。以下是一些基本示例: 生成随机整数: 使用random.randint(a, b)函数生成一个介于a和b之间的随机整数(包括a和b)。 python复制代码 import random random_int …...
AI大数据处理与分析实战--体育问卷分析
AI大数据处理与分析实战–体育问卷分析 前言:前一段时间接了一个需求,使用AI进行数据分析与处理,遂整理了一下大致过程和大致简要结果(更详细就不方便放了)。 文章目录 AI大数据处理与分析实战--体育问卷分析一、数据…...
C++第二十五弹---从零开始模拟STL中的list(下)
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、函数补充 2、迭代器完善 3、const迭代器 总结 1、函数补充 拷贝构造 思路: 先构造一个头结点,然后将 lt 类中的元…...
STM32/keil把多个c文件编译为静态库lib
把常用的、不经常修改的代码库编译成lib以后,可以加快整个工程的编译速度。 一个常见的应用场景就是,把ST的标准库或HAL库等编译成lib,这样以后再编译整个工程时,就无需再次编译他们了,可以节省编译时间。当然&#x…...
L45---506.相对名次(java)--排序
1.题目描述 2.知识点 (1)String.join(" ", words) 是 Java 中的一个语法,用于将数组或集合中的元素连接成一个单独的字符串,连接时使用指定的分隔符。这里的 " " 是作为分隔符使用的一个空格字符串。 Strin…...
跨网段路由
跨网段路由通常是指在网络中配置路由,以允许不同子网之间的通信。要设置跨网段的永久路由,取决于你是在操作路由器、交换机这样的网络设备,还是在配置个人计算机(如Windows或Linux系统)。下面是两种常见情况下的简要指…...
HO-3D 数据集
// 由于非刚体的追踪比较困难,所以看看刚体数据集 HOnnotate: A method for 3D Annotation of Hand and Object Poses // cvpr20https://arxiv.org/abs/1907.01481 https://github.com/shreyashampali/ho3d https://paperswithcode.com/paper/ho-3d-a-mult…...
Elasticsearch 认证模拟题 - 8
一、题目 在集群中输入以下指令: PUT phones/_doc/1 {"brand":"Samsumg","model":"Galaxy S9","features":[{"type":"os", "value":"Android"},{"type":&q…...
【Postman接口测试】第四节.Postman接口测试项目实战(中)
文章目录 前言五、Postman断言 5.1 Postman断言介绍 5.2 响应状态码断言 5.3 包含指定字符串断言 5.4 JSON数据断言六、参数化 5.1 Postman参数化介绍 5.2 Postman参数化实现 5.3 针对项目登录接口参数化实现 总结 前言 五、Postman断言 5.1 Postman断言介…...
Hadoop的Windows环境准备
一、将Hadoop传输到Windows中 1、备份副本 cp -r /opt/softs/hadoop3.1.3/ /opt/softs/hadoop3.1.3_temp 2、删除备份的share目录 cd /opt/softs/hadoop3.1.3_temp rm -rf share/ 3、下载到Windows中 重命名去掉_temp 4、删除备份文件 rm -rf /opt/softs/hadoop3.1.3_t…...
使用亮数据代理IP爬取PubMed文章链接和邮箱地址
💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…...
electron调用dll时应用程序闪退
electron调用dll时,直接闪退,且用如下方式监听无任何输出: window-all-closed 或 will-quit 此时需要检查传给dll的参数及参数类型是否正确,特别是使用ffi-napi时调用dll,使用 ref-napi定义类型,经常容易…...
单片机原理及技术(三)—— AT89S51单片机(二)(C51编程)
一、AT89S51单片机的并行I/O端口 1.1 P0口 AT89S51的P0口是一个通用的I/O口,可以用于输入和输出。每个引脚都可以通过软件控制为输入或输出模式。 1.1.1 P0口的工作原理 P0口的工作原理是通过对P0寄存器的读写操作来控制P0口的引脚。 输出模式:当P0口…...
摄影店展示服务预约小程序的作用是什么
摄影店包含婚照、毕业照、写真、儿童照、工作照等多个服务项目,虽然如今人们手机打开便可随时拍照摄影,但在专业程度和场景应用方面,却是需要前往专业门店服务获取。 除了进店,也有外部预约及活动、同行合作等场景,重…...
【数据分析基础】实验一 Python运算符、内置函数、序列基本用法
一、实验目的 熟练运用Python运算符。熟练运用Python内置函数。掌握Python的基本输入输出方法。了解lambda表达式作为函数参数的用法。掌握列表、元组、字典、集合的概念和基本用法。了解Python函数式编程模式。 二、实验内容: 1. 在命令模式测试如下命令&#x…...
【Redis】构建强韧的远程Redis连接与端口保障机制完美指南
【Redis】构建强韧的远程Redis连接与端口保障机制完美指南 大家好 我是寸铁👊 总结了【Redis】构建强韧的远程Redis连接与端口保障机制完美指南✨ 喜欢的小伙伴可以点点关注 💝 前言 在当今的软件开发领域中,远程访问和操作数据存储是极为常见…...
Flowable项目启动报错#java.time.LocalDateTime cannot be cast to java.lang.String
Flowable 项目启动后报错 flow项目第一次启动创建表成功,但是第二次启动时报错信息如下: 1、Error creating bean with name ‘appRepositoryServiceBean’ defined in class 2、Error creating bean with name ‘flowableAppEngine’: FactoryBean t…...
《数字电路》
问答题4*5 在数字电路中,三极管经常工作在哪两种开关状态? 在数字电路中,三极管经常工作在饱和导通状态和截止状态。 时序电路根据输出信号分为哪两类? 时序电路根据输出信号分为莫尔型和米里型两类。 写出三种以上常用的二-十…...
STM32F103 点亮LED闪烁与仿真
STM32F103 点亮LED闪烁与仿真 今天给大家分享一下STM32 流水灯简单的仿真吧,我感觉这个提供有用的,但是自己也是第一次使用,主要是感觉曲线很高级。在PWM中查看脉宽很有用。 code: led.c #include "led.h" #include "delay…...
好网站建设公司哪家好?/每日舆情信息报送
作者:姚远 Oracle ACE “ 今天是个值得纪念的日子,我成了第一个2022-2023年度login的中国的Oracle ACE。” 因为新app的原因,所有的ACE都要重新登记。我因故没有参加2022年8月18日Oracle ACE新app上线的zoom meeting,感谢赵兄的通知&#x…...
公司的网站推广怎么做/网站优化及推广方案
Android Camera Develop: process preview frames in real time efficiently概述本篇我们暂时不介绍像相机APP增加新功能,而是介绍如何处理相机预览帧数据。想必大多数人都对处理预览帧没有需求,因为相机只需要拿来拍照和录像就好了,实际上本…...
网站数据抓取怎么做/有哪些平台可以发布推广信息
解决报错,包版本低了,特别是用的低版本springboot自动引入的 解决:自己去引入 <dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.9</version><…...
消息提示怎么做网站/百度知道电脑版网页入口
1 /*2 题意: 有两棵苹果树,每一棵苹果树每一秒间隔的掉落下来一个苹果,一个人在树下接住苹果,不让苹果掉落!3 人在两棵树之间的移动是很快的!但是这个人移动的次数是有限制的,问最多可以…...
黑龙江骏域建设网站专家/google官网登录入口
#前面了解了很多异常,是否所有异常都可以捕捉的呢?其实并非如此。如下示例:1 #!/usr/bin/python32 #-*-coding:UTF-8-*-3 #异常9.74 5 def model_exception(x,y):6 try:7 ax/y8 bname9 except(ZeroDivisionError,Nam…...
网站开发一般做几个适配/百度投放广告联系谁
一。参数 1.实参 2.形参 从形参的角度分类: 1)位置参数 2)默认参数 参数陷阱def func(x,l []):l.append(x)print(l) func(alex) func(wusir) # 输出结果: # [alex] # [alex, wusir] 3)动态参数(*args &…...