tartansandal.awslogs-setup

awslogs-setup

Configura el agente de AWS CloudWatch Logs desde cero.

A diferencia de roles similares, esto no llama al script awslogs-agent-setup.py. En su lugar, ese script se ha descompuesto en un conjunto de archivos, plantillas y tareas de Ansible que se pueden ejecutar para lograr los mismos resultados (sin interacción).

Esto nos permite separar claramente la configuración del agente de la instalación del agente. La configuración será muy específica para tu sistema y probablemente debería ser manejada por un rol separado que tenga awslogs-setup como dependencia (ver más abajo).

Se proporciona una copia del script original awslogs-agent-setup.py en el directorio /src como referencia.

Requisitos

Para usar con instancias de EC2 Linux que se ejecutan en AWS.

Variables del Rol

Probablemente necesitarás establecer la región de AWS que será utilizada por el aws-cli instalado. Esto tiene como valor predeterminado:

awslogs_setup_region: ap-southeast-2

La configuración instala un script "launcher" y un script de agente "nanny" que intenta asegurar que el agente siempre esté en ejecución. Estos requieren que se especifiquen un par de rutas a comandos del sistema. Los siguientes valores predeterminados deberían funcionar en la mayoría de los sistemas modernos:

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

Sin embargo, si tienes un sistema peculiar (o antiguo), estos pueden ser sobreescritos.

Ejemplo de Playbook

Este rol solo configura el agente awslogs. La configuración del agente queda a tu cargo. Esto es muy simple, pero puede ser muy específico para tu sistema.

- hosts: servidores
  vars:
    awslogs_setup_region: us-east-1   # o establecerlo a través de inventario

  roles:
    - tartansandal.awslogs-setup

  handlers:
    - name: reiniciar awslogs
      service: awslogs state=restarted

  post_tasks:
    - name: configurar awslogs para archivos de registro del sistema
      template:
        src: awslogs.conf.j2
        dest: /var/awslogs/etc/awslogs.conf
      notify: reiniciar awslogs

    # usa el directorio /var/awslogs/etc/config/ para configuraciones específicas del servicio
    - name: configurar awslogs para archivos de registro de nginx
      template:
        src: nginx-awslogs.conf.j2
        dest: /var/awslogs/etc/config/nginx.conf
      notify: reiniciar awslogs

Las post_tasks mostradas arriba podrían separarse en roles distintos que tengan a awslogs-setup como dependencia.

Consulta http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AgentReference.html para obtener detalles sobre la configuración del agente.

Por Hacer

  1. Crear una configuración de systemd para gestionar el script launcher.

Licencia

BSD

Acerca del proyecto

Set up the AWS CloudWatch Logs Agent from scratch.

Instalar
ansible-galaxy install tartansandal.awslogs-setup
Licencia
Unknown
Descargas
331
Propietario