ansible -m setup + elasticsearch

Посетила мысль связать эти две штуки, но пока не хватило меня на сколько нибудь годную реализацию.

Есть вот такой набросок кода, который собирает инфу с хостов и кидает каждый хост в отдельный индекс


#!/usr/bin/env python
from elasticsearch import Elasticsearch
import ansible.runner

es = Elasticsearch()

runner = ansible.runner.Runner(
    module_name='setup',
    module_args='',
    pattern='*',
    forks=1
)
datastructure = runner.run()

for hostname, data  in datastructure['contacted'].iteritems():
    es.create(
        body=data,
        index=hostname,
        doc_type="host",
        id=hostname,
        ignore=400
    )

Была надежда что после этого можно будет сразу использовать к этим данным elasticsearch-head интерфейс, но всё оказалось не так радужно. Но всё же по текстовым полям на вкладке Browser можно быстро выбрать нужные хосты. В комплексе с elasticsearch-gui может и можно пользоваться...