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 может и можно пользоваться...

Коллекция ссылок на всяческий софт для безопасности в *nix и не только

NIDS/NIPS
http://suricata-ids.org
HIDS
http://www.la-samhna.de
http://www.ossec.net
http://aide.sourceforge.net
Other
https://www.rfxn.com
http://phpids.org
http://www.fail2ban.org
UI/aggregate
https://www.prelude-ids.org
https://snorby.org
RBAC
SELinux
GRSecurity
AppArmor

pythoscope - переезд в virtualenv

Для начала поставить его в vitualenv
pip install bzr+lp:pythoscope
Затем ручное редактирование путей:

(env):~/env$ python
>>> import pickle
>>> a = pickle.load( open( "/opt/example/env/app/.pythoscope/project.pickle", "rb"))
>>> print(a.__dict__)
>>> print(a.__dict__['code_trees_manager'].__dict__)
>>> a.path = '/opt/example/env/app'
>>> a.__dict__['code_trees_manager'].__dict__['code_trees_path'] = '/opt/example/env/app/.
pythoscope/code-trees'
>>> pickle.dump(a, open('/opt/example/env/app/.pythoscope/project.pickle.fixed',"wb" ) )