2.3 KiB
The high-performance, low-footprint distributed host monitoring daemon, osqueryd, allows you to schedule queries to be executed across your entire infrastructure. The daemon takes care of aggregating the query results over time and generates logs which indicate state changes in your infrastructure. You can use this to maintain insight into the security, performance, configuration and state of your entire infrastructure. osqueryd's logging can integrate right into your internal log aggregation pipeline, regardless of your technology stack, via a robust plugin architecture.
The interactive query console, osqueryi, gives you a SQL interface to try out new queries and explore your operating system. With the power of a complete SQL language and dozens of useful tables built-in, osqueryi is an invaluable tool when performing incident response, diagnosing an systems operations problem, troubleshooting a performance issue, etc.
osquery is cross platform. Even though osquery takes advantage of very low-level operating system APIs, you can build and use osquery on Ubuntu, Cent OS and Mac OS X. This has the distinct advantage of allowing you to be able to use one platform for monitoring complex operating system state across you're entire infrastructure. Monitor your corporate Mac OS X clients the same way you monitor your production Linux servers.
To make deploying osquery in your infrastructure as easy as possible, osquery comes with native packages for all supported operating systems. There's great tooling and documentation around creating packages, so packaging and deploying your custom osquery tools can be just as easy too.
To assist with the rollout process, the osquery wiki has detailed documentation on internal deployment. osquery was built so that every environment specific aspect of the toolchain can be hot-swapped at run-time with custom plugins. Use these interfaces to deeply integrate osquery into your infrastructure if one of the several existing plugins don't suit your needs.
Additionally, osquery's codebase is made up of high-performance, modular components with clearly documented public APIs. These components can be easily strung together to create new, interesting applications and tools. Language bindings exist for many languages, so you can continue to use the technologies that you're comfortable with.