Skip to content
Piotr Gankiewicz edited this page Apr 4, 2016 · 19 revisions

Define "health checks" for your applications, resources and infrastructure. Keep your Warden on the watch.

Warden uses the fluent configuration API to define a set of watchers that are responsible for performing a check (monitoring) on the selected resources. Warden can be used in any .NET application (Console, WPF, Web etc.), however the most typical example would probably be some kind of background service (e.g. Windows Service) that works all the time, therefore is able to monitor 24/7 the defined resources.

The main purpose of the Warden is to provide an easy, yet customizable way to quickly build a service that will be responsible for monitoring your system and infrastructure. It's simple and lightweight library, but powerful enough to handle the most common scenarios such as notifying about failures, exceptions, successful checks and more. On top of that, you can build your custom metrics using the specialized types of responses returned by each watcher, and make use of that data to store and visualize e.g. the uptime and downtime of your system.

Warden makes use of the asynchronous methods. It does not possess any external reference or dependency. Each watcher is an independent package that can be easily configured and plugged in, and is built on top of the common IWatcher interface that exposes a single method. It's quite easy to build a custom watcher if you feel a need to attach your own specific logic for some resource.

To start with, first, take a look at the watchers, next learn more about the Hooks and finally proceed to the Warden itself.

Examples

Please browse the source code, examples can be found under the Warden.Examples namespace, such as the Warden.Examples.Console or Warden.Examples.WindowsService.

Clone this wiki locally