Skywalking8.5.0-ES7 Rancher部署及ES高可用部署过程记录

news2024/9/21 12:30:40

背景

近期本司内部需要用到Skywalking进行链路追踪和日志收集,故记录下部署过程,方便后期学习与查询。

ElasticSearch高可用部署

## 1.docker启动elasticsearch,并将内存设置的稍微大一些,然后进行端口和配置文件映射

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e ES_JAVA_OPTS="-Xms10240m -Xmx20480m" \
-v /home/mapping/elasticsearch/data:/usr/share/elasticsearch/data \
-v /home/mapping/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /home/mapping/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
--restart=always -d 10.156.204.60/oher/elasticsearch:7.12.0

2. 添加配置文件

elasticsearch.yml配置

NodeA
cluster.name: ClusterDev
node.master: true
node.data: true
discovery.seed_hosts: ["10.156.204.58:9300","10.156.204.59:9300",10.156.204.60:9300]
node.max_local_storage_nodes: 3
node.name: node-a
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
http.port: 9200
transport.tcp.port: 9300
http.cors.allow-headers: Authorization,Content-Type,X-Requested-with,Content-Length
xpack.security.enabled: true
action.auto_create_index: ".watches,.triggered_watches,.watcher-history-*,-markdown"

NodeB
cluster.name: ClusterDev
node.master: true
node.data: true
discovery.seed_hosts: ["10.156.204.58:9300","10.156.204.59:9300",10.156.204.60:9300]
node.max_local_storage_nodes: 3
node.name: node-b
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
http.port: 9200
transport.tcp.port: 9300
http.cors.allow-headers: Authorization,Content-Type,X-Requested-with,Content-Length
xpack.security.enabled: true
action.auto_create_index: ".watches,.triggered_watches,.watcher-history-*,-markdown"

NodeC
cluster.name: ClusterDev
node.master: true
node.data: true
discovery.seed_hosts: ["10.156.204.58:9300","10.156.204.59:9300",10.156.204.60:9300]
node.max_local_storage_nodes: 3
node.name: node-c
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
http.port: 9200
transport.tcp.port: 9300
http.cors.allow-headers: Authorization,Content-Type,X-Requested-with,Content-Length
xpack.security.enabled: true
action.auto_create_index: ".watches,.triggered_watches,.watcher-history-*,-markdown"

3.重置三台ES的密码

  1. docker exec -it elasticsearch bash进入到容器内
  2. 进入/usr/share/elasticsearch/bin目录
  3. ./elasticsearch-setup-passwords interactive执行重置密码指令

Skywalking-OAP-Sever

本文选定8.5.0-es7版本进行演示

  1. 在rancher中新建服务,镜像地址填写
apache/skywalking-oap-server:8.5.0-es7
  1. 端口映射

    • 映射容器端口12800到NodePort12800
    • 映射容器端口11800到NodePort11800

请添加图片描述

  1. 环境变量配置

请添加图片描述

Skywalking-UI

  1. docker镜像: apache/skywalking-ui:8.5.0
  2. 端口映射:8000端口到NodePort8000
  3. 环境变量

请添加图片描述

Skywalking-Agent

本文采用K8s部署,K8s部署常有两种方式:第一种是直接将Agent打包到项目镜像中,然后通过-javaagent参数镜像启动;第二种是通过K8s的SideCar模式进行启动.本文采用第二种模式,方便简单.

下载apache-skywalking-apm-8.5.0.tar.gz

https://www.apache.org/dyn/closer.cgi/skywalking/8.5.0/apache-skywalking-apm-8.5.0.tar.gz

编写DockerFile打包Agent镜像

FROM busybox:latest
LABEL maintainer="wangpx02@catl-21c.com"
ENV LANG=C.UTF-8

RUN set -eux && mkdir -p /usr/skywalking/agent/
  
ADD apache-skywalking-apm-bin/agent/ /usr/skywalking/agent/
  
WORKDIR /

SideCar接入Skywalking-Agent

前提: 配置PV和PVC

PV:绑定一个持久卷,这里采用NFS的形式

PVC: 声明使用持久卷,只能与一个PV绑定,PVC只能在当前命名空间下使用

请添加图片描述

添加SideCar

请添加图片描述

  1. 选择类型为Init类型,也就是在主镜像之前先启动完成

  2. 选择镜像地址为Agent的Docker地址

  3. 数据卷绑定上我们声明的PVC,这里容器路径填写/skywalking/agent,也就是将这个PVC挂载到SideCar镜像的/skywalking/agent目录

  4. 然后配置启动命令如下,主要实现了目录创建,还有jar包拷贝到PVC对应的NFS上

    入口: /bin/sh
    命令: -c 'set -ex; mkdir -p /skywalking/agent; cp -R /usr/skywalking/agent/* /skywalking/agent;'
    

## 修改原镜像配置

  1. 配置卷映射,将PVC绑定到/skywalking/agent下,这样就实现了两个镜像之间,通过NFS镜像文件共享
  2. 添加环境变量如下
SW_AGENT_NAME 指明当前服务在Skywalking下显示的名字
SKYWALKING_OPTS 指定SW启动参数
SW_AGENT_COLLECTOR_BACKEND_SERVICES 指定SW_OAP_SERVER地址

修改自己的服务的DockerFile

在自己服务中添加Skywalking启动参数SKYWALKING_OPTS,或者简单粗暴,直接加上-javaagent也行

日志整合

给自己的项目添加pom依赖

// 日志依赖
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-logback-1.x</artifactId>
    <version>8.5.0</version>
</dependency>
// 追踪id
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-trace</artifactId>
    <version>8.5.0</version>
</dependency>

修改logback-spring.xml日志配置

<configuration>
    <property name="APM_PATTERN"
              value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n" />
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">   
        <encoder>
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %thread %logger %level - [%tid] %msg %n
            </pattern>
        </encoder>
    </appender>
    <appender name="sw-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
                <Pattern>${APM_PATTERN}</Pattern>
            </layout>
        </encoder>
    </appender>
    <!-- root级别   INFO -->
    <root level="INFO">
        <appender-ref ref="STDOUT"/>
    </root>

    <root level="WARN">      
        <appender-ref ref="sw-log"/>   
    </root>
</configuration>

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

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

相关文章

windows 安装Qt

下载 下载地址https://download.qt.io/&#xff0c;此文已5.7.0为例子。 根据图片依次选择即可。 安装 安装过程参考另一篇文章Ubuntu 安装 Qt5.7.0即可 配置环境变量 ps&#xff1a;我就是之前没配置环境变量&#xff0c;直接使用创建项目&#xff0c;项目源码直接运行是…

Shader Graph简介

使用着色器&#xff08;shader&#xff09;和材质&#xff08;material&#xff09;&#xff0c;我们能够创造出非常多有趣的效果。除了Unity自带的shader外&#xff0c;还可以自己编写shader或使用其他人所编写的shader。编写shader通常需要我们了解shader编程语言的语法和相关…

IO流详解及常用方法

1.1. 什么是IO流IO流&#xff1a; Input/Output Stream流: 指的是一串流动的数据&#xff0c; 在数据在流中按照指定的方向进行流动。 实现数据的读取、写入的功能。1.2. IO流的使用场景使用File类&#xff0c; 只能做关于文件的操作&#xff0c; 获取属性、 创建文件、 删除文…

数字化时代,如何做好用户体验与应用性能管理

引言 随着数字化时代的到来&#xff0c;各个行业的应用系统从传统私有化部署逐渐转向公有云、行业云、微服务&#xff0c;这种变迁给运维部门和应用部门均带来了较大的挑战。基于当前企业 IT 运维均为多部门负责&#xff0c;且使用多种运维工具&#xff0c;因此&#xff0c;当…

[numpy算法复现]-第27节 Apriori算法原理(相关性)

文章目录 0. 结论1. 算法起源2. Apriori算法思想2.1 算法综述2.2 示例0. 结论 Apriori算法是常用的用于挖掘出数据关联规则的算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。比如在常见的超市购物数据集,或者电商的网购数据集中,如果…

公会发展计划(GAP)第三季

继前两季发布的公会发展计划取得成功之后&#xff0c;Yield Guild Games 现在推出了第三季的公会发展计划&#xff08;GAP&#xff09;。GAP 在第二季有了显著的增长&#xff0c;有超过 3000 个成就 NFT 被铸造。GAP 是以成就为导向的社区代币分配协议&#xff0c;下一次迭代将…

实验一 基于MATLAB语言的线性离散系统的Z变换分析法

实验一 基于MATLAB语言的线性离散系统的Z变换分析法 一、实验目的 1. 学习并掌握 Matlab 语言离散时间系统模型建立方法&#xff1b; 2&#xff0e;学习离散传递函数的留数分析与编程实现的方法&#xff1b; 3&#xff0e;学习并掌握脉冲和阶跃响应的编程方法&#xff1b;…

智慧校园:电子班牌+家长端小程序源码

说到智慧校园家长端微信小程序大家有多少了解呢?它有哪些优点和功能呢&#xff1f; 下面就来说说智慧校园家长端微信小程序的特色和优点。 1.学生通过闸机人脸、刷卡进出校&#xff0c;如出校则推送给家长小程序孩子已离校的信息&#xff0c;如进校则实时推送孩子已进校信息…

解决Visual Studio Code 热键冲突

因为最近很火的ChatGPT&#xff0c;更新了VSCode的版本&#xff0c;但是界面和配置有了一些变化&#xff0c;原来的热键也有所调整&#xff0c;在使用markdown的时候&#xff0c;enter键竟然都出现了冲突&#xff0c;在此记录一下操作步骤&#xff0c;非常简单。 报错如下&…

为什么要用数据库视图?

视图的定义 视图&#xff08;View&#xff09;是一种虚拟的表&#xff0c;其结构和数据来自于一个或多个基本表&#xff0c;可以被当作普通表一样进行查询操作&#xff0c;但实际上不存储任何数据。在数据库中&#xff0c;视图可以被看作是一种数据访问的方式&#xff0c;它可…

16.hadoop系列之MapReduce之MapTask与ReduceTask及Shuffle工作机制

1.MapTask工作机制 以上内容我们之前文章或多或少介绍过&#xff0c;就已网络上比较流行的该图进行理解学习吧 MapTask分为五大阶段 Read阶段Map阶段Collect阶段溢写阶段Merge阶段 2.ReduceTask工作机制 ReduceTask分为三大阶段 Copy阶段Sort阶段Reduce阶段 3.ReduceTask并…

eBPF双子座:天使or恶魔?

启示录 新约圣经启示录认为&#xff1a;恶魔其实本身是天使&#xff0c;但炽天使长路西法背叛了天堂&#xff0c;翅膀变成了黑色&#xff0c;坠落地狱&#xff0c;堕落成为恶魔。这些恶魔主宰著黑暗势力&#xff0c;阻碍人类与上帝沟通&#xff0c;无所不用其极。所以可以说天…

box-shadow详解

box-shadow详解 属性定义及使用说明 box-shadow属性可以设置一个或多个下拉阴影的框。 语法 box-shadow: h-shadow v-shadow blur spread color inset;注意&#xff1a;boxShadow 属性把一个或多个下拉阴影添加到框上。该属性是一个用逗号分隔阴影的列表&#xff0c;每个阴…

使用多种算法对sin函数进行拟合-学习记录

1.使用linear层拟合 原代码链接在这里&#xff0c;效果如下&#xff1a; 2.使用LSTM预测 原代码链接在这里&#xff0c;效果如下&#xff1a; 3.使用GAN拟合 忘记代码哪里找的了&#xff0c;不过效果很差。 4.使用LSTM-GAN 这个代码在GitHub上找的&#xff0c;然后改了改&…

3、内存管理

文章目录1、内存的基础知识1.1、什么是内存&#xff1f;1.2、进程的运行原理--指令1.3、逻辑地址 & 物理地址1.4、从写程序到程序运行1.5、装入模块到运行1.6、装入的三种方式--绝对装入1.7、装入的三种方式--静态重定位1.8、装入的三种方式--动态重定位&#xff08;重定位…

移动WEB开发四、rem布局

零、文章目录 文章地址 个人博客-CSDN地址&#xff1a;https://blog.csdn.net/liyou123456789个人博客-GiteePages&#xff1a;https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee&#xff1a;https://gitee.com/bluecusliyou/TechLearnGithub&#xff1a;https:…

树的概念及结构

前言 什们是树&#xff1f;树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。树 (1)树的特点 有一个特殊的…

Blazor入门100天 : 身份验证和授权 (3) - DB改Sqlite

目录 建立默认带身份验证 Blazor 程序角色/组件/特性/过程逻辑DB 改 Sqlite将自定义字段添加到用户表脚手架拉取IDS文件,本地化资源freesql 生成实体类,freesql 管理ids数据表初始化 Roles,freesql 外键 > 导航属性完善 freesql 和 bb 特性 本节源码 https://github.com/…

采用aar方式将react-native集成到已有安卓APP

关于react-native和android的开发环境搭建、环境变量配置等可以查看官方文档。 官方文档地址 文章中涉及的node、react等版本&#xff1a; node:v16.18.1 react:^18.1.0 react-native:^0.70.6 gradle:gradle-7.2开发工具&#xff1a;VSCode和android studio 关于react-native和…

即拼商城系统之七人拼团会员模式

即拼商城系统之七人拼团会员模式&#xff0c;在商城选购399商品可加入会员体系&#xff0c;参加7人拼团盈利。购买产品或礼包成为团长&#xff0c;铺满剩余6个位置拼团成功。满团后即可用赚来的钱去复购礼包再次开团&#xff0c;继续盈利。 ◇◆商城系统团长获得礼包提成&#…