一.使用二进制及Docker-Compsoe安装SkyWalking
root@redis-6:~
net.ipv4.ip_forward=1
vm.max_map_count=262144
root@redis-6:/apps/ES
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
root@redis-6:/apps/ES
root@redis-6:/apps/skrwaiking
apache-skywalking-apm-9.3.0.tar.gz
root@redis-6:/apps/skrwaiking
root@redis-6:/apps/skrwaiking
root@redis-6:/apps/skrwaiking
storage:
selector: ${SW_STORAGE:elasticsearch}
elasticsearch:
namespace: ${SW_NAMESPACE:""}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:172.18.10.146:9200}
root@redis-6:/apps
[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
[root@k8s-harbor ~]
[root@k8s-harbor ~]
[root@k8s-harbor ~]
[root@k8s-harbor ~]
[root@k8s-harbor skywalking-9.3-docker-composefile]
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]
二.在K8S 环境部署SkyWalking
[root@k8s-deployer ~]
[root@k8s-deployer ~]
[root@k8s-deployer ~]
/data/k8sdata/myserver/esdata *(rw,no_root_squash)
[root@k8s-deployer ~]
[root@k8s-deployer ~]
[root@k8s-deployer ~]
[root@k8s-deployer ~]
三.实现单体服务halo博客和jenkins的请求链路跟踪
root@redis-7:/data
root@redis-7:/data
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}
root@redis-7:/data
root@redis-7:/data
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
root@redis-7:/apps
halo-1.6.1.jar
root@redis-7:/apps
四.在虚拟机环境基于kyWalking实现对dubbo微服务的链路跟踪
root@redis-4:~
root@redis-4:~
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:~
root@redis-4:~
root@redis-4:~
root@redis-4:/apps
root@redis-4:/apps
root@redis-4:/apps
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 5577 root 70u IPv6 372212 0t0 TCP *:2181 (LISTEN)
root@redis-5:~
root@redis-5:~
root@redis-5:/data
root@redis-5:/data
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}
root@redis-5:/data
export ZK_SERVER1=172.18.10.144
root@redis-5:/data
root@redis-5:/data
172.18.10.144
root@redis-5:/apps/dubbo/provider
root@redis-3:~
root@redis-3:~
root@redis-3:/data
root@redis-3:/data
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}
root@redis-3:/data
export SW_SERVER="172.18.10.146"
export ZK_SERVER1="172.18.10.144"
root@redis-3:/data
root@redis-3:/apps/dubbo/consumer
root@redis-4:/apps
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
root@redis-4:/apps
root@redis-4:/apps
root@redis-4:/apps/apache-tomcat-8.5.84/webapps
root@redis-4:/apps/apache-tomcat-8.5.84/webapps
root@redis-4:/apps/apache-tomcat-8.5.84/webapps
dubbo.registry.address=zookeeper://172.18.10.144:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest