tartansandal.awslogs-setup
awslogs-setup
Skonfiguruj Agenta AWS CloudWatch Logs od podstaw.
W przeciwieństwie do podobnych ról, ten skrypt nie wywołuje skryptu awslogs-agent-setup.py
. Zamiast tego, skrypt został rozłożony na zestaw plików, szablonów i zadań ansible, które można uruchomić, aby osiągnąć te same (nieinteraktywne) wyniki.
Pozwala to na wyraźne oddzielenie konfiguracji agenta od jego ustawień. To drugie będzie bardzo specyficzne dla Twojego systemu i powinno być prawdopodobnie obsługiwane przez osobną rolę, która ma awslogs-setup
jako zależność (patrz poniżej).
Kopia oryginalnego skryptu awslogs-agent-setup.py
jest dostępna w katalogu /src
jako odniesienie.
Wymagania
Dla użycia z instancjami EC2 Linux działającymi na AWS.
Zmienne Roli
Prawdopodobnie będziesz musiał ustawić region AWS, który będzie używany przez zainstalowany aws-cli
. Domyślnie jest to:
awslogs_setup_region: ap-southeast-2
Setup instaluje skrypt "launcher" oraz skrypt demona "nanny", który stara się zapewnić, aby agent zawsze działał. Wymagane są także ścieżki do kilku poleceń systemowych. Poniższe domyślne ustawienia powinny działać na większości nowoczesnych systemów:
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
Jednak jeśli masz dziwny (lub stary) system, te ustawienia mogą być nadpisane.
Przykładowy Playbook
Ta rola tylko ustawia agenta awslogs. Konfiguracja agenta pozostaje w Twoich rękach. Jest to bardzo proste, ale może być bardzo specyficzne dla Twojego systemu.
- hosts: serwery
vars:
awslogs_setup_region: us-east-1 # lub ustaw przez inwentarz
roles:
- tartansandal.awslogs-setup
handlers:
- name: restart awslogs
service: awslogs state=restarted
post_tasks:
- name: skonfiguruj awslogs dla plików dziennika systemowego
template:
src: awslogs.conf.j2
dest: /var/awslogs/etc/awslogs.conf
notify: restart awslogs
# użyj katalogu /var/awslogs/etc/config/ dla specyficznych konfiguracji usług
- name: skonfiguruj awslogs dla plików dziennika nginx
template:
src: nginx-awslogs.conf.j2
dest: /var/awslogs/etc/config/nginx.conf
notify: restart awslogs
Zadania post_tasks
pokazane powyżej można wydzielić do osobnych ról, które mają awslogs-setup
jako zależność.
Zobacz http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AgentReference.html, aby uzyskać szczegóły dotyczące konfiguracji agenta.
Do Zrobienia
- Stwórz konfigurację systemd do zarządzania skryptem launcher.
Licencja
BSD
Set up the AWS CloudWatch Logs Agent from scratch.
ansible-galaxy install tartansandal.awslogs-setup