Amazon CloudWatch 代理
Amazon CloudWatch 代理是为 CloudWatch 代理 开发的软件
概述
Amazon CloudWatch 代理使您能够执行以下操作:
- 从各种操作系统的 Amazon EC2 实例收集更多系统级指标。除了 EC2 实例的指标外,还可以包括客户机内部指标。可以收集的额外指标列在 CloudWatch 代理收集的指标 中。
- 从本地服务器收集系统级指标。这些可以包括混合环境中的服务器以及不由 AWS 管理的服务器。
- 使用 StatsD 和 collectd 协议从您的应用程序或服务中检索自定义指标。StatsD 在运行 Linux 和 Windows Server 的服务器上都受支持。collectd 仅在 Linux 服务器上受支持。
- 从运行 Linux 或 Windows Server 的 Amazon EC2 实例和本地服务器收集日志。
- 收集 Open Telemetry 和 AWS X-Ray 跟踪
Amazon CloudWatch 代理使用开源项目 telegraf 和 opentelemetry-collector 作为其依赖项。 它通过启动 opentelemetry 收集器来运行,并能够运行由 telegraf 和 opentemetry 组件以及自定义组件组成的管道。
设置
故障排除
从源代码构建和运行
-
安装 go。有关更多信息,请参阅 入门指南
-
代理使用 go modules 进行依赖管理。有关更多信息,请参阅 Go Modules
-
安装 rpm-build
sudo yum install -y rpmdevtools rpm-build
-
运行
make build
为 Linux、Debian 和 Windows 环境构建 CloudWatch 代理。 -
运行
make release
构建代理。这还会将其打包成 RPM、DEB 和 ZIP 包。
构建完成后会生成以下文件夹:
build/bin/linux/arm64/amazon-cloudwatch-agent.rpm
build/bin/linux/amd64/amazon-cloudwatch-agent.rpm
build/bin/linux/arm64/amazon-cloudwatch-agent.deb
build/bin/linux/amd64/amazon-cloudwatch-agent.deb
build/bin/windows/amd64/amazon-cloudwatch-agent.zip
build/bin/darwin/amd64/amazon-cloudwatch-agent.tar.gz
-
安装您自己构建的代理
-
rpm 包
rpm -Uvh amazon-cloudwatch-agent.rpm
-
deb 包
dpkg -i -E ./amazon-cloudwatch-agent.deb
-
windows 包
- 解压
amazon-cloudwatch-agent.zip
./install.ps1
- 解压
-
darwin 包
tar -xvf amazon-cloudwatch-agent.tar.gz
cp -rf ./opt/aws /opt
cp -rf ./Library/LaunchDaemons/com.amazon.cloudwatch.agent.plist /Library/LaunchDaemons/
-
构建和运行容器
请参阅 Dockerfiles。
Make 目标
以下目标可用。每个目标可以通过 make <target>
运行。
Make 目标 | 描述 |
---|---|
build | build 为 Linux、Debian 和 Windows amd64 环境构建代理 |
release | (默认) release 构建代理并将其打包成 RPM、DEB 和 ZIP 包 |
clean | clean 删除构建产物 |
dockerized-build | 使用 docker 容器构建,无需本地 go 环境 |
功能
日志过滤
CloudWatch 代理支持日志过滤,代理会使用您指定的过滤器处理每条日志消息,并且只将通过所有过滤器的事件发布到 CloudWatch Logs。详细信息请参阅 文档。
例如,以下 CloudWatch 代理配置文件摘录将 PUT 和 POST 请求的日志发布到 CloudWatch Logs,但不包括来自 Firefox 的日志:
{
"collect_list": [
{
"file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log",
"log_group_name": "test.log",
"log_stream_name": "test.log",
"filters": [
{
"type": "exclude",
"expression": "Firefox"
},
{
"type": "include",
"expression": "P(UT|OST)"
}
]
}
]
}
上述配置的示例:
2021-09-27T19:36:35Z I! [logagent] Firefox Detected // 代理会排除这条
2021-09-27T19:36:35Z POST (StatusCode: 200). // 代理会将这条推送到 CloudWatch
2021-09-27T19:36:35Z GET (StatusCode: 400). // 不匹配正则表达式,将被排除
版本控制
使用 语义化版本
分发
您可以从S3下载官方发布版,请参考链接
每夜S3发布版本并非生产就绪,使用时需自担风险
- 下载二进制文件
- Linux
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/linux_{amd64/arm64}/amazon-cloudwatch-agent
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/linux_{amd64/arm64}/amazon-cloudwatch-agent-config-wizard
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/linux_{amd64/arm64}/config-downloader
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/linux_{amd64/arm64}/config-translator
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/linux_{amd64/arm64}/start-amazon-cloudwatch-agent
- Windows
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/windows_amd64/amazon-cloudwatch-agent-config-wizard.exe
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/windows_amd64/amazon-cloudwatch-agent.exe
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/windows_amd64/config-downloader.exe
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/windows_amd64/config-translator.exe
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/windows_amd64/start-amazon-cloudwatch-agent.exe
- Mac
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/darwin_amd64/amazon-cloudwatch-agent
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/darwin_amd64/amazon-cloudwatch-agent-config-wizard
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/darwin_amd64/config-downloader
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/darwin_amd64/config-translator
- https://amazoncloudwatch-agent.s3.amazonaws.com/nightly-build/latest/darwin_amd64/start-amazon-cloudwatch-agent
- Linux
- 下载安装包
- Linux
- Windows
- Mac
使用数据
默认情况下,CloudWatch代理在向CloudWatch发布指标或日志时会向CloudWatch发送有关自身的健康和性能数据。这些数据不会产生任何费用。您可以通过在配置的agent
部分中为usage_data
指定false
来阻止代理发送此数据。如果您省略此参数,则使用默认值true,代理将发送健康和性能数据。请参考链接。
安全披露
如果您认为发现了潜在的安全问题,请不要在Issues中发布。相反,请按照此处的说明操作,或直接发送电子邮件给AWS安全团队。
许可证
MIT许可证
版权所有 (c) 2015-2019 InfluxData Inc. 版权所有 Amazon.com, Inc. 或其附属公司。保留所有权利。
特此免费授予任何获得本软件及相关文档文件("软件")副本的人员,不受限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件副本的权利,并允许向其提供本软件的人员这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或重要部分中。
本软件按"原样"提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权行为或其他方面,均不得超出或与本软件或本软件的使用或其他交易有关。