A Websockets Frontend For Server Interrogation

What is Dashiell?

Dashiell is a websockets frontend for server interrogation.

It allows a system administrator to easily interrogate a fleet of servers for any kind of information and aggregate it all in one place.

The dashiell-client runs on each server in your fleet. It is written entirely in C++ and is based on great open source applications like osquery and cfacter, so it is designed to have a small footprint and not impact your servers' performance.

The dashiell-server is a nodejs webserver that must run on its own server. This provides a lightweight website with an API for querying each of your agents, as well as running the websockets server used to communicate with your agents.

How does it work?

See the diagram below.

You, the end user, can use the web application or use the API directly. You can make osquery queries or lookup facts in facter.

Queries are distributed to the agents via websocket by dashiell-server. Results are aggregated and made available to the user via the API and web applications.

Future versions will provide scheduled queries, result persistence, and other features with the addition of a reporting database. Eventually, Dashiell will be able to be used as a lightweight inventory management system.