I recently spoke with Theo Schlossnagle, CEO of OmniTI regarding the announcement of Reconnoiter, software that provides web infrastructure management and trending analysis, as well as the management and deployment of software to literally thousands of servers. The goal is for you to achieve zero downtime in terms of your web applications and their infrastructure.
Prior to conceiving Reconnoiter, Schlossnagle worked with other web management tools (Nagios, for instance) where he noted that many of the tools didn't scale well, work well in heterogeneous environments, or offer features such as capacity planning or trend analysis. With this in mind, Reconnoiter was designed and built to work with existing web infrastructure, regardless of deployed hardware, OS platforms, network equipment, and application programming languages. The goal was to make the management appear homogenous in heterogeneous environments. As a result, you can use Reconnoiter in your existing web infrastructure without changing a thing.
Reconnoiter is an open-source project, mostly written in C with Lua used in certain places for ease of extensibility, and the PostgreSQL database for long-term data storage. It also includes a Java portion that uses a JMS provider or enterprise service bus (ESB) such as ActiveMQ or RabbitMQ, as well as Esper for real-time data analysis.
To enable Reconnoiter, you define targets, which may be application servers, web servers, database servers, even network equipment. In fact, all devices on your network are considered targets, each of which have defined metrics that can be collected and recorded by Reconnoiter. For instance, network switches have metrics such as port usage or overall traffic, while servers have metrics such as disk usage, CPU usage, memory usage, and so on. A Reconnoiter Service is defined as a target and its set of metrics. As a result of this architecture, and by decoupling data collection from the analysis and reporting, fault detection, and capacity planning, Reconnoiter scales to hundreds of thousands of services.
To use Reconnoiter, you deploy one monitoring agent per data center, cabinet row, or group of servers, depending upon the number of services defined. Dynamic monitoring is performed over a wide variety of protocols such as SNMP, HTTP, REST, SSH, XProc, and so on. Reconnoiter also runs on a wide array of platforms such as BSD Unix variants, OpenBSD, Solaris/OpenSolaris, Linux, and Mac OS X.
As for commercial deployment, OmniTI currently has six early-adopter customers, each managing around 10,000 different metrics across five data centers.