tartansandal.awslogs-setup

awslogs-setup

从头开始设置 AWS CloudWatch 日志代理。

与类似角色不同,此角色不调用 awslogs-agent-setup.py 脚本。 相反,该脚本已经被分解成一组文件、模板和 ansible 任务,可以运行这些任务以实现相同的(无交互)结果。

这使我们可以清楚地区分代理的设置和代理的配置。 后者将非常具体于您的系统,可能需要由一个单独的角色处理,该角色将 awslogs-setup 作为依赖(见下文)。

原始的 awslogs-agent-setup.py 脚本的副本已提供在 /src 目录中作为参考。

要求

适用于在 AWS 上运行的 EC2 Linux 实例。

角色变量

您可能需要设置用于已安装的 aws-cli 的 AWS 区域。默认为:

awslogs_setup_region: ap-southeast-2

该设置安装一个“启动器”脚本和一个代理守护进程“保姆”脚本,尝试确保代理始终运行。 这需要指定几个系统命令的路径。以下默认值应该适用于大多数现代系统:

awslogs_setup_launcher_nice: /usr/bin/nice
awslogs_setup_nanny_ps:      /usr/bin/ps
awslogs_setup_nanny_cat:     /usr/bin/cat
awslogs_setup_nanny_grep:    /usr/bin/grep
awslogs_setup_nanny_service: /usr/sbin/service

不过,如果您的系统比较古怪(或较旧),可以覆盖这些默认值。

示例播放本

此角色仅设置 awslogs 代理。代理的配置由您自行决定。这非常简单,但可能非常具体于您的系统。

- hosts: servers
  vars:
    awslogs_setup_region: us-east-1   # 或通过库存设置

  roles:
    - tartansandal.awslogs-setup

  handlers:
    - name: 重启 awslogs
      service: awslogs state=restarted

  post_tasks:
    - name: 为系统日志文件配置 awslogs
      template:
        src: awslogs.conf.j2
        dest: /var/awslogs/etc/awslogs.conf
      notify: 重启 awslogs

    # 使用 /var/awslogs/etc/config/ 目录用于服务特定的配置
    - name: 为 nginx 日志文件配置 awslogs
      template:
        src: nginx-awslogs.conf.j2
        dest: /var/awslogs/etc/config/nginx.conf
      notify: 重启 awslogs

上面的 post_tasks 可以被拆分到作为依赖的单独角色中。

有关配置代理的详细信息,请参见 http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AgentReference.html

待办事项

  1. 创建 systemd 配置来管理启动器脚本。

许可证

BSD

关于项目

Set up the AWS CloudWatch Logs Agent from scratch.

安装
ansible-galaxy install tartansandal.awslogs-setup
许可证
Unknown
下载
331
拥有者