LeanSentry tracks all the important things that make up your Windows web application environment … including processes, Windows services, ASP.NET websites, IIS application pools, URLs, errors, etc.
Now, you can instantly find and get data for all of them!
Say what?
Under the covers, LeanSentry builds a graph containing all the objects its seeing in your application. For example, your environment contains servers, the servers contain processes, websites, and so on. Each website contains URLs we are extracting from your logs. URLs are associated with errors we are seeing in your application. With the new search, you can quickly browse and find any of these.
But, it gets better. LeanSentry collects a lot of metrics from your environment (e.g. performance counters), and calculates other metrics (e.g. request latency, error rates, and so on). It also generates insights (e.g. analyzing an error for abnormal behavior) and alerts (e.g. application pool crashed). You can now find and show all this data when you search your environment.
For example, you can:
1. Break down the processes by their memory usage across all your servers. Then, drill into a specific process on a specific server, and break it down by its memory usage vs. others on the server. Then see when the process was launched, by who, and what the path/command line was.
2. Search for a specific error across all your websites. Select a specific instance, show its history over time, and view its occurrences.
3. Search for a specific website, see all URLs in it broken by latency, and see what its throughput was over time.
You can answer a dozen questions like this in minutes and see all the data you found side by side.
This is how it works:
1. You can open the “search” interface by clicking the Search icon at the bottom of any page. This will open the search page, and focus it on the website, server, URL, or error that you were looking at. This way, you are always first looking at the very thing you wanted to learn more about.
2. LeanSentry will show you all the data available in the current context. Simply type to instantly filter down to the thing you want … or press enter to do a “deep search” which will search the entire data graph.
3. Click any of the data items to show it! You can quickly switch back and forth between all the objects you’ve looked at, and grab data from all of them as needed to tell the story.
With this feature, you can explore your environment, and quickly get rich information to support your investigations or performance tuning. We’ll save your search, so you can use it to create custom reports about a problem and then share it with your team.
The best part? As we add more alerts, more diagnostics, and more insights, they will immediately become available to you even if they are not yet part of the dashboard. We are making this feature a part of our Core plan so everyone using LeanSentry has access to it effective immediately 🙂
We’ve been kicking ass, and its showing. Be sure to come by our booth at TechEd 2013 next week, and see all these new features live!
If you haven’t yet, sign up for the trial and start using LeanSentry to support your IIS/ASP.NET apps like a boss.
It’s your peak traffic hour, and your website is not loading. Requests are timing out, and recycling the application pool isn’t helping this time.
We’ve all been there, and it’s a nightmare even for a seasoned IIS/ASP.NET pro.
Website hangs are an unfortunate but common reality for web applications. To make things worse, even the latest and greatest performance monitoring products don’t help. After 10 years in this business, we don’t know a single commercial or MSFT tool that can figure out what causes a hang in an IIS / ASP.NET application (more on why later). So, this is where the seasoned pro reaches for the hardcore tools, the WinDbg debugger or Debug Diagnostics … and mentally prepares to spend hours digging around. That is, if they are are lucky enough to catch the problem live on a machine with the debugger installed.
And what if you don’t make a living debugging IIS? Call Microsoft support and get ready to spend 15 hours on the phone before you can get someone who even knows what a w3wp dump is. We’ve had difficult hangs take 2 months to resolve, between catching and collecting proper evidence for a hang in production, and waiting for MSFT support to escalate to an engineer that knows what they are doing.
It’s no wonder that it took us this long to finally tackle this scenario with LeanSentry. There are just so many things that can go wrong: hanging SQL or web service calls, application deadlocks, thread pool exhaustion (in both the IIS and CLR threadpools), CPU overload, the list just goes on. Most of the time, many of these things cascade together to cause the hang.
That said, we finally did it. LeanSentry is now the only monitoring tool available that automatically troubleshoots IIS/ASP.NET hangs.
This is how it works:
1. Your website encounters a hang for one out of dozen possible reasons.
2. LeanSentry automatically detects the hang, performs a realtime diagnostic test, and sends you an alert that tells you exactly what caused the hang.
This makes sure that we capture the hang no matter when, how rarely, or on what server the hang happened. LeanSentry then tries to cut through the complexity of the hang analysis, and explain what happened in plain language so you can quickly understand and take action to resolve it.
Sounds too good to be true, right? We thought so too when we finally got it to work. Here is what happens in more detail:
1. Realtime hang detection without debuggers. LeanSentry continuously monitors each application pool for signs of hangs, to make sure that we catch it whenever it happens. This is done using LeanSentry’s standard lightweight monitoring, which has virtually 0 impact on your production systems, unlike running your applications with a debugger or profiler attached. This also means it can even be done remotely without installing anything on your actual production servers. When detecting a hang, we take into account the application pool’s specific IIS/ASP.NET threading settings that affect request processing, as well as many other known symptoms of hangs. For example, Max Queued Item Age of the application pool queue stably increasing for over 30 seconds. We can’t trust all signs though, so we look at multiple signs together and pick those that most likely indicate hangs or serious perf degradation.
2. Confirm the hang. When a hang is suspected, LeanSentry will snapshot currently executing requests and identify which requests appear queued, or blocked. For example, blocked requests have been executing in the same place for over 10 seconds. Queued requests are hard to identify and require us to use a bunch of heuristics.
3. Determine application functions that are causing blocking. If the executing requests confirm the hang, the LeanSentry Agent will perform a differential thread snapshot of the process, which will determine where threads are stuck in your application code.
4. Diagnose thread pool exhaustion. Finally, we will analyze threading and queueing characteristics of the application pool across the HTTP.SYS kernel queue, IIS, and ASP.NET, and figure out where exhaustion is taking place.
5. Generate the alert. The “Website had hung requests” alert will be generated, you’ll get an email, and can view the alert page for a step-by-step hang diagnosis.
Why aren’t there any other commercial tools that diagnose IIS/ASP.NET hangs?
Because its very hard to do. Don’t believe me? Try to follow the explanation of how ASP.NET thread pool behaves between Integrated and Classic mode across .NET 3.5. 3.5 SP1, and 4.0. It will make your brain sad. To make things even worse, recent versions of ASP.NET broke a lot of the more obscure but documented queueing functionality (MaxConcurrentRequestsPerCPU = 0 no longer works by default, and the “ASP.NET ApplicationsRequests Executing” counter erroneously shows “total requests served” instead). This shows that even the product teams at Microsoft are not closely following this area of the platform.
The only MSFT tool that even tries to diagnose hangs is the Debug Diagnostics tool, which is not suitable for continuous production monitoring and only diagnoses a small subset of issues that cause hangs. The tool itself is showing its age, having been built internally in Microsoft for pre-.NET applications and only recently adding very partial support for .NET. In most of today’s applications, hangs involve .NET applications and the .NET CLR thread pool.
Third party profiler-based APM tools that support the Microsoft platform, like New Relic or AppDynamics, lack the Windows and IIS-specific intelligence needed to diagnose these problems. They may help you pinpoint slow code (but usually not during a hang because requests never complete), but will not be able to understand what happens under the covers of IIS/ASP.NET runtimes that triggers the hang. These tools also come with the overhead of running your production applications under a profiler, which has a heavier overhead than most people are willing to allow.
Getting it done
The step-by-step Hang diagnosis will walk you through the hang as it happened, showing you where requests are blocked up to the application function, and even the HTTP request or SQL query it was making.
The diagnosis will also determine if IIS/ASP.NET threading configurations are causing the problem, and recommend adjustments for the workload.
Keep in mind, because LeanSentry performs hang detection and diagnosis in realtime, you can watch how changes in your configuration and code cause hang-type problems over time, and get up-to-date recommendations on how to avoid them. This is very different from hiring an IIS expert or Microsoft to diagnose a hang for you, because you’ll at best get the resolution for the point in time problem – which may or may not help you the next time.
The automatic hang diagnostics is one of the best examples of how LeanSentry improves your experience of running Microsoft web apps, by combining lightweight 24×7 monitoring with expert analysis based on 10 years of solving these problems for hundreds of companies. You need both: to catch the problem in production, and to make sure you can make heads or tails of it later.
Think of LeanSentry as your resident IIS expert – one that never sleeps, and costs pennies compared to what it costs to hire comparable experts from the outside. If you haven’t tried it already, sign up for the trial, and take control over hangs and other production problems with LeanSentry’s automated production diagnostics.
Are you going to TechEd 2013? So are we! Be sure to come by our booth (#2417), try LeanSentry for yourself, and chat with our founder/dev team members.
To make things even better, we are announcing two awesome promotions:
Awesome promotion #1: Help us get the word out about LeanSentry, and walk away with a Microsoft Surface!
Want to help us get the word out about LeanSentry at TechEd? Come by our booth on the first day of the conference, and pick up our snazzy LeanSentry Robot tshirt to wear on the conference floor.
Each day you come by our booth wearing the shirt, we’ll enter you into our raffle to win one or more of our demo Microsoft Surface RTs! We’ll pick a winner on the last day of the conference and you can walk away with the a brand new Surface right then and there. We don’t have a lot of shirts, so your odds to win are pretty good 🙂 Just be sure to reserve your shirt here.
Awesome promotion #2: Come by our booth, and get an exclusive TechEd-only LeanSentry discount!
If you go to TechEd, we know that you are serious about growing and becoming better at running your Microsoft apps. One of the best ways to do that is to use LeanSentry – which is built to make you an expert at troubleshooting and tuning your web apps.
We want to help people discover how much of a difference using LeanSentry can make – so we will be giving away a HUGE one-time only discount at the conference to help you get started with LeanSentry.
We’ll announce the discount details in the week before the conference. Quantities will be limited, so make sure to register early.
We are super excited to meet everyone and show off LeanSentry at the conference. Be sure to come by and take advantage of these two promotions, get details here. We’ll see you at TechEd!
LeanSentry’s mission is to make you an expert on the Microsoft web stack … and help you catch & solve everyday application problems without spending hours troubleshooting. Last month, we worked hard to roll out several new features that do exactly that!
If you are running web applications on the Microsoft web platform, definitely give LeanSentry a try. Check out the live demo and try it free in your app.
Here are some of the new things you get:
1. Smarter alerts (like you’ve always wanted!)
Most monitoring tools have alerts to notify you when problems happen, so you can respond and fix them. Unfortunately, most tools we’ve used have the same challenges when it comes to alerts: they make you work to create custom alert thresholds, then swarm you with alerts for things you don’t care about, or worse yet, miss important problems. The signal to noise ratio is so hard to get right, and causes alerts to lose their value and just get ignored.
So, we built a better alert system: one that acts more like a human performance expert that you hired to watch your servers and apps for you. This expert respects your time and only tells you about things it knows are important to you.
Each LeanSentry alert is custom designed by us to highlight an interesting condition, such as a server being overloaded to a point of bad performance. Each alert also automatically determines whether its important enough to be sent to you. For example, a High CPU alert will only be important if happens on a server you consider important, or if the CPU usage is statistically abnormal high given prior history on that server. High CPU by itself is not considered important if the server usually exhibits that behavior (we run our system in the cloud, and we are happy when our cloud instances are well utilized as long as they dont perform poorly).
This way, while you can easily see and diagnose all High CPU alerts in the dashboard, you will only get an email whenever a High CPU alert really demands your attention.
When you log into the dashboard to view an alert, we’ll show you its entire history across all the affected servers/urls/etc. Then, we’ll automatically identify the root causes of the problem, (e.g. identifying the errors for failed requests on a URL, or the specific processes, services, websites, and even functions that consumed CPU for the High CPU alert):
With 1 email and 3 clicks, you’ll see only the alerts you care about, get the entire picture, and identify the exact root causes. Done!
2. Important errors, automatically identified.
Most apps have a lot of errors. Some errors happen a lot (404 on favico.ico), but are not really interesting. Other errors happen rarely, but are very interesting (IIS worker process crash). Its very time consuming to wade through all the errors in the app to find the ones that are important enough to investigate.
LeanSentry now will automatically flag errors you should take a look at, in a daily email report as well as whenever you look at the error page. Flagged errors include spiking errors, errors that are new for the application or on a specific URL, errors that have high impact, and so on:
3. Server groups, and server overload diagnostics.
LeanSentry now allows you track server performance as a group, and quickly diagnose server overload that leads to bad performance.
When you click a server, you can see a detailed breakdown of all its resources (CPU, RAM, Disk, Network), and whether the server is bottlenecking on any of them:
Then, select a resource and we’ll tell you exactly who caused the overload – including your processes, services, and websites on your server.
And more good stuff
If that wasnt enough, we also released a number of other things that make your job easier:
Multiple user accounts and sharing. Create accounts for your team members and share links for guest access.
Better URL folding. Automatically group URLs into meaningful groups.
ASP error support. Expose detailed error messages (with line numbers) for Classic ASP errors.
If you are running ASP.NET or any web application on IIS, you gotta start using LeanSentry! You’ll be amazed with how much time you’ll save, how much insight you’ll gain, and how much easier it will be to keep your web applications running.
Also, right now is a great time to become an early adopter. Whenever you want, you can chat directly with the founders and the development team, and give us feedback that might just end up in the next build.
It would probably help you quickly fix all the lingering bugs in your apps … and make a lot of your users really happy. The hours you would save tracking down and figuring out that intermittent 500.19 error would probably make you really happy, too.
If that sounds great, then we have good news for you: LeanSentry now automatically diagnoses every error in your apps!
It works like this:
Step 1: You install LeanSentry on your production server, and it automatically tracks every IIS, ASP, and ASP.NET error in your app.
Step 2: We send you a daily insight with a quick summary of any major, new, or significantly increasing errors.
Step 3: You log into your dashboard to see how many requests have failed, and see every error across your entire app.
Step 4: Click on a specific error, and we will show you how many requests it affected and how its changing …
Then, we’ll tell you exactly what the error means, why it happens, and how to fix it.
Then … Wait for it … we’ll walk you through a diagnosis of the error using your own data!
With this feature, we help you ask the right questions in order to diagnose each error, and give you all the specific data you need to make decisions – step by step. I certainly wish we had this kind of troubleshooting tool over the last 5 years.
We have a expert diagnostic for many of the top IIS errors, and adding more each day. If you got an error we don’t have a diagnostic for already, email us – and we’ll help you with it manually as well as add the diagnostic to the app for future.
I want it! How do I get it?
If you have an environment already set up with LeanSentry, no action is needed, and you’ll be getting your first error insight email later today!
If not, go here to set up your environment now so we can begin tracking and diagnosing your errors ASAP.
We released a major update to the service a few weeks ago, bringing all new features to help troubleshoot and tune your IIS apps. This week, we launched our new website that does a better job of explaining LeanSentry and the benefits it offers to any IT professional or developer who manages Windows Server and IIS/ASP.NET applications.
Here are some highlights:
1) Live demo
You can see LeanSentry live instantly by opening our live demo. We want to lead with our actual product, and let you decide for yourself – rather then bombard you with marketing materials and well-designed diagrams.
Go check it out!
2) Free trial!
Definitely the most exciting news, you can now try LeanSentry with your applications for 14 days absolutely free. You do not even need to enter any payment information when you sign up. Just name, email, password, and off you go.
3) How it works
We built LeanSentry on a number of core principles, that make troubleshooting your apps easier and remove the heavy overhead of typical monitoring and profiling tools. Come read about how LeanSentry works and how we are able to make that happen.
LeanSentry v2 is finally here, bringing you 10x the diagnostic power to monitor and troubleshoot your IIS/ASP.NET web apps!
If you don’t already know, LeanSentry is a production monitoring service made specifically for IIS/ASP.NET apps, to make these really painful things easy as pie:
1) Catching and troubleshooting IIS and ASP.NET errors
2) Solving performance problems and finding the cause of slow requests
3) Sizing up server utilization and resource usage problems
These things constantly drain hours of time when running production apps. LeanSentry uses extremely lightweight monitoring to provide the kind of monitoring insights typically available only with serious tools like logparser, debuggers, and profilers. Unlike those tools, LeanSentry is designed specifically to show you the key things an IIS expert will want to see, and hide the rest of the noise. And, its designed to do it with 24/7 continuous production monitoring that does not impact your application performance.
Today, we are releasing a major upgrade to the service, that makes troubleshooting your apps WAY easier and faster. Here is what you get:
1) 2 minute setup for your datacenter, Amazon EC2, or Windows Azure cloud!
Its really, REALLY simple to set up your app for monitoring. We’ll walk you though the exact steps in less than 2 minutes!
If you use Windows Azure, you can use our awesome Nuget package to add LeanSentry with a single command.
2) Everything you wanted to know about application performance!
See all key performance metrics in one place, and instantly spot any slow requests even if averages are ok.
See exactly which IIS modules, SQL queries, and remote web services slow down your app.
See app’s CPU and memory usage over time, and even which application function consumed the CPU!
3) See every IIS/ASP.NET/server error and how much it impacts your app
See all unique error in one place, and their relative impact …
Drill into an error to see the gory details – exception stack traces, IIS error information, how the error changes over time, and even likely solutions from LeanSentry’s own knowledge base and communities like stackoverflow.com.
4) Complete transaction traces for every slow request, every error, and every slow operation!
See or search the complete request traces for any URL …
Dive into complete request traces to see the IIS/ASP.NET processing details, errors, and slow operations!
5) Alerts and Causes: automatically detect problems and find root causes so you don’t have to!
We’ll notify you of any application or server problem, and help you assess how the problem presents over time and across all your servers.
Skip the time-intensive investigation – LeanSentry automatically uses all available information to diagnose the root cause of the problem … so you can get straight to fixing it!
Last but not least, we are temporarily extending our introductory pricing until we hit our user targets: all features for 24.99/server/mo. We need you to try us out and help us fine tune the new features. Pricing is limited – once we reach our user target, we are expecting the prices to go up to reflect the LeanSentry’s true value in the market.
You can now deploy LeanSentry to your Windows Azure project in just a few keystrokes, by using our Nuget package! This makes deploying to Azure a snap.
Install with:
PM> Install-Package LeanSentryAzureDeployment
As soon as you re-publish your project to Azure normally, LeanSentry will be installed and will begin monitoring the performance and health of your Azure application.
This can make a huge difference, since Azure apps can be so notoriously hard to diagnose when they fail. Esp. when your role keeps recycling due to an unhandled exception or a startup task error – you may not be able to log into your instance, but LeanSentry is running on it and is capturing errors and other interesting events. You can then log into your www.leansentry.com dashboard and troubleshoot from there!
We are excited to see our users trying LeanSentry out over the last few weeks, and have been getting great feedback that make features like this possible. Keep it coming!