1. 程式人生 > 其它 >Skywalking的一些常用配置

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/

然後重新啟動服務就行了。

效果如下: