基本上,我需要监控vespa指标,为此,我正在尝试实现将指标推送到cloudwatch的方法。
这就是我所指的https://docs.vespa.ai/documentation/monitoring.html文档
我已经在附加的IAM角色中添加了凭据文件和putMetricData权限。我在代码中使用的service.xml文件如下所示:
<admin version="2.0">
<adminserver hostalias="admin0"/>
<configservers>
<configserver hostalias="admin0"/>
</configservers>
<monitoring>
</monitoring>
<metrics>
<consumer id="my-cloudwatch">
<metric-set id="vespa" />
<cloudwatch region="ap-south-1" namespace="vespa">
<shared-credentials file="~/.aws/credentials" profile="default" />
</cloudwatch>
</consumer>
</metrics>
</admin> 我已经使用vespa-deploy prepare application.zip && vespa-deploy activate部署了代码,但在我的cloudwatch上仍然没有看到任何指标更新。
此外,我还尝试添加以下内容:
<monitoring>
<interval>1</interval>
<systemname>vespa</systemname>
</monitoring>但在部署时出现此错误:
Request failed. HTTP status code: 400
Invalid application package: default.default: Error loading model: XML error in services.xml: element "interval" not allowed here; expected the element end-tag [9:16], input:我如何解决这个问题。或者至少调试我所面临的问题。
发布于 2020-05-09 06:13:16
我建议使用凭证文件的绝对路径,因为~可能不会解析到您在运行时想要的目录。
还有几件事:
default指标集,因为vespa包含很多指标,这会提高CloudWatch成本。如果你需要额外的指标,你可以在consumer.metric标签monitoring元素在这个上下文中没有任何用处,所以你应该直接删除它。如果您仍然没有看到任何指标,请检查vespa日志文件(使用vespa-logfmt)和Telegraf日志文件:/opt/vespa/logs/telegraf/telegraf.log中的警告或错误。(Vespa在内部使用Telegraf向CloudWatch发出指标。)
https://stackoverflow.com/questions/61687273
复制相似问题