-
Notifications
You must be signed in to change notification settings - Fork 22
当前版本支持将开发者定义的 metrics 导出到监控系统中,参见 sentinel/src/exporter.rs
,其中定义了一些 Gauge
和 Counter
类型的 metrics
将 sentinel 的相关 metrics 导出到默认端口的默认路径下,启动浏览器访问 localhost:9091/metrics
,可以看到导出的数据。导出的端口号和默认路径可以在 sentinel 的配置文件中进行修改,参见文档中的配置章节和源码下的相关配置样例。
如果使用配置文件 /examples/exporter/prometheus/prometheus.yaml
启动 Prometheus,部署在 localhost:9090
的 Prometheus 服务端会自动发现 9091 端口上的 sentinel exporter,可以借助它进行可视化。
需要注意的是,使用该功能需要激活 sentinel crate 的 exporter
feature,默认的条件编译选项中并没有开启它。
Sentinel 使用了 log
的接口来记录运行日志。目前仅支持两种 logger 的实现。激活 logger_env
特性使用输出到命令行的 env_logger
;激活 logger_log4rs 特性使用支持定制的 log4rs,如果没有设置 logger 的配置文件路径,会选择项目根目录下的 log4rs.yaml
配置文件。
如果没有选择 logger,log
库会自动选择一个 "noop" 实现,将不会产生任何日志。
该日志包含规则的推送、接收、处理等记录,排查问题的时候会非常有帮助。
资源的秒级日志(metric 日志)位于 ~/logs/csp/
目录下,文件名格式为 ${appName}-metrics.log.${date}.xx
。例如,该日志的名字可能为 my-app-metrics.log.2020-01-22.1
。日志样例:
1529573107000|2018-06-21 17:25:07|foo-service|10|3601|10|0|27
日志字段说明:
index | 例子 | 说明 |
---|---|---|
1 | 1529573107000 |
时间戳 |
2 | 2018-06-21 17:25:07 |
日期 |
3 | foo-service |
资源名称 |
4 | 10 |
这一秒通过的资源请求个数 (pass) |
5 | 3601 |
这一秒资源被拦截的个数 (block) |
6 | 10 |
这一秒完成调用的资源个数 (complete),包括正常结束和异常结束的情况 |
7 | 0 |
这一秒资源的异常个数 (error) |
8 | 27 |
资源平均响应时间(ms) |