skywalking部署
系统设置
软件清单
系统:ubuntu20.04
skywalking-apm: 9.1.0
openjdk:17.0.3
es: 8.3.3
系统要求
CPU | Memory |
---|---|
4 core | 4 GB RAM |
端口列表
Name | Port | Destination |
---|---|---|
skywalking-ui | 8080 | 前端服务 |
skywalking-oap | 11800/12800 | 可观测分析平台。11800为数据写入端口,12800为查询端口 |
es | 9200 | es数据读写端口 |
agent | skywalking agent,用于收集app中的访问请求 |
安装oepnjdk
# apt -y install openjdk-17-jdk
部署Elasticsearch
安装elasticearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.3-amd64.deb
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.3-amd64.deb.sha512
shasum -a 512 -c elasticsearch-8.3.3-amd64.deb.sha512
sudo dpkg -i elasticsearch-8.3.3-amd64.deb
配置elasticearch
cluster.name: skywalking-es-cluster
node.name: es-01
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
network.host: 192.168.174.102
http.port: 9200
discovery.seed_hosts: ["192.168.174.102"]
cluster.initial_master_nodes: ["192.168.174.102"]
....
cluster.initial_master_nodes: ["es-01"]
http.host: 0.0.0.0
访问elasticearch
~# curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200
Enter host password for user 'elastic':
{
"name" : "es-01",
"cluster_name" : "skywalkinges-cluster",
"cluster_uuid" : "A2t_ew5lQTijn5q_ovrxCA",
"version" : {
"number" : "8.3.3",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "801fed82df74dbe537f89b71b098ccaff88d2c56",
"build_date" : "2022-07-23T19:30:09.227964828Z",
"build_snapshot" : false,
"lucene_version" : "9.2.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
查看http.p12密码
查看代码
~# /usr/share/elasticsearch/bin/elasticsearch-keystore show xpack.security.http.ssl.keystore.secure_password
_mHaIUe_SiOMLoLVxSX6_Q
查看transport.p12密码
~# /usr/share/elasticsearch/bin/elasticsearch-keystore show xpack.security.transport.ssl.keystore.secure_password
EhPpxFSLSF-cyr-WqkTYyg
部署skywalking
https://skywalking.apache.org/docs/main/latest/readme/
下载skywalking安装包
# version=9.1.0
# wget https://dlcdn.apache.org/skywalking/9.1.0/apache-skywalking-apm-${version}.tar.gz
# tar xf apache-skywalking-apm-${version}.tar.gz -C /usr/local
配置skywalking
~# vim /usr/local/apache-skywalking-apm-bin/config/application.yml
...
storage:
selector: ${SW_STORAGE:elasticsearch}
elasticsearch:
namespace: ${SW_NAMESPACE:"skywalking-index"}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"https"}
connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:3000}
socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000}
responseTimeout: ${SW_STORAGE_ES_RESPONSE_TIMEOUT:15000}
numHttpClientThread: ${SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD:0}
user: ${SW_ES_USER:"elastic"}
password: ${SW_ES_PASSWORD:"AClTW*BbjufV39H5tUQS"}
trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:"/etc/elasticsearch/certs/http.p12"}
trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:"_mHaIUe_SiOMLoLVxSX6_Q"}
...
运行skywalking
查看代码
~# /usr/local/apache-skywalking-apm-bin/bin/startup.sh
SkyWalking OAP started successfully!
SkyWalking Web Application started successfully!
查看UI
查看es数据
docker-compose部署skywalking
安装依赖
安装docker,docker-compose
创建es数据目录
~# mkdir -pv /data/apps/skywalking/es/data
~# docker run --rm elasticsearch:7.17.5 id elasticsearch
uid=1000(elasticsearch) gid=1000(elasticsearch) groups=1000(elasticsearch),0(root)
~# chwon -R 1000.1000 /data/apps/skywalking/es
准备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: 30s
timeout: 10s
retries: 3
start_period: 40s
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.1.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.1.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
访问es
~# curl http://localhost:9200
{
"name" : "99be81ba8249",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "vdpKJB8iRwykH3GtfPD52A",
"version" : {
"number" : "7.17.5",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "8d61b4f7ddf931f219e3745f295ed2bbc50c8e84",
"build_date" : "2022-06-23T21:57:28.736740635Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}