乐趣区

关于java: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
  • Apollo
  • Nacos
  • Zookeeper
  • Etcd
  • Consul

就目前来看,除 Dynamic Configuration Service 尚不齐备以外,其余的都能够间接用在生产。

上面,以 Nacos 为例,解说如何用 Nacos 实现动静配置,其余配置服务器可点击下面的链接,查看官网文档。

搭建 Nacos Server

装置

  • 返回 https://github.com/alibaba/na… 下载适合版本即可,本文用的是 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.

全文完

退出移动版