awslogs-setup
awslogs-setup
Настройка агента AWS CloudWatch Logs с нуля.
В отличие от аналогичных ролей, этот не вызывает скрипт awslogs-agent-setup.py
. Вместо этого скрипт был разбит на набор файлов, шаблонов и задач Ansible, которые можно запустить для достижения тех же (неинтерактивных) результатов.
Это позволяет четко отделить установку агента от его конфигурации. Последняя будет очень специфична для вашей системы и, вероятно, должна обрабатываться отдельной ролью, которая имеет зависимость от awslogs-setup
(см. ниже).
Копия оригинального скрипта awslogs-agent-setup.py
предоставляется в директории /src
для справки.
Требования
Для использования с экземплярами EC2 на базе Linux, работающими в AWS.
Переменные роли
Вам, вероятно, нужно будет указать регион AWS, который будет использоваться установленным aws-cli
. По умолчанию это:
awslogs_setup_region: ap-southeast-2
Установка также включает скрипт "launcher" и скрипт "nanny" для демона агента, который пытается следить за тем, чтобы агент всегда работал. Эти скрипты требуют указания нескольких путей к системным командам. Следующие значения по умолчанию должны работать на большинстве современных систем:
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: настроить awslogs для логов nginx
template:
src: nginx-awslogs.conf.j2
dest: /var/awslogs/etc/config/nginx.conf
notify: перезапустить awslogs
post_tasks
, показанные выше, могут быть выделены в отдельные роли, которые зависят от awslogs-setup
.
Смотрите http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AgentReference.html для получения подробной информации о настройке агента.
Список задач
- Создать конфигурацию systemd для управления скриптом launcher.
Лицензия
BSD
Set up the AWS CloudWatch Logs Agent from scratch.
ansible-galaxy install tartansandal/ansible-role-awslogs-setup