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 для получения подробной информации о настройке агента.

Список задач

  1. Создать конфигурацию systemd для управления скриптом launcher.

Лицензия

BSD

О проекте

Set up the AWS CloudWatch Logs Agent from scratch.

Установить
ansible-galaxy install tartansandal/ansible-role-awslogs-setup
Лицензия
Unknown
Загрузки
322
Владелец