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 模式。可以是 ec2onPremiseauto 之一。

示例 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

关于项目

Install and configure AWS CloudWatch Agent

安装
ansible-galaxy install gavika.aws_cloudwatchagent
许可证
Unknown
下载
285