LINUX.ORG.RU
ФорумAdmin

Ansible vs Inventory

 , ,


0

3

Всем привет!

Есть несколько сотен серверов, местами объеденных в стенды. Хочется сотворить простенькое инвентори/cmdb на его основе. Т.е. складывать результаты всяких-разных фактов в базу данных (предпочтительно mysql).

Внимание вопрос:
Как это лучше организовать? Есть ли что-то готовое на этом поприще (гуглил, всё либо полумёртвое либо мертвое)? Есть ли какой-то способ сделать callback mysql'я при получении факта или проще генерить некий json файл с нужными данными на клиенте и как-то (как идеалогически правильнее в парадигме ansible кстати?) пихать его в базу?

p.s. Mysql клиент есть не на всех хостах.

★★

Что такое «callback mysql'я при получении факта»?

В ansible можно писать свои колбэки, но в приведенной ситуации проще собрать набор фактов по системе (грубо говоря первая задачка в сценарии получает модель ЦПУ, вторая - кол-во рамы и т.д. и да я знаю что это есть в facts), в конце сценария кладете это в БД (или где там планируете хранить) любым удобным способом. А json там у вас будет в итоге или нет - ansible'у все равно, смотрите что может получать на вход ваша хранилка данных.

alozovskoy ★★★★★
()
Ответ на: комментарий от alozovskoy

В том и вопрос - как сложить полученные данные в бд с минимальным набором костылей и зависимостей? Городить api к базе и exec'ать?

Что такое «callback mysql'я при получении факта»?

Некий server side insert при получении новой инфы например.

phoen ★★
() автор топика
Последнее исправление: phoen (всего исправлений: 3)
Ответ на: комментарий от phoen

Ну а какие вообще варианты есть? Можно написать python'овский коллбэк для ansible, можно 'shell: insert into tablename foo, bar values <...>', можно какой-то свой апи к базе прикрутить. Рассматривайте Ansible просто как выполнялку команд, как придумаете как сделать то что нужно через shell - автоматически придумаете как это сделать через Ansible.

alozovskoy ★★★★★
()

foreman такое делает с puppet, и там заявлена интеграция с ansible, так что может быть стоит потыкать палкой.

https://github.com/fboender/ansible-cmdb похож на начало правильной работы ETL, только L надо дописать в виде инсертов в базу а не дампа в html

dyasny ★★★★★
()
Ответ на: комментарий от realloc

если умеет то тем более хорошо, я не смотрел слишком подробно. Мне кажется если оно умеет собирать facts и упорядоченно их выплевывать в любом формате, направить этот выхлоп в SQL - тривиальное дело

dyasny ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.