Skywalking系列博客7-動態配置


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/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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM