跳到主要内容

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

配置验证与调试

  1. 启动参数检查

    bash
    java -javaagent:/path/to/skywalking-agent.jar -Dskywalking.agent.service_name=test-service
  2. 日志验证: 检查logs/skywalking-api.log,正常启动会显示:

    log
    DEBUG SkyWalkingAgent - Config initialization...
    INFO Sniffer - Start to report service instance...
常见问题

若出现GRPCChannelManager错误,请检查:

  • 网络连通性
  • OAP服务端口(默认11800)
  • 防火墙规则

总结

通过本文,你已掌握:

  • 配置文件的核心参数作用
  • 采样率等关键参数的调优原则
  • 实际场景中的配置技巧

扩展练习

  1. 尝试为你的Spring Boot应用添加Agent并配置50%采样率
  2. 通过修改plugin.jdbc.trace_sql_parameters参数监控SQL参数

附加资源