Amazon web services docker容器中的AWS Cloudwatch代理
我正在尝试将Amazon Cloudwatch代理作为容器安装到我的docker。这是一个内置安装,所以它在本地运行,而不是在AWS Kubernetes或任何类似的系统中运行 我已经为凭据设置了一个基本dockerfile、agent.json和.aws/文件夹,并使用Amazon web services docker容器中的AWS Cloudwatch代理,amazon-web-services,docker,amazon-cloudwatch,Amazon Web Services,Docker,Amazon Cloudwatch,我正在尝试将Amazon Cloudwatch代理作为容器安装到我的docker。这是一个内置安装,所以它在本地运行,而不是在AWS Kubernetes或任何类似的系统中运行 我已经为凭据设置了一个基本dockerfile、agent.json和.aws/文件夹,并使用docker compose build实际设置它,然后启动它,但我遇到了一些问题,因为docker不包含或运行systemctl,所以我无法使用aws自己的文档命令运行服务: /opt/aws/amazon-cloudwatc
docker compose build
实际设置它,然后启动它,但我遇到了一些问题,因为docker不包含或运行systemctl
,所以我无法使用aws自己的文档命令运行服务:
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s
当我尝试运行容器时,如果出现错误,此操作将失败:
cloudwatch_1 | /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl: line 262: systemctl: command not found
cloudwatch_1 | unknown init system
我也尝试在/bin内运行/start amazon cloudwatch代理,但没有成功。没有这方面的文件
基本上,问题是如何在前台将其作为服务或流程运行?有人有任何线索吗?否则容器就撑不住了。下面是我的代码:
dockerfile
FROM amazonlinux:2.0.20190508
RUN yum -y install https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
COPY agent.json /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
CMD /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
agent.json
{
"agent": {
"metrics_collection_interval": 60,
"region": "eu-west-1",
"logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
"debug": true
}
}
.aws/folder包含配置和凭据,但我从未让代理实际尝试建立连接。只需使用官方图像
docker pull amazon/cloudwatch代理
它将为您处理所有事情
如果您坚持使用自己的,请尝试以下方法:
FROM amazonlinux:2.0.20190508
RUN yum -y install https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
COPY agent.json /opt/aws/amazon-cloudwatch-agent/bin/default_linux_config.json
ENV RUN_IN_CONTAINER=True
ENTRYPOINT ["/opt/aws/amazon-cloudwatch-agent/bin/start-amazon-cloudwatch-agent"]
你能提供文件吗?关于如何使用它,docker Hub上似乎没有提供任何文档,您只需要映射您的conf文件`-v/path/config.json:/opt/aws/amazon cloudwatch agent/bin/default\u linux\u config.json`这在docker上不起作用,只在Kubernetes上。它假定您是在EC2实例中启动的。