Я читал об инструментах управления конфигурациями / инициализации, таких как Ansible и SaltStack. Для меня это звучит довольно хорошо, и я намерен активно использовать один из двух (еще не решил, какой из них я склоняюсь к Ansible). В идеале я хочу использовать один из двух для управления всеми аспектами конфигурации и выполнения команд в системе. То есть: от начальной загрузки, специальных команд, но также и при возникновении общесистемного исключения.
С этой целью кажется, что я мог бы использовать обработчики событий Nagios (при правильной настройке), чтобы, в свою очередь, выполнить настроенные доступные playbooks (или эквивалент солевого стека), чтобы попытаться вернуть систему в правильное состояние.
Часто ли используется такая установка? По каким причинам это не было бы хорошей идеей?
Я спрашиваю, потому что мне кажется логичным / удобным иметь всю конфигурацию в рамках одного инструмента (ansible или saltstack), но информация об использовании комбинации Nagios (или аналогичного) и Ansible (или аналогичного), как описано, кажется действительно скудной / не существует.
Это разумная идея, но вы должны быть ОЧЕНЬ следите за тем, чтобы ваши автоматизированные действия были точными и точными.
Вы должны быть абсолютно уверены, что состояние сбоя, в котором вы столкнулись, можно устранить с помощью этих автоматических действий по его сбросу (точно).
Вы также должны быть чертовски уверены, что ваши действия полностью идемпотентны, на случай, если что-то пойдет не так, и это вызовет неправильную службу реконфигурации. (точно).
В целом, это неплохая идея, но проблемы, связанные с отказом от состояния, - это те, которые вас поймают быстрее всего. По опыту они даже поймали меня, когда я что-то перезапускал автоматически и не знал, что оно зависло (или работает, в зависимости от вашей точки зрения).