Thanks for your reply Phil. I tried the redis option for fact caching but I'm not able to query redis for the data, only use it in my playbooks.
I think you're right though. Its alot of effort so I'll probably try AWX and see if that fits the bill. Cheers. On Wed, 1 Apr 2020, 20:23 Phil Griffiths, <[email protected]> wrote: > Hi Dennis > > Does it have to be MySQL? The reason I ask, is that there are various > cache plugins available: > https://docs.ansible.com/ansible/latest/plugins/cache.html#plugin-list > One such plugin is, for example, redis. You could use that and then the > redis module: > https://docs.ansible.com/ansible/2.5/plugins/lookup/redis.html in > playbooks to retrieve facts. > > BUT, if you are going to all this trouble, then I would start looking at > AWX/Tower as that has inbuilt fact caching. Why reinvent the wheel. > > Regards > Phil. > > On Wednesday, 1 April 2020 16:46:42 UTC+1, Dennis McCarthy wrote: >> >> Hi, >> >> I'm trying to set up a MySQL DB to hold all the ansible facts I produce >> from "ansible -m setup" (on lots of remote hosts), Store each .json file of >> each server in a directory but I'm having trouble finding a place to store >> them. >> >> *What do I want to do:* >> Well I've come from a puppet background, and one of the great things >> about puppet was puppetDB. I could query the DB for all sorts of facts >> (from facter including custom facts) and join them together. It was very >> powerful and I could get answers about my server estate quickly. So what I >> want is a way to setup the same thing in Ansible. Basically, to know how >> many of "something" I have in my estate (of 1000+ nodes) without having to >> use ansible to visit each one to find the answer. >> >> *What have I done so far:* >> I've played with https://github.com/fboender/ansible-cmdb >> It's a great tool and sort of does what I want but it doesn't list out >> all the fields in the DB that are in the .json file. >> >> I get these: >> >> mysql> DESCRIBE hosts; >> +----------------+--------------+------+-----+---------+-------+ >> | Field | Type | Null | Key | Default | Extra | >> +----------------+--------------+------+-----+---------+-------+ >> | name | varchar(255) | YES | | NULL | | >> | fqdn | varchar(255) | YES | | NULL | | >> | main_ip | varchar(15) | YES | | NULL | | >> | os_name | varchar(80) | YES | | NULL | | >> | os_version | varchar(40) | YES | | NULL | | >> | system | varchar(40) | YES | | NULL | | >> | kernel | varchar(40) | YES | | NULL | | >> | arch_hardware | varchar(12) | YES | | NULL | | >> | arch_userspace | varchar(12) | YES | | NULL | | >> | virt_type | varchar(20) | YES | | NULL | | >> | virt_role | varchar(20) | YES | | NULL | | >> | cpu_type | varchar(60) | YES | | NULL | | >> | vcpus | int(11) | YES | | NULL | | >> | ram | float | YES | | NULL | | >> | disk_total | float | YES | | NULL | | >> | disk_free | float | YES | | NULL | | >> +----------------+--------------+------+-----+---------+-------+ >> >> But not all of the .json fields are available and no custom facts. Maybe >> I need to play with this a bit more. >> >> *What do I want:* >> I'd love to be able to get a .json host file and import it directly into >> MySQL. add to the exiting table and be able to run a select statement on >> it. I guess this is why ansible-cmdb is around because there is nothing >> that already does this. >> >> Can anyone recommend anyway to store the data so it can be queried on >> mass? >> >> Any help would be appreciated. >> >> Thanks >> Dennis >> > -- > You received this message because you are subscribed to the Google Groups > "Ansible Project" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/86e64844-d8d3-48f1-8e40-796fdfaae9ba%40googlegroups.com > <https://groups.google.com/d/msgid/ansible-project/86e64844-d8d3-48f1-8e40-796fdfaae9ba%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAA%3Df3eL4iOaqi2qbvCgXLY%2BAd-GFQ5-zfi0YsNTfFkn0UA4Q5g%40mail.gmail.com.
