TIPS
本文基於Skywalking 6.6.0,理論支持Skywalking 6.5.0及更高版本。
從Skywalking 6.5.0開始,部分Skywalking配置項支持“動態配置”——這樣修改完配置后,就無需重啟Skywalking啦。
支持動態配置的配置項如下:
| 配置 Key | 描述 | 值的格式 |
|---|---|---|
| receiver-trace.default.slowDBAccessThreshold | 訪問數據庫慢的閾值,該值將會覆蓋applciation.yml文件中的 receiver-trace/default/slowDBAccessThreshold 屬性 | 例如:default:200,mongodb:50 |
| receiver-trace.default.uninstrumentedGateways | 非儀表網關 相關配置,該值將會覆蓋gateways.yml | 格式同 gateways.yml |
| alarm.default.alarm-settings | 告警 相關配置,該值將會覆蓋 alarm-settings.yml. |
格式同 alarm-settings.yml |
| core.default.apdexThreshold | apdex閾值 相關配置,該值將會覆蓋service-apdex-threshold.yml | 格式同 service-apdex-threshold.yml |
要想實現動態配置,需要一個額外的配置服務器。引入配置服務器之后,架構圖如下:

Skywalking支持使用如下配置服務器:
就目前來看,除 Dynamic Configuration Service 尚不完備以外,其他的都可以直接用在生產。
下面,以Nacos為例,講解如何用Nacos實現動態配置,其他配置服務器可點擊上面的鏈接,查看官方文檔。
搭建Nacos Server
安裝
-
前往 https://github.com/alibaba/nacos/releases 下載合適版本即可,本文用的是Nacos 1.1.4
-
根據您的操作系統,到
bin目錄執行對應命令,即可啟動Nacos。# Linux/Unix/Mac sh startup.sh -m standalone # Windows cmd startup.cmd -
啟動后,訪問
http://127.0.0.1:8848/nacos即可看到類似如下的界面:
-
輸入賬號密碼:
nacos/nacos,即可進入首頁。
停止
根據您的操作系統,到 bin 目錄執行對應命令,即可停止Nacos:
# Linux/Unix/Mac
sh shutdown.sh
# Windows
cmd shutdown.cmd
Skywalking使用Nacos管理配置
-
修改Skywalking的application.yml,找到:
configuration: none: 注釋掉 none這一行,即改為: # none解開Nacos相關配置:
configuration: nacos: # Nacos Server IP serverAddr: 127.0.0.1 # Nacos Server端口 port: 8848 # Nacos Group group: 'skywalking' # Nacos namespace namespace: '' # 多久從Nacos Server上同步一次配置,單位秒 period : 60 # 集群名稱 clusterName: "default" -
以管理告警規則為例,在Nacos Server上創建DataId為
alarm.default.alarm-settings(其他配置類似,參照本文最上面的表格即可),配置的值參照alarm-settings.yml的寫法。例如:rules: service_resp_time_rule: metrics-name: service_resp_time op: ">" threshold: 1 period: 2 count: 1 silence-period: 5 message: Response time of service {name} is more than 1ms in 1 minutes of last 2 minutes.
本文首發: http://www.itmuch.com/skywalking/dynamic-configuration/
