gavika.aws_cloudwatchagent
Ansible 角色:AWS CloudWatch Agent
这个 Ansible 角色用于在 AWS EC2 实例和本地服务器上安装和配置 AWS CloudWatch Agent。
要求
- 一个 AWS EC2 实例或本地 Linux 服务器
- 如果使用 AWS EC2 实例,该实例必须附加一个具有运行 AWS CloudWatch Agent 权限的 IAM 角色。可以考虑使用 AWS 提供的策略 - CloudWatchAgentServerPolicy。
- 如果使用本地服务器,需要配置 /root/.aws/credentials 和 /root/.aws/config。
- 提供 YAML 变量
aws_cloudwatch_agent_config
,此变量将被转换为 JSON。有关基本配置,请参见 defaults/main.yml。
角色变量
变量 | 默认值 | 描述 | 是否必需 |
---|---|---|---|
aws_cloudwatch_agent_username | 应该是下载文件所有者的管理用户。通常与 remote_user 相同。在 Ubuntu 中可能是 ubuntu ,在 CentOS 中可能是 centos ,在 Amazon Linux 中可能是 ec2-user 。如果没有显式设置,角色会根据操作系统猜测用户名。 |
否 | |
aws_cloudwatch_agent_download_directory | AWS CloudWatch Agent 软件需要下载到的位置。如果没有显式设置,角色会根据操作系统猜测位置。 | 否 | |
aws_cloudwatch_agent_download_url | 必须下载 Amazon CloudWatchAgent 的 URL。角色会自动设置此 URL,但您可以覆盖它。 | 否 | |
aws_cloudwatch_agent_mode | ec2 | AWS CloudWatch Agent 模式。可以是 ec2 、onPremise 或 auto 之一。 |
否 |
示例 JSON 文件:aws-cw-config.json
agent:
metrics_collection_interval: 60
run_as_user: "cwagent"
metrics:
namespace: "Gavika"
append_dimensions:
InstanceId: "${aws:InstanceId}"
metrics_collected:
disk:
measurement:
- used_percent
metrics_collection_interval: 60
resources:
- "*"
mem:
measurement:
- mem_used_percent
metrics_collection_interval: 60
本地服务器的示例 /root/.aws/credentials:
[AmazonCloudWatchAgent]
aws_access_key_id = 你的访问密钥 ID
aws_secret_access_key = 你的秘密密钥
本地服务器的示例 /root/.aws/config:
[AmazonCloudWatchAgent]
region = us-east-1
有关指标列表,请参见 AWS CloudWatchAgent 文档
示例剧本
- hosts: cloudwatch-servers
roles:
- role: Gavika.aws-cloudwatch-agent
持续集成
您可以在本地执行分子测试。
许可证
Apache2
作者信息
Sudheer Satyanarayana
Gavika
安装
ansible-galaxy install gavika.aws_cloudwatchagent
许可证
Unknown
下载
285