SkyWalking教程一

一.使用二进制及Docker-Compsoe安装SkyWalking

# 二进制安装
# 部署ES
root@redis-6:~# vim /etc/sysctl.conf
net.ipv4.ip_forward=1
vm.max_map_count=262144
root@redis-6:/apps/ES# grep -v "#" /etc/elasticsearch/elasticsearch.yml | grep -v "^$"
cluster.name: es1
node.name: node1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 172.18.10.146
http.port: 9200
discovery.seed_hosts: ["172.18.10.146"]
cluster.initial_master_nodes: ["172.18.10.146"]
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
xpack.security.http.ssl:
  enabled: false
  keystore.path: certs/http.p12
xpack.security.transport.ssl:
  enabled: false
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
http.host: 0.0.0.0

# SkyWalking二进制安装
root@redis-6:/apps/ES# apt install openjdk-11-jdk -y
root@redis-6:/apps/skrwaiking# ls
apache-skywalking-apm-9.3.0.tar.gz
root@redis-6:/apps/skrwaiking# tar -xvf apache-skywalking-apm-9.3.0.tar.gz 
root@redis-6:/apps/skrwaiking# ln -sv apache-skywalking-apm-bin skrwaiking
root@redis-6:/apps/skrwaiking# vim /apps/skrwaiking/skrwaiking/config/application.yml 
storage:
  selector: ${SW_STORAGE:elasticsearch}
  elasticsearch:
    namespace: ${SW_NAMESPACE:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:172.18.10.146:9200}

root@redis-6:/apps# vim /etc/systemd/system/skywalking.service
[Unit]
Description=Apache Skywalking
After=network.target

[Service]
Type=oneshot
User=root
WorkingDirectory=/apps/skywalking/skywalking/bin/
ExecStart=/bin/bash /apps/skywalking/skywalking/bin/startup.sh
RemainAfterExit=yes
RestartSec=5

[Install]
WantedBy=multi-user.target

root@redis-6:/apps# systemctl daemon-reload && systemctl restart skywalking && systemctl enable skywalking

# 验证http://172.18.10.146:8080/general

在这里插入图片描述

在这里插入图片描述

# docker-compsoe安装skywalking
[root@k8s-harbor ~]# mkdir -pv /data/elasticsearch/
[root@k8s-harbor ~]# chown 1000.1000 -R /data/elasticsearch
[root@k8s-harbor ~]# mkdir  /data/skywalking-9.3-docker-composefile -pv
[root@k8s-harbor ~]# cd /data/skywalking-9.3-docker-composefile
[root@k8s-harbor skywalking-9.3-docker-composefile]# vim docker-compose.yml
version: "3"

services:
  elasticsearch:
    image: elasticsearch:8.4.2
    container_name: elasticsearch
    ports:
      - "9200:9200"
    healthcheck:
      test: ["CMD-SHELL", "curl -sf http://localhost:9200/_cluster/health || exit 1"] #心跳检测,成功之后不再执行后面的退出
      interval: 60s #心跳检测间隔周期
      timeout: 10s
      retries: 3
      start_period: 60s #首次检测延迟时间
    environment:
      discovery.type: single-node #单节点模式
      ingest.geoip.downloader.enabled: "false"
      bootstrap.memory_lock: "true"
      ES_JAVA_OPTS: "-Xms512m -Xmx512m"
      TZ: "Asia/Shanghai"
      xpack.security.enabled: "false" #单机模式
    ulimits:
      memlock:
        soft: -1
        hard: -1

  skywalking-oap:
    image: apache/skywalking-oap-server:9.3.0
    container_name: skywalking-oap
    depends_on:
      elasticsearch:
        condition: service_healthy
    links:
      - elasticsearch
    environment:
      SW_HEALTH_CHECKER: default
      SW_STORAGE: elasticsearch
      SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
      JAVA_OPTS: "-Xms2048m -Xmx2048m"
      TZ: Asia/Shanghai
      SW_TELEMETRY: prometheus
    healthcheck:
      test: ["CMD-SHELL", "/skywalking/bin/swctl ch"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    restart: on-failure
    ports:
      - "11800:11800"
      - "12800:12800"

  skywalking-ui:
    image: apache/skywalking-ui:9.3.0
    depends_on:
      skywalking-oap:
        condition: service_healthy
    links:
      - skywalking-oap
    ports:
    - "8080:8080"
    environment:
      SW_OAP_ADDRESS: http://skywalking-oap:12800
      SW_HEALTH_CHECKER: default
      TZ: Asia/Shanghai
    healthcheck:
      test: ["CMD-SHELL", "curl -sf http://localhost:8080 || exit 1"] #心跳检测,成功之后不再执行后面的退出
      interval: 60s #心跳检测间隔周期
      timeout: 10s
      retries: 3
      start_period: 60s #首次检测延迟时间
[root@k8s-harbor skywalking-9.3-docker-composefile]# docker-compose  up -d
# 验证

二.在K8S 环境部署SkyWalking

[root@k8s-deployer ~]# mkdir -p /data/k8sdata/myserver/esdata
[root@k8s-deployer ~]# chown -R 1000.1000 /data/k8sdata/myserver/esdata
[root@k8s-deployer ~]# vim /etc/exports
/data/k8sdata/myserver/esdata *(rw,no_root_squash)
[root@k8s-deployer ~]# systemctl restart nfs-server
[root@k8s-deployer ~]# kubectl apply -f 1.es.yaml
[root@k8s-deployer ~]# kubectl apply -f 2.skywalking-oap.yaml
[root@k8s-deployer ~]# kubectl apply -f 3.skywalking-ui.yaml

在这里插入图片描述

三.实现单体服务halo博客和jenkins的请求链路跟踪

# 准备skywalking java agent
root@redis-7:/data# tar xvf apache-skywalking-java-agent-8.13.0.tgz
root@redis-7:/data# vim skywalking-agent/config/agent.config 
agent.service_name=${SW_AGENT_NAME:halo}
agent.namespace=${SW_AGENT_NAMESPACE:magedu}
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:172.18.10.146:11800}

# 安装Halo 
root@redis-7:/data# apt install openjdk-11-jdk
root@redis-7:/data# java -version
openjdk version "11.0.20.1" 2023-08-24
OpenJDK Runtime Environment (build 11.0.20.1+1-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.20.1+1-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)
root@redis-7:/apps# wget https://dl.halo.run/release/halo-1.6.1.jar
root@redis-7:/apps# ls
halo-1.6.1.jar
# 启动
root@redis-7:/apps# nohup  java -javaagent:/data/skywalking-agent/skywalking-agent.jar -jar /apps/halo-1.6.1.jar &
# 验证

在这里插入图片描述

在这里插入图片描述

四.在虚拟机环境基于kyWalking实现对dubbo微服务的链路跟踪

# 部署注册中心 172.18.10.144
root@redis-4:~# apt install openjdk-8-jdk
root@redis-4:~# java -version
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (build 1.8.0_382-8u382-ga-1~22.04.1-b05)
OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)
root@redis-4:~# cd /apps/
root@redis-4:~# wget https://dlcdn.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
root@redis-4:~# tar -xf apache-zookeeper-3.7.1-bin.tar.gz 
root@redis-4:/apps# cp /apps/apache-zookeeper-3.7.1-bin/conf/zoo_sample.cfg /apps/apache-zookeeper-3.7.1-bin/conf/zoo.cfg 
root@redis-4:/apps#  /apps/apache-zookeeper-3.7.1-bin/bin/zkServer.sh start
root@redis-4:/apps# lsof -i:2181
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    5577 root   70u  IPv6 372212      0t0  TCP *:2181 (LISTEN)

# 部署provider 172.18.10.145
root@redis-5:~# apt install openjdk-8-jdk -y
root@redis-5:~# mkdir /data && cd /data
root@redis-5:/data# tar -xf apache-skywalking-java-agent-8.13.0.tgz 
root@redis-5:/data# vim /data/skywalking-agent/config/agent.config
agent.service_name=${SW_AGENT_NAME:dubbo-server1}
agent.namespace=${SW_AGENT_NAMESPACE:myserver}
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:172.18.10.146:11800}
# 添加主机名解析,dubbo里面的zookeeper地址写在了源代码中,域名变量为ZK_SERVER1:
root@redis-5:/data# vim /etc/profile
export ZK_SERVER1=172.18.10.144
root@redis-5:/data# source /etc/profile
root@redis-5:/data# echo $ZK_SERVER1
172.18.10.144
root@redis-5:/apps/dubbo/provider# nohup java -javaagent:/data/skywalking-agent/skywalking-agent.jar -jar /apps/dubbo/provider/dubbo-server.jar &

# 部署consumer 172.18.10.143
root@redis-3:~# apt install openjdk-8-jdk -y
root@redis-3:~#  cd /data
root@redis-3:/data# tar -xf apache-skywalking-java-agent-8.13.0.tgz 
root@redis-3:/data#  vim /data/skywalking-agent/config/agent.config
agent.service_name=${SW_AGENT_NAME:dubbo-consumer1}
agent.namespace=${SW_AGENT_NAMESPACE:myserver}
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:172.18.10.146:11800}
# 添加主机名解析,dubbo里面的zookeeper地址写在了源代码中,域名变量为ZK_SERVER1,SW也可以为agent设置环境变量:
root@redis-3:/data# vim /etc/profile
export SW_SERVER="172.18.10.146"
export ZK_SERVER1="172.18.10.144"
root@redis-3:/data# source /etc/profile
root@redis-3:/apps/dubbo/consumer# nohup java -javaagent:/data/skywalking-agent/skywalking-agent.jar -jar /apps/dubbo/consumer/dubbo-client.jar &
# 验证consumer

在这里插入图片描述

在这里插入图片描述

# 部署dubboadmin 172.18.10.144
root@redis-4:/apps# java -version
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (build 1.8.0_382-8u382-ga-1~22.04.1-b05)
OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)
root@redis-4:/apps# cd /apps/
root@redis-4:/apps# tar -xf apache-tomcat-8.5.84.tar.gz 
root@redis-4:/apps# cd /apps/apache-tomcat-8.5.84/webapps/
root@redis-4:/apps/apache-tomcat-8.5.84/webapps# rm -rf ./*
root@redis-4:/apps/apache-tomcat-8.5.84/webapps# unzip dubboadmin.war 
root@redis-4:/apps/apache-tomcat-8.5.84/webapps# vim dubboadmin/WEB-INF/dubbo.properties 
dubbo.registry.address=zookeeper://172.18.10.144:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
# 验证http://172.18.10.144:8088/dubboadmin/governance/applications

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值