SkyWalking Agent配置文件详解
简介
SkyWalking Agent是分布式系统的探针,负责自动采集应用性能数据并上报至SkyWalking后端。其核心配置文件agent.config
决定了Agent的行为模式,包括采样率、服务名、后端地址等关键参数。本文将详细解析配置文件的各个部分,并通过实际案例演示如何优化配置。
配置文件基础结构
SkyWalking Agent的配置文件通常位于/agent/config/agent.config
,采用key=value
的简单格式。以下是一个基础示例:
properties
# 服务名称(必填)
agent.service_name=your-application-name
# 后端OAP服务器地址(必填)
collector.backend_service=127.0.0.1:11800
# 采样率(0-10000,默认10000表示全采样)
agent.sample_n_per_3_secs=10000
# 日志级别(DEBUG/INFO/WARN/ERROR)
logging.level=INFO
关键配置参数详解
1. 基础配置
参数 | 说明 | 示例值 |
---|---|---|
agent.service_name | 服务标识符,需唯一 | user-service |
agent.namespace | 跨进程链路关联的命名空间 | prod-cluster |
agent.sample_n_per_3_secs | 每3秒的采样数量 | 5000 (50%采样) |
采样率建议
生产环境建议设置5000-8000
以平衡性能与数据完整性,开发环境可设为10000
(全采样)。
2. 后端连接配置
properties
# 多个OAP服务器用逗号分隔
collector.backend_service=10.0.0.1:11800,10.0.0.2:11800
# 请求超时(毫秒)
collector.grpc_channel_check_interval=30
3. 插件配置
properties
# 禁用特定插件(如不监控Redis)
plugin.redis.trace=disabled
实际配置案例
场景:微服务电商系统配置
properties
# 订单服务配置
agent.service_name=order-service
agent.namespace=ecommerce-prod
collector.backend_service=skywalking-oap:11800
agent.sample_n_per_3_secs=7000
# 禁用Kafka插件(非消息生产者)
plugin.kafka.trace=disabled
配置验证与调试
-
启动参数检查:
bashjava -javaagent:/path/to/skywalking-agent.jar -Dskywalking.agent.service_name=test-service
-
日志验证: 检查
logs/skywalking-api.log
,正常启动会显示:logDEBUG SkyWalkingAgent - Config initialization...
INFO Sniffer - Start to report service instance...
常见问题
若出现GRPCChannelManager
错误,请检查:
- 网络连通性
- OAP服务端口(默认11800)
- 防火墙规则
总结
通过本文,你已掌握:
- 配置文件的核心参数作用
- 采样率等关键参数的调优原则
- 实际场景中的配置技巧
扩展练习
- 尝试为你的Spring Boot应用添加Agent并配置50%采样率
- 通过修改
plugin.jdbc.trace_sql_parameters
参数监控SQL参数