tartansandal.awslogs-setup

awslogs-setup

Configurer l'Agent AWS CloudWatch Logs depuis zéro.

Contrairement à d'autres rôles similaires, cela ne fait pas appel au script awslogs-agent-setup.py. Au lieu de cela, ce script a été décomposé en un ensemble de fichiers, de modèles et de tâches ansible qui peuvent être exécutés pour obtenir les mêmes résultats (non interactifs).

Cela nous permet de bien séparer la configuration de l'agent de la configuration de l'agent. Cette dernière sera très spécifique à votre système et devrait probablement être gérée par un rôle séparé qui a awslogs-setup comme dépendance (voir ci-dessous).

Une copie de l'original awslogs-agent-setup.py script est fournie dans le répertoire /src pour référence.

Exigences

À utiliser avec des instances EC2 Linux exécutées sur AWS.

Variables du Rôle

Vous devrez probablement définir la région AWS qui sera utilisée par l'aws-cli installé. Par défaut, c'est :

awslogs_setup_region: ap-southeast-2

La configuration installe un script "lanceur" et un script "nanny" pour l'agent qui essaie de s'assurer que l'agent fonctionne toujours. Cela nécessite que quelques chemins vers des commandes système soient spécifiés. Les valeurs par défaut suivantes devraient fonctionner sur la plupart des systèmes modernes :

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

Cependant, si vous avez un système particulier (ou ancien), ces chemins peuvent être modifiés.

Exemple de Playbook

Ce rôle ne fait que configurer l'agent awslogs. La configuration de l'agent vous incombe. C'est très simple, mais cela peut être très spécifique à votre système.

- hosts: serveurs
  vars:
    awslogs_setup_region: us-east-1   # ou à définir via l'inventaire

  roles:
    - tartansandal.awslogs-setup

  handlers:
    - name: redémarrer awslogs
      service: awslogs state=restarted

  post_tasks:
    - name: configurer awslogs pour les fichiers journaux système
      template:
        src: awslogs.conf.j2
        dest: /var/awslogs/etc/awslogs.conf
      notify: redémarrer awslogs

    # utiliser le répertoire /var/awslogs/etc/config/ pour des configs spécifiques au service
    - name: configurer awslogs pour les fichiers journaux nginx
      template:
        src: nginx-awslogs.conf.j2
        dest: /var/awslogs/etc/config/nginx.conf
      notify: redémarrer awslogs

Les post_tasks montrés ci-dessus peuvent être extraits dans des rôles séparés qui ont awslogs-setup comme dépendance.

Voir http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AgentReference.html pour des détails sur la configuration de l'agent.

À Faire

  1. Créer une configuration systemd pour gérer le script lanceur.

Licence

BSD

À propos du projet

Set up the AWS CloudWatch Logs Agent from scratch.

Installer
ansible-galaxy install tartansandal.awslogs-setup
Licence
Unknown
Téléchargements
331
Propriétaire