繁体   English   中英

AWS Java SDK:Cloudwatch日志:入门时遇到问题

[英]AWS Java SDK : Cloudwatch Logs : trouble getting started

好吧,所以我在找到关于我正在尝试做的事情的任何明确资源方面遇到了一些麻烦。

目前,我正在使用AWS CLI将自定义日志事件发送到Cloudwatch,并且我将订阅了ElasticSearch的日志组用于在Kibana中进行监控。 我正在使用bash脚本,并向Cloudwatch发送JSON字符串。 简单的用例,最终像这样打电话:

aws logs put-log-events --log-group-name "${groupname}" --log-stream-name "${streamname}" --log-events "[{\"timestamp\":${logtimestamp},\"message\":\"${timestamp} {\\\"metric1\\\":\\\"${value1}\\\",\\\"metric2\\\":\\\"${value2}\\\"}]"

为了便于阅读,我发送的JSON如下:

[
  {
    "timestamp":${logtimestamp},
    "message":"${timestamp {\"metric1\":\"${value1}\",\"metric2\":\"${value2}\"}"
  }
]

“消息”字段中的序列化JSON是ElasticSearch订阅所获取的,用于在Kibana中创建图形。 这显然不是一个干净的解决方案,所以我想转向AWS Java SDK。

我很难找到关于如何使用AWS Java SDK将日志发送到Cloudwatch的权威资源。 我也很困惑,在Cloudwatch文档中,所有关于“警报” - 我只想将一些JSON发送到Cloudwatch,就像我正在使用CLI一样。

针对类似用例的某些资源的指针?

CloudWatch指标和警报以及CloudWatch Logs实际上是两组独立的服务,它们都被命名为CloudWatch。 您可能已经注意到,在AWS CLI中,CloudWatch Logs的命令分组在logs服务下,而不是cloudwatch服务。

这种区别在AWS Java SDK中也是如此 - 访问CloudWatch Logs API的Java客户端是AWSLogsClient而不是CloudWatch客户端。

要创建新日志组,请使用createLogGroup

要为日志组创建新的日志流,请使用createLogStream

要将新日志写入日志组,请使用putLogEvents

进一步阅读

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM