Skywalking运维之路(Skywalking服务搭建)

1.前期准备

shell 复制代码
# 创建文件夹
root@ubuntu2204test99:~# mkdir skywailking
root@ubuntu2204test99:~# cd skywailking/
# 下载oap和ui镜像
root@ubuntu2204test99:~/skywailking# docker pull apache/skywalking-oap-server:10.2.0-java21
root@ubuntu2204test99:~/skywailking# docker pull apache/skywalking-ui:10.2.0-java21

# 启动容器
root@ubuntu2204test99:~/skywailking# docker run -d -it --name skywalking-oap apache/skywalking-oap-server:10.2.0-java21
root@ubuntu2204test99:~/skywailking# docker run -d -it --name skywalking-ui apache/skywalking-ui:10.2.0-java21
88e679e568c7e2c0bf53326da4201b4b26410f7456cd3e005194bba322c7258e
# 查看启动容器ID
root@ubuntu2204test99:~/skywailking# docker ps |grep sky
88e679e568c7   apache/skywalking-ui:10.2.0-java21                                "bash docker-entrypo..."   8 seconds ago   Up 7 seconds            8080/tcp                                                                                   skywalking-ui
2c426d0e6ac4   apache/skywalking-oap-server:10.2.0-java21                        "bash docker-entrypo..."   5 seconds ago   Up 5 seconds            1234/tcp, 11800/tcp, 12800/tcp

# 将容器中内容拷贝到本地并修改名称
root@ubuntu2204test99:~/skywailking# docker cp 88e679e568c7:/skywalking .
Successfully copied 38.1MB to /root/skywailking/.
root@ubuntu2204test99:~/skywailking# mv skywalking skywalking-ui
root@ubuntu2204test99:~/skywailking# docker cp 2c426d0e6ac4:/skywalking .
Successfully copied 137MB to /root/skywailking/.
root@ubuntu2204test99:~/skywailking# mv skywalking skywalking-oap

# 删除临时容器
root@ubuntu2204test99:~/skywailking# docker rm -f 88e679e568c7 2c426d0e6ac4

2. Docker-compose文件编写

yaml 复制代码
version: '3.8'
services:
  oap:
    image: apache/skywalking-oap-server:10.2.0-java21
    container_name: oap
    ports:
      - "11800:11800"
      - "12800:12800"
      - "1234:1234"  #自监控端口
    healthcheck:
      test: [ "CMD-SHELL", "/skywalking/bin/swctl ch" ]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    environment:
      SW_HEALTH_CHECKER: default
      SW_TELEMETRY: prometheus
      JAVA_OPTS: "-Xms2048m -Xmx2048m"
    volumes:
      - ./skywalking-oap:/skywalking #映射配置文件
  ui:
    image: apache/skywalking-ui:10.2.0-java21
    container_name: ui
    depends_on:
      oap:
        condition: service_healthy
    ports:
      - "9301:8080"
    volumes:
      - ./skywalking-ui:/skywalking #映射配置文件

3.修改OAP配置

yaml 复制代码
root@ubuntu2204test99:~# cd skywailking/skywalking-oap
root@ubuntu2204test99:~/skywailking/skywalking-oap# vi config/application.yml
# 要修改的几个关键位置
# 存储设置
storage:
  selector: ${SW_STORAGE:elasticsearch}  # 使用elasticsearch存储
  elasticsearch:
    namespace: ${SW_NAMESPACE:"skywalking"}  # es命名空间
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.1.99:9201,192.168.1.99:9202,192.168.1.99:9203}  #es连接地址
    .......
    user: ${SW_ES_USER:"elastic"}  #es账号
    password: ${SW_ES_PASSWORD:"123456"}  #es密码
    .........
# 自监控配置
telemetry:
  selector: ${SW_TELEMETRY:prometheus}
  none:
  prometheus:
    #host: ${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0}
    #port: ${SW_TELEMETRY_PROMETHEUS_PORT:1234}
    host: 0.0.0.0
    port: 1234
    sslEnabled: ${SW_TELEMETRY_PROMETHEUS_SSL_ENABLED:false}
    sslKeyPath: ${SW_TELEMETRY_PROMETHEUS_SSL_KEY_PATH:""}
    sslCertChainPath: ${SW_TELEMETRY_PROMETHEUS_SSL_CERT_CHAIN_PATH:""}

4.修改UI配置

yaml 复制代码
serverPort: 8080
oapServices: http://192.168.1.99:12800
zipkinServices: http://192.168.1.99:9412

5.启动Docker-compose

shell 复制代码
root@ubuntu2204test99:~/skywailking# docker-compose up -d

相关推荐
学长毕业设计3 小时前
基于SpringBoot的公益基金管理系统(源码+文档+讲解视频)
java·spring boot·后端
Brilliantwxx3 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
东小西3 小时前
【SAA实战】第 3 篇 · 工具调用全攻略:把业务能力交给 Agent 自己调度
java·后端·spring
东小西3 小时前
【SAA实战】第 4 篇 · Agent 短期记忆:saver 让 Agent 跨轮记得住(threadId 隔离)
java·后端·spring
许彰午3 小时前
22-DataCenter报文序列化
java·低代码·架构·状态模式
2601_962065253 小时前
[MySQL] SQL优化之性能分析
java·sql·mysql
小范同学_4 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
richdata4 小时前
商品数字化不是先做大数据,而是先把数据变成可用决策
大数据·运维·数据治理·商品数字化·智能补货·ai商品决策
weixin_416667964 小时前
【无标题】
运维·服务器·网络
予昊5 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket