来自外部网站的 Amazon Cloudwatch 日志

Amazon Cloudwatch Logs from External Website

我是一个 AWS 新手,如果这是一个愚蠢的问题,请原谅我。我们有一个遗留的 Classic ASP 网站(不在 Amazon 托管),我想知道是否可以利用 Amazon Cloudwatch 进行自定义日志记录。我知道我们可以使用像 Loggly 或 Sumo Logic 这样的网站,但他们的保留政策有点短,而且定价对于我们的小网站来说有点太贵了。但本质上,我正在尝试在 AWS 中重新创建它们的功能。

关于如何从各种亚马逊服务(EC2 等...)登录的详细信息很多,但我没有找到太多关于从非亚马逊托管站点使用 Cloudwatch 的信息

基本上,我想将 SERVERXMLHTTP POST 一个 json 日志字符串从我们的经典 ASP 站点发送到 Cloudwatch。但是,我正在努力寻找正确的端点以及如何 post 到我创建的特定日志组。我使用

https://monitoring.us-west-1.amazonaws.com/doc/2010-08-01/?Action=PutMetricData

https://logs.us-west-1.amazonaws.com/doc/2010-08-01/?Action=PutMetricData

尝试像这样postjson

 [
   {
     "MetricName": "404 Error",
     "Timestamp": "Wednesday, June 12, 2013 8:28:20 PM",
     "Value": "http://example.com/badpage.asp",
     "Unit": "Count"
   }
 ]

此外,我如何 post json 到我创建的特定日志组/日志流?我是否使用某种

进行身份验证
xxx.setRequestHeader "Authorization", "Basic " & [auth credentials] 

感谢您的帮助!

您可以在此处找到 AWS 端点列表:http://docs.aws.amazon.com/general/latest/gr/rande.html

logs.us-west-1.amazonaws.com

身份验证是通过签名请求完成的:http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/making-api-requests.html

When you send HTTP requests to AWS, you sign the requests so that AWS can identify who sent them. You sign requests with your AWS access key, which consists of an access key ID and secret access key.

关于放置日志的特定 API 调用可能是 PutLogEvents:http://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html

Uploads a batch of log events to the specified log stream.

请记住有一个用于浏览器的 SDK:https://aws.amazon.com/es/sdk-for-browser/