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
- Créer une configuration systemd pour gérer le script lanceur.
Licence
BSD