Recently, I use
ansible to gather information periodically from thousands of servers(which already installed
collectd to gather CPU, memory, disks, netowrking info) in our company.
For example: I need to get those information daily
- kernel version
- installed packages versions(JDK, docker, etc)
- running process info
- some commands output (lldp, docker ps, etc)
- some files content (cat /etc/some/config | grep word)
I use ansible
shell module to execute those variant commands and parse the output into our inventory NOSQL.
By using ansible which use SSH/WINRM to access thousands servers seems inefficient.(which fine tune with more
I are trying to find a better way to replace ansible for those information gathering and parsing.
Below are some solutions which I am surveying.
facebook/osquery is flexible and powerful, but maybe not easy(comparing to bash script) to run a customized commands and parsing the output by writing an extension.
collectd with exec plugin to run customized scripts seems straightforward. in this way I need to deploy new scripts to all servers from day to day.
Are there some tools which is more suitable for such variant commands output gathering? and easy to
reporting, or may with some
API for operation.