Skywalking的一些常用配置
阿新 • • 發佈:2021-07-06
配置覆蓋
可以使用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/
然後重新啟動服務就行了。
效果如下: