Warden alternatives and similar packages
Based on the "Misc" category.
Alternatively, view Warden alternatives based on common mentions on social networks and blogs.
-
Polly
Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+. -
Humanizer
Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities -
Coravel
Near-zero config .NET library that makes advanced application features like Task Scheduling, Caching, Queuing, Event Broadcasting, and more a breeze! -
Hashids.net
A small .NET package to generate YouTube-like hashes from one or many numbers. Use hashids when you do not want to expose your database ids to the user. -
Scientist.NET
A .NET library for carefully refactoring critical paths. It's a port of GitHub's Ruby Scientist library -
WorkflowEngine
WorkflowEngine.NET - component that adds workflow in your application. It can be fully integrated into your application, or be in the form of a specific service (such as a web service). -
HidLibrary
This library enables you to enumerate and communicate with Hid compatible USB devices in .NET. -
DeviceId
A simple library providing functionality to generate a 'device ID' that can be used to uniquely identify a computer. -
Aeron.NET
Efficient reliable UDP unicast, UDP multicast, and IPC message transport - .NET port of Aeron -
ByteSize
ByteSize is a utility class that makes byte size representation in code easier by removing ambiguity of the value being represented. ByteSize is to bytes what System.TimeSpan is to time. -
Mediator.Net
A simple mediator for .Net for sending command, publishing event and request response with pipelines supported -
DeviceDetector.NET
The Universal Device Detection library will parse any User Agent and detect the browser, operating system, device used (desktop, tablet, mobile, tv, cars, console, etc.), brand and model. -
https://github.com/minhhungit/ConsoleTableExt
A fluent library to print out a nicely formatted table in a console application C# -
Valit
Valit is dead simple validation for .NET Core. No more if-statements all around your code. Write nice and clean fluent validators instead! -
FormHelper
ASP.NET Core - Transform server-side validations to client-side without writing any javascript code. (Compatible with Fluent Validation) -
SolidSoils4Arduino
C# .NET - Arduino library supporting simultaneous serial ASCII, Firmata and I2C communication -
Validot
Validot is a performance-first, compact library for advanced model validation. Using a simple declarative fluent interface, it efficiently handles classes, structs, nested members, collections, nullables, plus any relation or combination of them. It also supports translations, custom logic extensions with tests, and DI containers. -
Outcome.NET
Never write a result wrapper again! Outcome.NET is a simple, powerful helper for methods that return a value, but sometimes also need to return validation messages, warnings, or a success bit. -
NaturalSort.Extension
๐ Extension method for StringComparison that adds support for natural sorting (e.g. "abc1", "abc2", "abc10" instead of "abc1", "abc10", "abc2"). -
SystemTextJson.JsonDiffPatch
High-performance, low-allocating JSON object diff and patch extension for System.Text.Json. Support generating patch document in RFC 6902 JSON Patch format. -
trybot
A transient fault handling framework including such resiliency solutions as Retry, Timeout, Fallback, Rate Limit and Circuit Breaker.
WorkOS - The modern identity platform for B2B SaaS
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Warden or a related project?
Popular Comparisons
README
OPEN SOURCE & CROSS-PLATFORM TOOL FOR SIMPLIFIED MONITORING
getwarden.net
Define "health checks" for your applications, resources and infrastructure. Keep your Warden on the watch.
What is Warden?
Warden is a simple, cross-platform library, built to solve the problem of monitoring the resources such as the websites, API, databases, CPU etc.
It allows to quickly define the watchers responsible for performing checks on specific resources and integrations to easily notify about any issues related to the possible downtime of your system.
Each watcher might have its own custom interval. For example you may want to check e.g. the API availability every 500 milliseconds, while the database should respond only every 10 seconds and so on. Or you could just set the common one interval (5 seconds by default) for all of the watchers.
On top of that, you may use all of this information to collect the custom metrics thanks to the hooks.
Roadmap
- [x] Migrate fully to the .NET Core (NET Standard).
- [x] Move all of the extensions (Wardens and Integrations) into the separate repositiories.
- [ ] Apply new features.
What kind of monitoring is available?
- Disk
- MongoDB
- MSSQL
- Performance
- Process
- Redis
- Server
- Web
- SSL certificates (3rd party)
- Azure Storage (3rd party)
- Azure Service Bus (3rd party)
What are the integrations with external services?
How can I see what's happening with my system?
You can make use of the Web Panel which provides the UI for organizing your monitoring workspace, dashboard with real-time statistics and the storage of the historical data. If you don't want to host it on your own, there's an online version available, running in the Azure cloud at panel.getwarden.net
Is there any documentation?
Yes, please navigate to the wiki page where you can find detailed information about configuring and running the Warden.
Installation
Available as a NuGet package.
dotnet add package Warden
Watchers and Integrations are available as a separate NuGet packages listed here.
Quick start:
Configure the Warden by adding the watchers and setting up the hooks and integrations to get notified about failures, successful checks, exceptions etc. - use that information e.g. in order to let your system administrator know when something goes wrong or to build your custom metrics.
var configuration = WardenConfiguration
.Create()
.AddWebWatcher("http://my-website.com")
.AddMongoDbWatcher("mongodb://localhost:27017", "MyDatabase", cfg =>
{
cfg.WithQuery("Users", "{\"name\": \"admin\"}")
.EnsureThat(users => users.Any(user => user.role == "admin"));
})
.IntegrateWithSendGrid("api-key", "[email protected]", cfg =>
{
cfg.WithDefaultSubject("Monitoring status")
.WithDefaultReceivers("[email protected]");
})
.SetGlobalWatcherHooks(hooks =>
{
hooks.OnStart(check => GlobalHookOnStart(check))
.OnCompleted(result => GlobalHookOnCompleted(result));
})
.SetAggregatedWatcherHooks((hooks, integrations) =>
{
hooks.OnFirstFailureAsync(results =>
integrations.SendGrid().SendEmailAsync("Monitoring errors have occured."))
.OnFirstSuccessAsync(results =>
integrations.SendGrid().SendEmailAsync("Everything is up and running again!"));
})
.SetHooks(hooks =>
{
hooks.OnIterationCompleted(iteration => OnIterationCompleted(iteration))
.OnError(exception => Logger.Error(exception));
})
.Build();
Start the Warden and let him do his job - now you have the full control over your system monitoring!
var warden = WardenInstance.Create(configuration);
await warden.StartAsync();
Please check out the examples by cloning the repository.
Contribute
Want to contribute? Please check the contribution guidelines.