Skywalking的一些常用配置

配置覆盖

可以使用Skywalking提供的配置覆盖功能通过启动命令动态指定服务名,这样agent只需要部署一份即可。Skywalking支持的几种配置方式:
系统配置(System properties)
使用 skywalking. + 配置文件中的配置名作为系统配置项来进行覆盖.为什么需要添加前缀 ?agent的系统配置和环境与目标应用共享,所以加上前缀可以有效的避免冲突。
通过 如下进行 agent.service_name 的覆盖

-Dskywalking.agent.service_name=skywalking_mysql

探针配置( Agent options)
Add the properties after the agent path in JVM arguments.

-javaagent:/path/to/skywalking-agent.jar=[option1]=[value1],[option2]=[value2]

案例
通过 如下进行 agent.service_name 的覆盖

-javaagent:/path/to/skywalking-agent.jar=agent.service_name=skywalking_mysql

特殊字符
如果配置中包含分隔符( , 或者 = ) , 就必须使用引号包裹起来

-javaagent:/path/to/skywalking-agent.jar=agent.ignore_suffix='.jpg,.jpeg'

系统环境变量( System environment variables)
案例
由于agent.service_name配置项如下所示:

# The service name in UI
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}

可以在环境变量中设置 SW_AGENT_NAME的值来指定服务名。
覆盖优先级
探针配置 > 系统配置 >系统环境变量 > 配置文件中的值

所以我们的启动命令可以修改为:

java -javaagent:apache-skywalking-apm-bin/agent_mysql/skywalking-agent.jar -Dskywalking.agent.service_name=skywalking_mysql -jar skywalking_mysql.jar &

或者

java -javaagent:apache-skywalking-apm-bin/agent_mysql/skywalking-agent.jar=agent.service_name=skywalking_mysql -jar skywalking_mysql.jar &

过滤指定端点

有些端点是我们不想被skywalking监控的,例如spring boot actuator的。

我们可以做以下配置:

cp agent/optional-plugins/apm-trace-ignore-plugin-8.6.0.jar agent/plugins/
vi agent/config/apm-trace-ignore-plugin.config

#做如下配置,即可忽略指定端点:/actuator/**,/actuator,Lettuce/INFO
trace.ignore_path=${SW_AGENT_TRACE_IGNORE_PATH:Lettuce/INFO,/actuator/**,/actuator}

整合gateway

cp agent/optional-plugins/apm-spring-cloud-gateway-2.1.x-plugin-8.6.0.jar agent/plugins/ 
cp agent/optional-plugins/apm-spring-webflux-5.x-plugin-8.6.0.jar agent/plugins/

然后重新启动服务就行了。

效果如下:

Skywalking的一些常用配置

Skywalking的一些常用配置

上一篇:.NetCore从零开始使用Skywalking分布式链路追踪系统


下一篇:Skywalking-05:在Skywalking RocketBot上添加监控图表