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

这篇具有很好参考价值的文章主要介绍了Skywalking8.5.0-ES7 Rancher部署及ES高可用部署过程记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

近期本司内部需要用到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

skywalking 配置es,运维,Docker,Skywalking,ES

  1. 环境变量配置

skywalking 配置es,运维,Docker,Skywalking,ES

Skywalking-UI

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

skywalking 配置es,运维,Docker,Skywalking,ES

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只能在当前命名空间下使用

skywalking 配置es,运维,Docker,Skywalking,ES

添加SideCar

skywalking 配置es,运维,Docker,Skywalking,ES

  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也行文章来源地址https://www.toymoban.com/news/detail-675558.html

日志整合

给自己的项目添加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>

到了这里,关于Skywalking8.5.0-ES7 Rancher部署及ES高可用部署过程记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SkyWalking 部署(包含ES)

    首先SkyWalking主要需要oapService、webApp、Elasticsearch(可选存储)三个,接下来讲一下这三个的安装步骤,安装过程中出现了一些细小的配置错误,导致用了快两天才弄好,麻木了(主要是不同版本有差异性)。 版本及对应下载: 名称 版本 下载地址(个人存放地址,不稳定) Sk

    2024年02月13日
    浏览(26)
  • k8s集群中部署rancher v2.7高可用集群

    一,什么是 Rancher?  官网地址: 什么是 Rancher? | Rancher Manager Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。 Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现有 Kubernetes 集群

    2024年02月07日
    浏览(30)
  • docker部署SkyWalking+ES

    1.1去dockerHub官网(https://hub.docker.com/)搜索镜像 1.2 镜像拉取 1.3镜像运行 视图切换到Overview 一直往下翻,就能看到启动命令: --net somenetwork是自定义网络,暂时用不到。tag替换成自己需要的,我们这边是7.5.1。 我的linux内存比较小,所以加了启动参数  -e ES_JAVA_OPTS=\\\"-Xms512m -X

    2024年04月14日
    浏览(30)
  • 使用rancher的rke2部署高可用的k8s集群

    目录 1、linux环境初始化及内核调优 (1)设置主机名、关闭防火墙、配置集群ip映射、关闭selinux (2)禁用linux的透明大页、标准大页 (3)禁用swap分区 (4)配置集群时间同步,同步阿里云服务器时间 (5)linux内核参数调优 (6)配置ipvs 2、rke2安装k8s (1)主节点安装执行

    2023年04月11日
    浏览(70)
  • k8s部署es和skywalking

    使用k8s部署es和skywalking skywalking架构 整个架构,分成上、下、左、右四部分: 上部分 Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传

    2024年02月03日
    浏览(25)
  • k8s 部署 skywalking 并持久化到es

    skywalking集群情况下需要保证用同一数据源,这里我们存储方式改为es https://skywalking.apache.org/downloads/#Agents 2.2.1 创建项目server-order 并创建web控制层 2.2.2 创建项目web-monitor 并创建feign和monitor的控制层 2.2.3 增加环境变量 2.2.3 查看skywalking-ui链路 2.3.1 构建镜像 2.3.2 创建k8s无状态服

    2024年02月02日
    浏览(29)
  • skywalking使用ES做存储在K8S上的部署,使用实践

    本来不打算写这块来的,当初觉得这部分相对来说比较简单,主要部署好skywalking-oap server 跟展示端 skywalking-ui就完事了,结果在实际部署过程中发现,通过SSL协议连接ES这块居然是个卡点,搞了半天,网上也没啥文章能照着做通的,唯一让我有实质性帮助的是chatgpt…为了给人

    2024年04月26日
    浏览(23)
  • 使用java来删除es索引(基于es7.8)

    先引入pom依赖: 然后在main方法里进行测试:

    2024年02月16日
    浏览(28)
  • es使用java来查询文档(基于es7.8)

    注意,索引的字段mapping是如下类型,如果index是FALSE的话,会导致条件查询失败: 先引入pom依赖: 创建User类: 然后在名为user的索引里,插入多条数据,在main方法里进行测试: 然后进行测试:

    2024年02月11日
    浏览(35)
  • 使用java来查询es索引(基于es7.8)

    1、先引入pom依赖: 2、然后在main方法里进行测试: 运行一下,打印结果跟在postman里执行出来是一样的: 后面会根据字段进行条件查询,所以在建立映射的时候,需要指定index属性为true。如下图,在postman创建映射:

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包