skywalking安装

这篇具有很好参考价值的文章主要介绍了skywalking安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

skywalking部署示意图

server安装

裸机安装

docker单节点安装

docker集群安装

k8s安装

helm安装(官方)

k8s yaml安装

动态配置安装

client agent安装


skywalking部署示意图

skywalking安装,skywalking,docker,云原生

 

  • 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

skywalking安装,skywalking,docker,云原生

 

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文件中的部署环境变量值

skywalking安装,skywalking,docker,云原生

 

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

skywalking安装,skywalking,docker,云原生

 

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

skywalking安装,skywalking,docker,云原生

 

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

skywalking安装,skywalking,docker,云原生

 

输入相关信息,保存

skywalking安装,skywalking,docker,云原生

 

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

skywalking安装,skywalking,docker,云原生

 

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

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

skywalking安装,skywalking,docker,云原生

 

client agent安装

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

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

skywalking安装,skywalking,docker,云原生

 

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

skywalking安装,skywalking,docker,云原生

 

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

到了这里,关于skywalking安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 专为云原生、微服务架构而设计的链路追踪工具 【SkyWalking介绍及搭建】

    服务链路追踪已成为不可或缺的一环 skywalking是一个优秀的 国产 开源框架,2015年由个人 吴晟 (华为开发者)开源 , 2017年加入apache 孵化器。 skywalking是分布式系统的应用 程序性能监视工具 ,专为微服务、云原生架构和基于容器化技术 (docker、K8s、Mesos)架构而设计,它是

    2023年04月08日
    浏览(73)
  • 【云原生】Docker环境安装

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker可以运行在Windows、Mac、CentOS、Ubuntu等操作系统上 Docker支持

    2024年02月09日
    浏览(26)
  • 【云原生】Docker的安装和镜像操作

    目录 什么是Docker? 容器化越来越受欢迎,因为容器是: Docker与虚拟机的区别: 容器在内核中支持2种重要技术: Docker核心概念: 安装Docker 安装依赖包 设置阿里云镜像源 安装 Docker-CE并设置为开机自动启动 查看 docker 版本信息 docker 信息查看 Docker 镜像操作 搜索镜像 ​编辑

    2024年01月25日
    浏览(27)
  • 【云原生丶Docker】MacOS系统安装Docker【保姆级教程】

    Mac 系统安装 Docker 其实很简单,我们在官方文档下载安装一下就可以了,但是需要注意 Docker 官方建议 MacOS 必须是版本 11 或更高版本,如果版本较低,建议先升级 MacOS 版本。 可以通过左上角的小  图片查看系统版本,并可以通过 ”软件更新“ 来检查和更新 MacOS 系统。 通

    2024年02月15日
    浏览(42)
  • 【云原生|Docker系列第2篇】Docker的安装和配置

    欢迎来到Docker入门系列的第二篇博客!在上一篇博客中,我们已经介绍了Docker的基本概念和作用,以及为什么它成为现代应用开发和部署的关键技术。本篇博客将着重讨论Docker的安装和配置,帮助您开始使用Docker并为您的应用程序提供一个稳定和可靠的容器化环境。 Docker的安

    2024年02月15日
    浏览(70)
  • Docker 的工作原理及安装步骤【云原生】

    大型项目组件较多,运行环境也较为复杂,部署会碰到一些问题: ① 依赖关系复杂,容易出现兼容性问题; ② 开发、测试、生产环境有差异。 问题一:Docker 是如何解决不同组件之间依赖的兼容性问题的? Docker 会将应用的函数库、依赖、配置与应用一起打包,然后将每个

    2024年01月22日
    浏览(28)
  • 【云原生】初识Docker,安装以及了解操作命令

    背景:以前开发、测试、生产为不同的环境,痛点是发现开发测试以后没问题,但是在生产环境无法运行。给测试、开发、运维人员造成了大量的工作。最终结果是发版更新速度也跟不上,效率低 我认为使用容器的核心原因:降本增效 容器可以屏蔽底层操作系统的差异性,

    2024年01月24日
    浏览(35)
  • 【云原生】Docker入门 -- 阿里云服务器环境下安装Docker

    📢📢📢📣📣📣 哈喽!大家好 ,我是【 Bug 终结者 】 ,【CSDNJava领域优质创作者】🏆,阿里云受邀专家博主🏆,51CTO人气博主🏆 . 一位上进心十足,拥有极强学习力的【 Java领域博主 】😜😜😜 🏅【Bug 终结者】博客的领域是【面向后端技术】的学习,未来会持续更新更

    2024年02月05日
    浏览(35)
  • 【云原生 | 55】Docker三剑客之Docker Swarm简介和安装

    🍁 博主简介 :         🏅云计算领域优质创作者         🏅2022年CSDN新星计划python赛道第一名         🏅2022年CSDN原力计划优质作者         🏅阿里云ACE认证高级工程师         🏅阿里云开发者社区专家博主 💊 交流社区 :CSDN云计算交流社区欢迎您的

    2024年02月11日
    浏览(28)
  • 【云原生】Docker的初步认识,安装与基本操作

    Docker是一个开源的 应用容器引擎 ,基于go语言开发并遵循了apache2.0协议开源。 Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。 Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。 Docker的Logo设计为蓝色

    2024年02月16日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包