
在分布式系统与微服务架构盛行的今天,应用性能监控(APM)已成为保障服务稳定性的核心工具。作为一款开源、高性能的APM系统,SkyWalking凭借其低侵入性、多语言支持和强大的可视化能力,成为开发者监控分布式链路、诊断性能问题的首选方案。然而,对于初次接触SkyWalking的团队而言,如何快速完成环境搭建与配置仍存在一定门槛。本文将深入解析SkyWalking的安装与部署全流程,从环境准备到集群配置,手把手助您构建高效的监控体系。
在部署SkyWalking之前,确保系统环境满足以下条件:
提示:若使用Elasticsearch,建议单独部署以降低资源争用风险。
通过SkyWalking官网或GitHub Release页面获取最新版本(如v9.7.0):
wget https://archive.apache.org/dist/skywalking/9.7.0/apache-skywalking-apm-9.7.0.tar.gz
tar -zxvf apache-skywalking-apm-9.7.0.tar.gz
cd apache-skywalking-apm-bin
修改config/application.yml文件,设置Elasticsearch连接信息:
storage:
selector: elasticsearch
elasticsearch:
nameSpace: ${SW_NAMESPACE:""}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
注:若使用MySQL,需将selector改为mysql并配置JDBC连接。
运行启动脚本:
bin/startup.sh
检查日志logs/skywalking-oap-server.log,确认输出OAP starts up in thread表示启动成功。
默认端口为8080,浏览器访问http://服务器IP:8080即可进入仪表盘。
对于生产环境,集群化部署是保障监控系统高可用的关键。以下是核心配置要点:
config/application.yml:cluster:
selector: zookeeper
zookeeper:
namespace: skywalking
hostPort: localhost:2181
discovery.seed_hosts与cluster.initial_master_nodes实现节点发现。
clusterNodes设置为所有ES节点地址(如node1:9200,node2:9200,node3:9200)。
通过Nginx或Kubernetes Ingress实现流量分发:
upstream skywalking_ui {
server 10.0.0.1:8080;
server 10.0.0.2:8080;
}
server {
listen 80;
location / {
proxy_pass http://skywalking_ui;
}
}
借助Docker或Kubernetes,可实现快速弹性扩缩容。以下为Docker Compose示例:
version: '3.8'
services:
oap:
image: apache/skywalking-oap-server:9.7.0
environment:
SW_STORAGE: elasticsearch
SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
ports:
- "11800:11800"
- "12800:12800"
ui:
image: apache/skywalking-ui:9.7.0
environment:
SW_OAP_ADDRESS: oap:12800
ports:
- "8080:8080"
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.6
environment:
discovery.type: single-node
运行docker-compose up -d即可启动完整服务链。
-javaagent:/path/to/skywalking-agent.jar
-DSW_AGENT_NAME=your-service-name
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
oap-server的CPU/内存使用情况,确认无异常峰值。
Connection refused类错误。
tcpdump或telnet测试网络连通性。
storage/elasticsearch/bulkActions参数降低写入频率。
通过以上步骤,您已完成从单机测试到生产级集群的完整部署流程。无论是传统虚拟机还是云原生环境,SkyWalking均能灵活适配,为您的系统提供实时、精准的性能洞察
Air
March 10, 2025
产品资讯