Назад | Перейти на главную страницу

Ansible: проверка

Я использую Ansible 2.3. мои хосты - это rhel 7. У меня есть несколько сценариев, например создание, удаление, отключение пользователей и усиление защиты системы.
Я пытаюсь понять, как лучше всего проверить, были ли учетные записи созданы, отключены и т. Д. Есть ли какие-нибудь предложения? Есть ли у ansible какие-либо встроенные модули и т. Д. Я вижу, что вы можете добавить Log_Path в файл конфигурации .. или я могу просто использовать grep для файлов журнала на каждом хосте для пользователей, которые были добавлены, отключены или удалены?

Сами по себе учебники предназначены для «проверки» желаемого состояния. Каждый запуск задачи - это, по сути, утверждение, что система настроена одним небольшим способом, например, если данный пользователь существует. Переходите к следующему заданию. При ошибке Ansible прерывается на раннем этапе.

Тем не менее, часто при отладке playbooks и модулей вы хотите проверить, что что-то действительно произошло. поскольку модули различаются по степени проверки. Несколько способов сделать это. Запуск в режиме проверки, чтобы смоделировать пробный запуск того, что он мог бы изменить. Используйте систему ведения журнала задач Ansible, такую ​​как ARA или Tower. Напишите свои собственные сценарии проверки на предпочитаемом вами языке. Включите соответствующее ведение журнала (системный журнал, аудит) на управляемых хостах и ​​проверьте это. Сбросьте скрипты Ansible, которые он запускает на хостах, установив ANSIBLE_KEEP_REMOTE_FILES = 1.

Все это не обязательно для запуска протестированного сценария. Это инструменты, позволяющие получить уверенность в том, что сценарий приведет к определенному состоянию.

tasks в Ansible подтверждать себя немного в том смысле, что задача вроде:

- name: a simple task
  file:
    path: /foo
    state: directory

проверит, есть ли каталог /foo перед его созданием и возвратом OK если каталог уже существует.

Предполагая, что вас спросят, как проверить, что Ansible сделал на has, я бы рекомендовал взглянуть на Фреймворк аудита ядра Linux. В audit демон работает в фоновом режиме, и система журналов изменена на /var/log/audit.log

Платформа аудита работает путем прослушивания событий, о которых сообщает ядро, и записи их в файл журнала.

Здесь имеет смысл использовать инструмент, отличный от самого Ansible, поскольку сам Ansible не может сообщить об ошибках, неправильных конфигурациях и т. Д. В Ansible.

Для использования audit вам необходимо установить ядро, скомпилированное с CONFIG_AUDIT включен и запустить auditd служба.

Вы можете использовать ansible-playbook для проверки дрейфа конфигурации экземпляра с помощью аргументов командной строки.

ansible-playbook --check --diff