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+. -
FluentValidation
A popular .NET validation library for building strongly-typed validation rules. -
Humanizer
Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities -
Edge.js
Run .NET and Node.js code in the same process on Windows, macOS, and Linux. -
ReactJS.NET
.NET library for JSX compilation and server-side rendering of React components -
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. -
ScriptCS
Write C# apps with a text editor, nuget and the power of Roslyn! -
Coravel
Near-zero config .NET library that makes advanced application features like Task Scheduling, Caching, Queuing, Event Broadcasting, and more a breeze! -
Enums.NET
Enums.NET is a high-performance type-safe .NET enum utility library -
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. -
Streams
A lightweight F#/C# library for efficient functional-style pipelines on streams of data. -
Jering.Javascript.NodeJS
Invoke Javascript in NodeJS, from C# -
LINQPad.QueryPlanVisualizer
SQL Server and PostgreSQL query execution plan visualizer for LINQPad -
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. -
Valit
Valit is dead simple validation for .NET Core. No more if-statements all around your code. Write nice and clean fluent validators instead! -
https://github.com/minhhungit/ConsoleTableExt
A fluent library to print out a nicely formatted table in a console application C# -
SolidSoils4Arduino
C# .NET - Arduino library supporting simultaneous serial ASCII, Firmata and I2C communication -
FormHelper
ASP.NET Core - Transform server-side validations to client-side without writing any javascript code. (Compatible with Fluent Validation) -
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. -
Shielded
A strict and mostly lock-free Software Transactional Memory (STM) for .NET -
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"). -
FlatMapper
FlatMapper is a library to import and export data from and to plain text files. -
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. -
AzureCrawler
Take HTML Snapshots for your Angular, Ember, Durandal or any JavaScript applications -
BerTlv.NET
A library for parsing BER TLV data (like EMV credit cards). -
trybot
A transient fault handling framework including such resiliency solutions as Retry, Timeout, Fallback, Rate Limit and Circuit Breaker. -
AdaskoTheBeAsT.FluentValidation.MediatR
FluentValidation behavior for MediatR
Clean code begins in your IDE with SonarLint
* 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.