我按照这个示例发出自定义指标,并按照这些详细信息在 PCF 中注册指标。
这是代码:
@RestController
public class CustomMetricsController {
@Autowired
private MeterRegistry registry;
@GetMapping("/high_latency")
public ResponseEntity<Integer> highLatency() throws InterruptedException {
int queueLength=0;
Random random = new Random();
int number = random.nextInt(50);
System.out.println("Generate number is : "+number);
if(number % 2 == 0) {
queueLength=99;
} else {
queueLength=200;
}
return new ResponseEntity<>(queueLength, null, HttpStatus.OK);
}
}
应用程序.yml:
management:
endpoints:
web:
exposure:
include: "metrics,prometheus"
endpoint:
metrics:
enabled: true
prometheus:
enabled: true
安全配置类:
build.gradle 依赖部分:
在将应用程序部署到 PCF 后,我按照以下步骤注册自定义指标:
安装metric-registrar
在我的本地机器上
发出一些整数的注册端点(我将其用于自动缩放器规则) cf register-metrics-endpoint api high_latency
在此步骤之后,我可以看到一个自定义用户提供的服务与我在 PCF 中的应用程序绑定
在我的本地安装log-cache
插件以验证指标端点,这是日志
最后,我在 Autoscaler 中为自定义指标添加了规则。
这是我在 Autoscaler 事件历史记录中遇到的错误。
事件历史最近:2019 年 7 月 17 日,星期三,上午 11:20,Autoscaler 在扩展窗口期间没有收到任何 high_latency 指标。在这些指标可用之前,将推迟缩减规模。
慕田峪4524236
相关分类