skywalking安装

news2024/11/30 6:37:07

目录

skywalking部署示意图

server安装

裸机安装

docker单节点安装

docker集群安装

k8s安装

helm安装(官方)

k8s yaml安装

动态配置安装

client agent安装


skywalking部署示意图

 

  • skywalking ui - web界面管理程序
  • oap server - skywalking服务程序
  • nacos - skywalking集群分布式协调管理、动态配置文件管理
  • elastic Search - skywalking trace和metric数据存储,支持es6、es7
  • agent - 和监控应用集成在一起,根据不同语言特性有不同方式。可基于sdk、agent、probe等

注意:本文档基于skywalking 8.8.1版本,对应服务端和agent端必须于该版本适配。skywalking不同版本间,尤其跨大版本,差异很大,请务必注意版本选择。

server安装

裸机安装

裸机安装方式,skywalking ui和oap server是合在一起的,不用分开安装。

详细安装请参考官方文档:

Downloads | Apache SkyWalking

docker单节点安装

docker oap server单机

docker run -p 11800:11800 -p 12800:12800   \
 -e TZ=Asia/Shanghai \
 --name oap --restart always -d apache/skywalking-oap-server:8.8.1

docker ui 单机

docker run -p 8080:8080 --name oap-ui \
  -e TZ=Asia/Shanghai \
  --restart always -d -e SW_OAP_ADDRESS=http://10.157.8.6:12800 apache/skywalking-ui:8.8.1

将10.157.8.6 替换为oap服务地址

启动完成,浏览器访问UI服务地址8080端口。

http://localhost:8080

 

docker集群安装

oap server 安装

在oap集群机器节点分别执行以下指令

docker run  -p 11800:11800 -p 12800:12800   \
 -e TZ="Asia/Shanghai" \
 -e SW_STORAGE=elasticsearch \
 -e SW_STORAGE_ES_CLUSTER_NODES="10.157.8.6:9200,10.157.8.7:9200,10.157.8.8:9200" \
 -e SW_STORAGE_ES_HTTP_PROTOCOL=http \
 -e SW_ES_USER="" \
 -e SW_ES_PASSWORD="" \
 -e SW_CLUSTER=nacos \
 -e SW_SERVICE_NAME=SkyWalking_OAP_Cluster \
 -e SW_CLUSTER_NACOS_HOST_PORT="http://10.157.8.6:8848" \
 -e SW_CLUSTER_NACOS_USERNAME=nacos \
 -e SW_CLUSTER_NACOS_PASSWORD=nacos \
 -e SW_CONFIGURATION=nacos \
 -e SW_CONFIG_NACOS_SERVER_GROUP="skywalking" \
 -e SW_CONFIG_NACOS_SERVER_ADDR="http://10.157.8.6" \
 -e SW_CONFIG_NACOS_SERVER_PORT=8848 \
 -e SW_CONFIG_NACOS_USERNAME=nacos \
 -e SW_CONFIG_NACOS_PASSWORD=nacos \
 -e SW_CORE_RECORD_DATA_TTL=365 \
 -e SW_CORE_METRICS_DATA_TTL=365 \
 --name oap --restart always -d apache/skywalking-oap-server:8.8.1 

说明:

存储端基于elastic Search集群,SW_STORAGE=elasticsearch参数设置。

oap server集群基于nacos集群做分布式协调,SW_CLUSTER=nacos参数设置。

动态配置基于nacos集群管理,SW_CONFIGURATION=nacos参数设置。

SW_CORE_RECORD_DATA_TTL=365,表示trace日志失效时间,单位天。

SW_CORE_METRICS_DATA_TTL=365,表示metric统计日志失效时间,单位天。

ui 安装

docker run -p 8080:8080 --name oap-ui \
  -e TZ=Asia/Shanghai \
  --restart always -d -e SW_OAP_ADDRESS=http://10.157.8.6:12801 apache/skywalking-ui:8.8.1

SW_OAP_ADDRESS值替换为oap集群地址,多个oap节点,可通过前置Nginx代理作负载均衡转发

k8s安装

skywalking k8s安装可通过helm和纯yaml文件两种方式。

helm安装(官方)

官方默认通过helm管理,k8s集群master节点需先安装helm工具。

# 安装helm
wget -c https://mirrors.huaweicloud.com/helm/v3.7.0/helm-v3.7.0-linux-amd64.tar.gz
tar -zxvf helm-v3.7.0-linux-amd64.tar.gz
cp linux-amd64/helm /usr/bin/

#验证helm是否安装成功
helm help

#添加helm chart仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

#列出索引chart仓库命令
helm repo list

k8s skywalking安装

skywalking ui和oap server 以k8s集群pod方式启动,elasticSearch和nacos均为外置服务集群

helm install "skywalking" skywalking/skywalking -n "default" \
  --set oap.image.tag=8.8.1 \
  --set oap.storageType=elasticsearch \
  --set ui.image.tag=8.8.1 \
  --set elasticsearch.enabled=false \
  --set elasticsearch.config.host="10.157.8.6" \
  --set elasticsearch.config.port.http=9201 \
  --set elasticsearch.config.user="" \
  --set elasticsearch.config.password=""  \
  --set oap.env.SW_CLUSTER=nacos \
  --set oap.env.SW_SERVICE_NAME=SkyWalking_OAP_Cluster \
  --set oap.env.SW_CLUSTER_NACOS_HOST_PORT="http://10.157.8.6:8848" \
  --set oap.env.SW_CLUSTER_NACOS_USERNAME=nacos \
  --set oap.env.SW_CLUSTER_NACOS_PASSWORD=nacos \
  --set oap.env.SW_CONFIGURATION=nacos \
  --set oap.env.SW_CONFIG_NACOS_SERVER_GROUP="skywalking" \
  --set oap.env.SW_CONFIG_NACOS_SERVER_ADDR="http://10.157.8.6" \
  --set oap.env.SW_CONFIG_NACOS_SERVER_PORT=8848 \
  --set oap.env.SW_CONFIG_NACOS_USERNAME=nacos \
  --set oap.env.SW_CONFIG_NACOS_PASSWORD=nacos \
  --set oap.env.SW_CORE_RECORD_DATA_TTL=365 \
  --set oap.env.SW_CORE_METRICS_DATA_TTL=365

说明:

  • elasticsearch.config.host地址只能写一个,集群多个节点,通过Nginx代理转发;
  • nginx数据转发默认1m,oap server请求数据可能大于1m,请确认在Nginx配置http模块下添加转发数据包大小配置 client_max_body_size 500m;
  • es集群外置配置点击外置es集群配置查看,helm配置参数点击helm参数配置查看;
  • oap server配置覆盖格式 --set oap.env.<ENV_NAME>=<ENV_VALUE>,详细选择项点击skywalking配置参数查看,参考表头列'System Environment Variable'对应值

helm卸载

helm uninstall skywalking

k8s yaml安装

skywalking-cluster.yml

---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: skywalking
    component: ui
    release: skywalking
  name: skywalking-ui
  namespace: default
spec:
  replicas: 2
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: skywalking
      component: ui
      release: skywalking
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: skywalking
        component: ui
        release: skywalking
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app: skywalking
                    component: ui
                    release: skywalking
                topologyKey: kubernetes.io/hostname
              weight: 1
      containers:
        - env:
            - name: SW_OAP_ADDRESS
              value: 'http://skywalking-oap:12800'
          image: 'apache/skywalking-ui:8.8.1'
          imagePullPolicy: IfNotPresent
          name: ui
          ports:
            - containerPort: 8080
              name: page
              protocol: TCP
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: skywalking
    component: ui
    release: skywalking
  name: skywalking-ui
  namespace: default
spec:
  type: ClusterIP
  ports:
    - name: rest
      port: 80
      protocol: TCP
      targetPort: 8080
  selector:
    app: skywalking
    component: ui
    release: skywalking


---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: skywalking
    component: oap
    release: skywalking
  name: skywalking-oap
  namespace: default
spec:
  replicas: 2
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: skywalking
      component: oap
      release: skywalking
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: skywalking
        component: oap
        release: skywalking
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app: skywalking
                    component: oap
                    release: skywalking
                topologyKey: kubernetes.io/hostname
              weight: 1
      containers:
        - env:
            - name: JAVA_OPTS
              value: '-Xmx2g -Xms2g'
            - name: SW_CLUSTER_K8S_NAMESPACE
              value: default
            - name: SW_STORAGE
              value: elasticsearch
            - name: SW_STORAGE_ES_CLUSTER_NODES
              value: '10.157.4.100:9200,10.157.4.101:9200,10.157.4.102:9200'
            - name: SW_ES_USER
              value: ''
            - name: SW_ES_PASSWORD
              value: ''
            - name: SW_CLUSTER
              value: nacos
            - name: SW_CLUSTER_NACOS_HOST_PORT
              value: 'http://10.157.4.95:8848'
            - name: SW_CLUSTER_NACOS_PASSWORD
              value: nacos
            - name: SW_CLUSTER_NACOS_USERNAME
              value: nacos
            - name: SW_CONFIGURATION
              value: nacos
            - name: SW_CONFIG_NACOS_SERVER_GROUP
              value: skywalking
            - name: SW_CONFIG_NACOS_SERVER_ADDR
              value: 'http://10.157.4.95'
            - name: SW_CONFIG_NACOS_SERVER_PORT
              value: '8848'
            - name: SW_CONFIG_NACOS_USERNAME
              value: nacos
            - name: SW_CONFIG_NACOS_PASSWORD
              value: nacos
            - name: SW_CORE_METRICS_DATA_TTL
              value: '365'
            - name: SW_CORE_RECORD_DATA_TTL
              value: '365'
            - name: SW_SERVICE_NAME
              value: SkyWalking_OAP_Cluster
          image: 'apache/skywalking-oap-server:8.8.1'
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            initialDelaySeconds: 15
            periodSeconds: 20
            successThreshold: 1
            tcpSocket:
              port: 12800
            timeoutSeconds: 1
          name: oap
          ports:
            - containerPort: 11800
              name: grpc
              protocol: TCP
            - containerPort: 12800
              name: rest
              protocol: TCP
          readinessProbe:
            failureThreshold: 3
            initialDelaySeconds: 15
            periodSeconds: 20
            successThreshold: 1
            tcpSocket:
              port: 12800
            timeoutSeconds: 1
      dnsPolicy: ClusterFirst
      restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: skywalking
    component: oap
    release: skywalking
  name: skywalking-oap
  namespace: default
spec:
  selector:
    app: skywalking
    component: oap
    release: skywalking
  type: ClusterIP
  ports:
    - name: grpc
      port: 11800
      protocol: TCP
      targetPort: 11800
    - name: rest
      port: 12800
      protocol: TCP
      targetPort: 12800

下载附件 skywalking-cluster.yml 到k8s master节点机器上

调整skywalking-cluster.yml文件中的部署环境变量值

 

kubectl启动skywalking集群

# k8s master节点启动 skywalking
kubectl apply -f skywalking-cluster.yml
# 查看pod运行情况
watch kubectl get pods -o wide

动态配置安装

Skywalking配置参数信息除通过oap server程序包config目录下application.yml配置文件修改外,还提供了配置中心接入的方式。

框架提供了apollo/etcd/nacos等多种组件实现。接入配置中心的好处,配置信息修改,不重启oap server即可生效。

下面以nacos为例,接入告警配置到配置中心。

Oap server启动参数configuration.selector值修改为nacos

 

示例:以docker环境变量方式覆盖默认configuration.selector配置项以及configuration.nacos.*的参数值

 

启动oap server成功,打开nacos管理界面,新增配置

 

输入相关信息,保存

 

其中,data Id值对应skywalking 动态配置参数的config key,点击动态配置列表查看(注意:非所有skywalking配置项都支持动态配置,只有列表中列出的才支持)。
具体列表形如:

 

修改告警配置,对应dataId值为alarm.default.alarm-settings。Nacos的配置内容为skywalking中config目录下alarm-settings.yml文件信息。

Nacos保存成功,查看oap server端log,收到以下信息,表明配置生效。

 

client agent安装

注意:skywalking oap server使用最新稳定版本8.8.1,集成时请选择匹配版本,8.*和之前版本api不兼容。

官方支持语言平台兼容列表:

 

三方支持语言平台兼容列表:

 

支持pyhton/.net/PHP/Node.js/Go/ C++/ Lua agent in Nginx + LUA/ Lua agent in Kong等

详细参考官方文档

https://skywalking.apache.org/docs/main/v8.8.1/en/setup/service-agent/server-agents/

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

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

相关文章

数字孪生水务系统可视化管理平台有效缓解城市供水压力

针对传统自来水厂供水水质安全隐患大&#xff0c;运行管理落后等问题&#xff0c;基于数字孪生技术构建全厂三维立体模型,在电脑前就可以掌握全厂管线、设备运行情况,遇到预案中的突发事件还可以给出辅助决策方案。从根本上有效提高水厂运行管理效率,增强对水质变化的应对能力,…

分析shein独立站成功的原因

近年来&#xff0c;Shein独立站在快时尚领域声名鹊起&#xff0c;成为许多时尚消费者的首选网站。面对激烈的竞争&#xff0c;它依然能够站稳脚跟并不断壮大。那么&#xff0c;Shein独立站成功的原因是什么呢&#xff1f; Shein独立站——以消费者为中心的运营模式 Shein独立站…

【Python】Locust持续优化:InfluxDB与Grafana实现数据持久化与可视化分析

在进行性能测试时&#xff0c;我们需要对测试结果进行监控和分析&#xff0c;以便于及时发现问题并进行优化。 Locust在内存中维护了一个时间序列数据结构&#xff0c;用于存储每个事件的统计信息。 这个数据结构允许我们在Charts标签页中查看不同时间点的性能指标&#xff0c…

java中使用HttpRequest发送请求调用自己的接口

(539条消息) java中使用HttpRequest发送请求_java httprequest_thankful_chn的博客-CSDN博客 <dependency><groupId>com.github.kevinsawicki</groupId><artifactId>http-request</artifactId><version>5.6</version></dependenc…

华为云-hcip笔记-网络服务规划

华为云-hcip笔记-网络服务规划 网络服务规划 安全组和网络ACL 网络ACL对子网进行防护&#xff0c;安全组是对ECS进行防护。 对等连接VPC peering 两个vpc之间的网络连接&#xff0c;用户可以使用私有ip地址在两个vpc之间进行通信。 同账号中对等连接自动接受&#xff0c;跨…

【JavaEE】JVM的组成及类加载过程

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶 本文我们主要讲解一下面试中常见的问题&#xff0c;如果想深入了解&#xff0c;请看一下《Java虚拟机规范》这本书 目录 文章目录 一、JVM简介 二、JVM整体组成 2.1 运行时数据区组成 2.2…

【LeetCode周赛】2022上半年题目精选集——数学

文章目录 2183. 统计可以被 K 整除的下标对数目⭐⭐⭐⭐⭐思路——数论&#xff08;一个数乘上另一个数x是k的倍数&#xff0c;x最小是多少&#xff1f;&#xff09;代码1——统计每个数的因子代码2——统计k的因子 2245. 转角路径的乘积中最多能有几个尾随零思路&#xff08;因…

探索全球市场:初创品牌海外营销策略解析

​随着全球化进程的不断推进&#xff0c;越来越多的初创品牌意识到海外市场的巨大潜力&#xff0c;并希望能够将自己的品牌推广到更广阔的国际舞台上。然而&#xff0c;对于初创品牌来说&#xff0c;进军海外市场并开展品牌营销是一项具有挑战性的任务。本文Nox聚星将介绍一些初…

百变探影器 - 是一款很多人都在用的剪辑软件

有没有一款剪辑软件&#xff0c;它不仅颜值高&#xff0c;不用花时间学习就会剪&#xff0c;还自带丰富转场、片头片尾、字幕模板呢&#xff1f;那不得不说的就是一款超级能打的国产剪辑软件—百变探影器软件。 Pr这些比较专业的剪辑软件&#xff0c;基本都需要拥有一定的剪辑…

【实验八】多线程

1、完成书上268页习题第7题和实验题第1、2题 &#xff08;1&#xff09;第7题 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*;public class RollWords extends JFrame{ static RollWords.MyThread thre…

西门子S7-200西门子200plc以太网配置向导

方案摘要&#xff1a; 西门子 S7200 系列 PLC通过MatrikonOPC实现以太网连接&#xff0c;捷米特ETH-S7200-JM01以太网模块为 PLC200转换出以太网通讯接口。 功能简介 MatrikonOPC是世界上最大的OPC开发商和供应商&#xff0c;我们的产品涵盖了OPC服务器、客户端、应用程序、O…

为D1定义一个f()函数,重做练习1-3,并解释其结果

运行代码&#xff1a; //为D1定义一个f()函数&#xff0c;重做练习1-3,并解释其结果 #include"std_lib_facilities.h" //---------------------------------------------------------------------- //定义B1类。 class B1 { public:virtual void vf() { cout<<…

第四章 数学知识(二)——欧拉函数,快速幂,扩展欧与中国剩余定理

文章目录 欧拉函数线性筛求欧拉函数欧拉定理 快速幂逆元 扩展欧几里得中国剩余定理扩展中国剩余定理 欧拉函数练习题873. 欧拉函数874. 筛法求欧拉函数 快速幂练习题875. 快速幂876. 快速幂求逆元 扩展欧练习题877. 扩展欧几里得算法878. 线性同余方程 中国剩余定理练习题204. …

Linux进程信号(一)

信号产生 1.信号基础知识2.初步认识信号3.signal函数4.技术应用角度的信号5.调用系统函数向进程发信号6.由软件条件产生的信号7.硬件异常产生信号8.core &#x1f31f;&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f;&#x1f31f; &#x1f680;&#x1f…

从CoCo到喜茶,新茶饮品牌领悟出海的“九阴真经”了吗?

炎炎夏日里&#xff0c;一杯冰凉的奶茶和果茶受到了更多追捧。但是&#xff0c;中国新茶饮品牌却站在了一个十字路口。 随着新茶饮迈入“万店时代”&#xff0c;国内市场已经出现了明显的内卷现象&#xff0c;头部品牌之间的竞争日趋激烈&#xff0c;中小品牌的生存空间被挤压…

OpenGL的学习记录(一)(一些基本概念)

1.OpenGL是什么&#xff1f; OpenGL是一组各个GPU厂家一起遵循的约定。 2.GLFW&#xff0c;GLAD分别是什么&#xff1f; GLFW解决系统层面的不同&#xff0c;是我们与系统之间的隔离&#xff0c;如&#xff08;创建窗口&#xff0c;定义上下文&#xff0c;处理用户输入&#x…

数据结构--树和森林的遍历

数据结构–树和森林的遍历 树的先根遍历 void PreOrder(TreeNode* R) {if (R ! NULL){visit(R);while (R还有下一个子树T)PreOrder(T);} }树和二叉树的转化后》 树的先根遍历序列与这棵树相应二叉树的先序序列相同。 \color{red}树的先根遍历序列与这棵树相应二叉树的先序序列相…

txt文本筛选—python操作

需求&#xff1a;若文档中某行最后一列内容为0&#xff0c;则删除该行&#xff0c;否则保留该行内容&#xff0c;并将筛选后的内容保存到新的文本文档中。 # 读取原始txt文件 with open(depth_values.txt, r) as file:lines file.readlines()# 过滤掉第三列内容为0的行 filter…

WIFISKY-7层流控路由器 后台任意命令执行漏洞复现

这个漏洞相当于是两个漏洞的结合&#xff0c;首先是弱口令漏洞 admin/admin 我们成功登录后台之后才能进行任意命令执行漏洞的操作&#xff0c;我们登录之后找到系统维护-系统控制台 然后我们使用命令拼接的操作来实现任意命令执行的操作 ifconfig & cat /etc/passwd

自定义seg_decoder组件并创建Nios系统(二)

3.搭建Nios Ⅱ系统 3.1添加组件 系统会自动添加一个clk的clock source组件作为时钟组件&#xff0c;可直接使用该组件作为系统时钟 添加Nios Ⅱ处理器&#xff0c;将Nios Processor组件设置框中Nios Core选择Nios Ⅱ/f&#xff08;报错先不管&#xff09; 添加On-chip Memory…