Обновить

Комментарии 11

А на реальном примере описать?

Вот, допустим, свежий алерт на одном из серверов: "При установке сеанса с компьютера VIDEO7 не получено подтверждение имен. В базе данных безопасности содержатся ссылки на учетные записи VIDEO7$. Ошибка: Отказано в доступе."

Как тут агент будет решать проблему?

Тут самый главный вопрос не в этом: "А вы дадите доступ агенту к этим алертам?". Если агента попросите написать навык, дадите по Api доступ к алертам и скомандуете решать проблемы, то он что-нибудь сделает. А если агент будет просто жить у вас на компьютере, то ничего и не сделает.

Агент - не статичный алгоритм. Он адаптируется под окружение и ошибки. Вероятно найдёт другой путь для достижения цели. Если такого не имеется, просто попросит юзера выдать ему права.

Конечно! Абсолютно с вами согласен. Агент может или сам попробовать что-то сделать, и здесь очень важно ограничить его в правах, или он может попросить. В любом случае, его необходимо направить в нужное русло.

Реально работает даже у эникеев. Звонит тетка и говорит что у нее экран тухнет постоянно. Отправляю на разборки ии агента hermes (ssh для него на всех компах и серверах с роутерами настроен заранее). Возвращается через минуту и говорит что там просто экранная заставка была включена на 1 минуту неактивности и отправляет комп в сон заодно, всё исправил, ничего делать не надо.

Как он понял и как решил? Да пофиг вообще.

Разобраться и отладить петлю с трафиком сделанную из за того что микротик не умеет в sing-box и его пришлось вынести на отдельный сервер он тоже может (на сервере с sing-box поднят bgp для этого роутера, что бы заворачивать часть трафика в туннель который идет через этот же самый роутер).

Я б вам премию Дарвина по ИБ выписал за выдачу доступа автономному скрипту беспарольный root по SSH на все клиентские тачки ради правки экранной заставки

Завтра агент решит почистить место на диске и снесет профиль пользователя вместе с отчетами))

Тут как с программированием. Первые 10 раз ты не доверяешь тому что агент написал, проверяешь тщательно, а потом постепенно забиваешь, и через какое то время вообще забываешь когда руками писал что то.

Да может ошибиться. А кто не может?

Пишет tasks с идемпотентностью. Агент по умолчанию добавляет creates: к command, state: present к модулям пакетов, разделяет установку и конфигурацию. Роль можно прогонять сто раз — состояние не разъедется.

Простите, два года пишу роли с ллмками и идемпотентность ломается ими постоянно, особенно когда есть нужда что-то сделать башсиблом или пайтоном.

Может быть проблема именно в подходе? Если часто используете башсибл или срипты на Python, то возможно, именно агент позволит все ваши наработки превратить в полноценный Ansible модуль?

В любом случае, очень рад, что вы уцепились именно за это место в статье

Мне кажется, дело не только в том, какие модули использует агент, но и в проверке результата. creates: и state: present ещё не гарантируют идемпотентность всей роли. Я бы добавил повторный реальный прогон, на котором ожидаем changed=0 и проверку фактического состояния сервисов. Причём критерии проверки лучше задавать независимо от агента. А то получается: сам написал, сам проверил, сам себе пятёрку поставил. Не пробовали встроить такую проверку в агентный конвейер?

Главное не пускать агента в прод с боевыми ключами от рута. Прогнать ansible-lint и набросать скелет роли ему доверить можно, но накатывать плейбук все равно нужно своими руками

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации