> 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] github.com/apache/skywalking/blob/v6.6.0/oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto
- [Apollo] github.com/ctripcorp/apollo/
- [Nacos] github.com/alibaba/nacos
- [Zookeeper] github.com/apache/zookeeper
- [Etcd] github.com/etcd-io/etcd
- [Consul] github.com/rickfast/consul-client
就目前来看,除 [Dynamic Configuration Service] github.com/apache/skywalking/blob/v6.6.0/oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto尚不完备以外,其他的都可以直接用在生产。
下面,以Nacos为例,讲解如何用Nacos实现动态配置,其他配置服务器可点击上面的链接,查看官方文档。
搭建Nacos Server
安装
-
前往 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
] github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/backend/backend-alarm.md的写法。例如: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.
共同学习,写下你的评论
评论加载中...
作者其他优质文章