Showing posts with label APM. Show all posts
Showing posts with label APM. Show all posts

Thursday, October 23, 2014

System Center Universe Europe 2014 Presentations Now Live on Channel9.com!

The great team over at System Center Universe (SCU) Europe have just announced the availability of all the presentations that were delivered over the three day event last month up on Microsoft's Channel9.com.


I presented two sessions at the event on IP address management with Windows Server 2012 R2 and Application Performance Monitoring (APM) across your private and public clouds. Here's the links to both my presentations:


Stefan Roth has listed all sixty presentations on his blog here and for quick access to the ones you want, I've copied them all below too (you should still check out Stefan's blog for loads more cool Cloud OS info though!):

  1. Advanced Orchestrator Runbook Authoring and Management
  2. Author your own custom gallery item and deploy VM roles in Windows Azure Pack
  3. Building a Real self-service platform with SCSM, SMA PowerShell Workflows
  4. Building solid business continuity plans using System Center, Windows Server and Azure
  5. Compliance Management – the new orange in Client Management
  6. Configuration Manager 2012 R2 – a site review
  7. Creating awesome System Center Reports with PowerBI and PowerView
  8. Customer requirements first – Service Manager Customizations without limits
  9. Data Deduplication in depth
  10. Deploy the Microsoft Cloud OS in high available
  11. Deploy Windows Azure Pack across sites
  12. Disaster Recovery in a service provider cloud
  13. Disaster Recovery with Azure Site Recovery
  14. Enterprise Management Solution (EMS) – the full story
  15. How to build a service provider cloud
  16. How to deliver BaaS, RaaS and DRaaS in a modern datacenter using System Center & Azure
  17. Hybrid Cloud DevOps with APM
  18. Identity Management for Hybrid IT with Windows Azure and Windows Server 2012 R2
  19. Integrating the System Center components – your path to the galaxy
  20. Leaving the dark ages – Migrating from Configuration Manager 2007 to 2012 R2
  21. Manage your Azure through Service Manager and SMA
  22. Managing your IP Addresses the Easy Way with IPAM
  23. Microsoft Hybrid Cloud – Manage Azure with Microsoft System Center
  24. Microsoft Mobile Device Management from A to Z
  25. Multi-factor authentication for your clouds
  26. My top ten things in Windows Server 2012 R2 that will make your life easier
  27. OMI and DAL – Understanding the big picture
  28. OpsMgr Dashboards – new widgets and possibilities
  29. Optimize Azure Virtual Machines for performance and availability
  30. PowerShell’s Desired State Configuration – Resource authoring
  31. PowerShell’s Desired State Configuration – Notes from the field
  32. Self-service software provisioning with SCSM, SCORCH and SCCM
  33. Send your monitoring probes deep into unexplored space
  34. Service Management Automation – Introduction
  35. Service Management Automation (SMA) deep dive
  36. Service Manager – Performance and Scalability best practices
  37. Show me the reporting money with System Center
  38. Software Defined Networking – Comparison of different solutions
  39. Speed Lab – Deploy a Microsoft System Center 2012 R2 environment
  40. Sponsor Session OPSLOGIX & ITNETX – Conference Closing Note
  41. Sponsored Session BLUESTRIPE SOFTWARE – Using System Center and BlueStripe for dynamic application management across Azure and datacenter business applications
  42. Sponsored Session CASED DIMENSIONS – How to make Service Manager enterprise
  43. Sponsored Session CIRESON – Worldwide First – Unveiling Cireson Portal v3
  44. Sponsored Session CISCO – a Unified Data Center – Best integration for Microsoft Environments
  45. Sponsored Session COMTRADE – Deliver Citrix desktop virtualization confidently with Operations Manager
  46. Sponsored Session DERDACK – Never miss a critical IT incident again. Resolve IT incidents on-the-go. On-call duty redefined
  47. Sponsored Session MATRIX42 – Web Console for SCCM – easiness and delegation
  48. Sponsored Session NUTANIX – Automating Your Datacenter – Web-Scale Style
  49. Sponsored Session STEFFEN INFORMATIK – SCOM Manager
  50. Sponsored Session SYLIANCE IT SERVICES – Customizing System Center – Things you’ve never seen before!
  51. Sponsored Session VEEAM – Rock your Microsoft datacenter with Veeam
  52. Storage Spaces – Scale-out file server deep dive
  53. System Center Orchestrator – Runbook Design 101
  54. Unified Device Management – It’s all about the experience
  55. Upgrading to Configuration Manager 2012 R2
  56. VMware to Hyper-V Migration
  57. Welcome Note and Keynote Going beyond the borders – prepare yourself for the future!
  58. Windows Apps in the Cloud – Azure RemoteApp
  59. Windows Azure Pack – Usage Metering & Reporting Troubleshooting Guide
  60. Windows Azure Pack usage metering
So, between these sessions and the upcoming TechEd Europe ones that should be available from next week, I think I'll have enough to download to keep me occupied on the plane journey over and back to Seattle when I head to the MVP Summit in a couple of weeks!

Enjoy!

Tuesday, September 9, 2014

Just Released - Free DevOps Whitepaper - 'From Dev to the Datacenter'

Things have been pretty quiet on this blog lately due to all my spare time being taken up with some really cool projects in work, preparing for my two System Center Universe Europe presentations and putting the finishing touches to a whitepaper collaboration that I've been working on with Savision.


The new whitepaper has just been released and in it, I speak about leveraging System Center and Visual Studio Online to help you with your day-to-day 'DevOps' scenarios. Here's an abstract:

"When your critical business applications start performing badly, it’s often difficult to quickly pinpoint whether the problem lies with the infrastructure or the developers’ code. 

If you’re tired of trawling through consoles and log files full of alerts to find the root cause of a service outage, then this white-paper will show you how to leverage Microsoft’s System Center and Visual Studio Online cloud solutions to get a full 360 degree view of your applications.

With this knowledge, you’ll gain the confidence to work with your developer teams to bring a rapid conclusion to your application problems."

Targeted at both IT Pro's and Developers, the aim of this whitepaper is to bring about a better awareness of how we can use components of Microsoft's CloudOS story to help make everyone's life a little bit easier!

Interested? If so, then you can get your hands on the whitepaper here:

http://www.savision.com/free-whitepaper-dev-datacenter

When I return from System Center Universe, I'll be working with Savision to deliver two live webinars where we're going to expand a little on the topics covered in the whitepaper and we'll also give people an opportunity to get their questions answered.

Hope you like the content and if you're attending System Center Universe next week, make sure to check out my 'Hybrid Cloud DevOps with APM' presentation to see some of this cool stuff in action!

Friday, March 21, 2014

Application Insights Deep Dive Part 8 - Alerting & Administration

This is the final post in my 'Application Insights Deep Dive' series and if you haven't already seen the previous posts, then you can check them all out here:

Application Insights Deep Dive Part 1 - Getting Started

Application Insights Deep Dive Part 2 - Building A Demo Server

Application Insights Deep Dive Part 3 - Deploying A Demo Web Application

Application Insights Deep Dive Part 4 - Monitoring Availability

Application Insights Deep Dive Part 5 - Monitoring Performance & Using Diagnostics

Application Insights Deep Dive Part 6 - Monitoring Usage

Application Insights Deep Dive Part 7 - Working with Dashboards

In this post I'll first show you how to configure e-mail alerting so you can be sure that you're kept in the loop in the event of any availability or performance related issues that might arise with your web applications. After that, you'll see how you can use the administration area to view any configuration changes to your applications and get quick access to keys and downloads relevant to your Application Insights account.

It's recommended that you have already worked through the demo's in my previous posts before working through the tasks in this one.

Configuring E-mail Alerts

There are two categories of e-mail alerting that you can configure within Application Insights:

Availability alerts - When you create a synthetic monitor availability test (as we did in Part 4), an e-mail alert can be configured to inform you of any problems with the test.

Performance alerts - Once performance monitoring has been configured (check out Part 5 to learn how), e-mail alerts can be fired when any of your thresholds are breached.

Like most things in Application Insights, configuring e-mail alerting is pretty easy and to get up and running for availability alerts here's what you need to do:

Open the console and browse to the Availability\Synthetic Monitors view.

Select the web application and synthetic monitor that you want to receive alerts on, then hit the edit button (the pencil icon) to open the 'Edit Synthetic Monitor' dialog box. From there, modify your alert criteria and enter a valid e-mail address to send the alerts to, then click OK. (see below):


To configure e-mail alerting for performance alerts, follow these steps:

Browse to the Diagnostics\Metrics view and choose the application that you want to get alert notification from.

Now click on the metric that you wish to receive alerts from and then hit the 'Configure Alert' button as shown below:


At the 'Edit Alerting Rule' dialog box, check the 'Alert if' box, change the rule options and then input a valid e-mail address. When you're ready, uncheck the 'Alert if' box, then hit the 'Save rule' button.

You can test e-mail alerting from your application by temporarily stopping the website in IIS and causing an availability outage (obviously only if your using a non-production application for testing). In a short few minutes, you should then receive an 'Alert Activated' e-mail similar to this...


Clicking the 'View Online' links from inside this e-mail will open up a scoped view of your Application Insights console to help you quickly understand the resultant issue.

When the issue is resolved, you'll then receive an 'Alert Resolved' e-mail like this one..


I think the simple visualisations in these 'Alert Activated' and 'Alert Resolved' e-mails are very useful and easy to quickly consume the status of your application - especially if you're using Application Insights in tandem with SCOM or another monitoring solution and are getting a number of e-mail alert notifications into your inbox on a daily basis.

The Administration Area

If you want to edit your alerting rules, then you can do this from within the Administration area by clicking on the 'Administer account' option (gear icon) in the top right of the Application Insights console as shown below..


Click on the 'Alerting Rules' tab and you will see all of the alert rules that have been configured for your selected application. From this view, you can then highlight an alert rule and hit the 'Configure Alert' button to get quick access for changing alert thresholds and e-mail addresses.


If you want to carry out wholesale batch updates of your alert rules, then this can be achieved by downloading a configuration file from the 'Configuration History' tab, making your changes to the file, then uploading it again to refresh the configuration and alert rules to reflect your changes.

Here's what the Configuration History tab of my application looks like....


You'll notice the Upload Configuration and Download Configuration options and if you click the Download one, you'll be presented with an XML file that contains your configuration and alert rules. If you open this file you'll find all synthetic monitors contained in the <SyntheticMonitors> section and your alert rules located in the <Rules> section as shown here..


If you want to get quick access to all of the relevant tools, agents, instrumentation keys and configuration samples, then click on the 'Keys & Downloads' tab of the Administration Area. Here, you can scroll through a centralised list of everything you need - including Java agents like the example in this screenshot:


Additional Resources

If you like what you see in my series of posts, you can get more information on Application Insights from the following Channel 9 videos that Microsoft's Charles Sterling (aka AI ninja) has put together to help give everyone an understanding of what it can do:

You can post questions and get answers for all your Application Insights problems on the TechNet forum here:

http://social.msdn.microsoft.com/Forums/en-US/home?forum=ApplicationInsights

Also, you can have a read through all of the available MSDN documentation on Application Insights here:

http://msdn.microsoft.com/en-us/library/dn481095.aspx


Conclusion

This wraps up my 'Application Insights Deep Dive' blog series and hopefully, if you've been working through all the demo's and examples over the past eight posts, you'll now have a far better understanding of what this really cool new offering can do. Although it's just in its infancy in terms of a mature solution, I'm expecting big things for this over the coming year or two and it really does feel to me like it's the next generation of Microsoft's monitoring platform.

Thursday, March 20, 2014

Application Insights Deep Dive Part 7 - Working with Dashboards

This penultimate post is Part 7 of my 'Application Insights Deep Dive' series and if you haven't yet read over the previous posts, then you can check them all out here:

Application Insights Deep Dive Part 1 - Getting Started

Application Insights Deep Dive Part 2 - Building A Demo Server

Application Insights Deep Dive Part 3 - Deploying A Demo Web Application

Application Insights Deep Dive Part 4 - Monitoring Availability

Application Insights Deep Dive Part 5 - Monitoring Performance & Using Diagnostics

Application Insights Deep Dive Part 6 - Monitoring Usage

In the last post we covered how to monitor your end user/visitors usage data to understand how they were accessing your applications and from which types of environments.

For this post, I'll walk through creating custom dashboards that can be pinned to a 'Favorites' area where all the data that is of interest to you is centralised and easily accessible. I'll also cover how to share dashboards and make some changes to existing ones as required.

Using the Dashboard Templates

Logon to Visual Studio Online, open the Application Insights console and browse to the 'Overview\Dashboards' view as shown below.


Now click on the green '+' symbol to open up the 'Create Dashboard' dialog box. From here, you will be presented with four different types of dashboard templates to use (Blank, Default Application, Default Developer & Agent Instrumented Application dashboards).


For this first example, we'll choose the 'Agent instrumented application dashboard' template. When you've made your choice, give the new dashboard a friendly name and then select the web application that it will apply to from the 'Application' drop-down list as shown below (we'll select our Fabrikam web application that we created earlier in this series of posts) and click 'Create Dashboard'.


This will create a new dashboard that is pre-populated with tiles and graphs containing data about your monitored web application.


Each of these tiles and graphs contain live data and they can be individually clicked on to navigate directly to scoped application views inside the Application Insights console. For example, if you click on the 'Exception Events' tile, you'll be brought to the Diagnostics\Events view for your specified application like this...


Back at the Overview\Dashboards view, if you want to edit the layout of your newly created dashboard, then no problem - it's pretty simple to add, modify or remove any of the data graphics that you see.

The first thing you need to do is to select your dashboard from the 'My Dashboards' section in the navigation bar, then click the 'Edit' button (the blue pencil icon shown below)

Now, let's say I wanted to rename my dashboard. All I need to do in editing mode is to click on the dashboard name and modify it as I wish.


Next, I might want to remove the 'Config Changes' tile. To do this, I click on the tile (still in edit mode) and you'll notice that there are three new icons on the corners of your selected tile..


Hover your mouse pointer over each one and you'll find that the top right icon is used to 'Remove', then bottom right icon is used to 'Resize' and the bottom left icon is 'Configure tile'. Click the 'Remove' icon and your chosen tile (Config Changes for me) is now gone!

Now I want to resize my 'Active Alerts' tile to fill in the blank space made by my removed tile so I'll select the tile, then hit the 'Resize' icon to give me a view like this..


To add a new tile to the 'App Metrics' section that contains multiple metrics in the same tile, click the 'Metrics' option from the top bar, then choose 'Multi-metric tile' as shown below.


This creates a new blank tile with no data inside and you can simply drag and drop it into location under the App Metrics section like this..


Click the 'Configure tile' icon down the bottom left to open the 'Configure Tile - Multiple Metric' window. From there, choose your web application from the 'Applications' drop-down menu, then click on the metrics that you want to add to the dashboard from the 'Metrics' list (as below).


Now if you click on the 'Chart' link from this same view, you should see your chosen metrics listed and the colours that they will represent in the tile.Choose your colour of preference for the metrics here.


Click on the 'Options' link to modify properties like the name, subtitle, vertical axis, colour of the dashboard and time interval. I'm going to change the dashboard colour here to make it stand out and also I'll specify that it has a time range of one week.


Hit the 'Save Configuration' button when you're happy with your changes and you should see a new tile added to the template similar to this...


When you've finished editing your new dashboard, hit the 'Save' button (which is the floppy disk icon under the dashboard name) to end the process. Your new dashboard with the modified tiles and graphs will look similar to the one below..


Creating a Dashboard From Scratch

Most of the time, using the pre-built dashboard templates will be sufficient for you to design the type of dashboards that you need, but there might be a requirement for you to just start with a blank canvas and build out your own tiles and graphs as you see fit. This is a good option if you have applications that are being monitored without the Microsoft Monitoring Agent (MMA) deployed.

To do this, you'll need to use the 'Blank dashboard' template...


Clicking on the 'Create Dashboard' button will open up a brand new but completely empty dashboard for you to work with. Click the 'Quick Glance' link and choose an option from the resulting menu (we'll go with Availability for this example).


This will create a new Availability tile with no configuration. Resize it as required, then click the 'Configure tile' icon.

Choose the application and synthetic monitor that you wish to add to the dashboard, then click the Options link to modify the name and the colour of the tile and also the time interval.



Repeat this procedure using the 'Quick Glance' and 'Metrics' links to create and customise other tiles until eventually you have the custom dashboard that you are looking for (see below for the quick one I've put together).


You can also use the 'Pin to Dashboard' link when you're browsing through metrics data to add the metric tile to your chosen dashboard as shown here.


Enter your dashboard level and target dashboard.


Here's the metrics tile now added to your chosen dashboard...


Sharing Dashboards

With Visual Studio Online (VSO) and depending on the type of subscription you have signed up for, you can create additional users for your team members to work with all aspects of  VSO - including of course, Application Insights. The basic (and free) version of Visual Studio Online that I'm using for this blog series allows for up to five free users before you need to pay a monthly fee depending on the number of additional users over five that you require.

Regardless of the number of users you have, if there's more than just yourself accessing Application Insights, you might well want to share your dashboards with those additional users and to do this is pretty simple.

To share a dashboard that you've created, click on the drop-down arrow beside your dashboard's name, then choose the 'Move to shared dashboards' option as shown below.


Once the dashboard is moved, any user with access to your Visual Studio Online account can easily view the dashboard from the 'Shared Dashboards' link as you can see from the screenshot.


Creating and Sharing Favorites

If you've created a large number of dashboards, you might want to save some of them as favorites for quick access and viewing and this is easily achieved by clicking on the drop-down arrow beside the dashboard name and this time, choosing the 'Add to my favorites' option as shown.


If you want to share some of your dashboards as favorites (maybe you're the only one that creates the dashboards and then everyone else just consumes them from a shared favorites lists), then from the 'Shared Dashboards' section, click the drop-down arrow beside your shared dashboard and choose the 'Add to shared favorites' option as below.


So that pretty much wraps up this post on dashboards. In Part 8 (which is the final post in the series), I'll go through some of the options for email alerting, configuration and additional resources.

Tuesday, March 18, 2014

Application Insights Deep Dive Part 6 - Monitoring Usage

This post is Part 6 of my 'Application Insights Deep Dive' series and if you haven't yet read over the previous posts, then you can check them all out here:

Application Insights Deep Dive Part 1 - Getting Started

Application Insights Deep Dive Part 2 - Building A Demo Server

Application Insights Deep Dive Part 3 - Deploying A Demo Web Application

Application Insights Deep Dive Part 4 - Monitoring Availability

Application Insights Deep Dive Part 5 - Monitoring Performance & Using Diagnostics

In the last post I explained how you can monitor the performance of your applications from the cloud and walked through how to troubleshoot some of the issues raised by using the diagnostics view to help reduce your mean time to resolution of those same issues.

The focus of this post will be to help you gain valuable insights into the usage data of your applications so you can see statistics like top pages, number of page views, events and even slowest requests. You will also get information that helps you to understand the type of environments your end-users and customers are running when using your application. For me, this is probably the coolest service that Application Insights can deliver and if the availability and performance side of it doesn't rock your world , this should definitely be something of interest!

Configuring Usage

To get usage data for your application, you'll need to add some JavaScript code to it so Application Insights can start collecting this type of data. The process for configuring usage monitoring varies slightly depending on the type of application you are running (web site, web service, Windows Phone 8 app or Windows Store app) and for the purposes of this demo, I'll be walking through configuring the Fabrikam Fiber web site application that we deployed in my previous posts.

Logon to Visual Studio Online, open the Application Insights portal and click the 'Usage' view from the navigation bar.

Ensure your web application is selected from the drop-down menu, then click the 'Web site' button (or whichever button is relevant to your application type) as shown below.

You will be presented with five steps to help get your usage data configured and for now, we'll just move straight to Step 3 where we'll first make a copy of the JavaScript snippet provided.


Now logon to the server that's running your web application (this would be the demo web server that we created in Windows Azure in Part 2) and using Windows Explorer, browse to the location you've deployed it to (by default it should be C:\inetpub\wwwroot\Fabrikam).

Expand the 'Views' folder, then open the 'Shared' folder where you should see the '_Layout' CSHTML file. Right-click this file and edit it with a text editor such as Notepad++ as shown below.


Now, if you read the instructions from Step 3 of the Application Insights console where you copied the code snippet from, it tells you:

To collect usage data about your application, insert the following script into each page you wish to track. Place this code immediately before the closing </head> tag and before any script.

So we'll do just that and copy in our code snippet as shown in this graphic:


Once you've copied in the code snippet, save and close the file, then open up Application Insights again. Now all you have to do is to wait 20 or 30 minutes and your application should start lighting up in the Usage view.

Using the Application Insights Tools for Visual Studio 2013

An alternate (and even cooler) method of configuring your application for usage is to use the free Application Insights Tools for Visual Studio 2013. This option is only applicable when you've installed a local copy of Visual Studio 2013 and if you've already configured your application for usage monitoring by copying the code snippet from the steps above, the this method is not required.

To use the Application Insights Tools for Visual Studio 2013 (currently in preview), from the computer that you have Visual Studio 2013 installed on - open the Usage view from the Application Insights console, select your application type (web site for us), then click the download button from Step 1 as shown below.


This will open the download window for the tools....


Download the installer, run through the wizard...


Once it's finished, open your web application inside Visual Studio 2013 and right-click on the application from the Solution Explorer window to see the following context menu:


Click on the 'Add Application Insights telemetry to Project...' option and you'll be presented with this wizard...


Hit the blue button down the bottom of the wizard and the packages will be automatically downloaded and deployed to your web application.


Now wait for 20 - 30 minutes and your usage data will start showing up in the Application Insights console.

Exploring the Usage Views

Once you've configured your web application for usage monitoring, you can open the Application Insights console and click on the 'Usage' link to be presented with the 'Features\Top Pages' view as shown below:



Here you get a daily trend of Activities, Sessions, Unique Users and which pages they are accessing over a given period of time (you can modify the time range from the drop-down menu on the left).

Clicking on the 'Page Views' link from the navigation bar on the right-hand side will open a graph and table like this..



From the table above, you can see which pages your users are hitting and get statistics like the Average Number of Unique Users per day. You'll also see deployment markers in this graph which can come in quite handy before or after a new build.

Clicking on the 'Details' link (highlighted) from the same graph opens an hourly trend analysis of page views and sessions, performance counters and metrics.


If you click on the 'Events' link from the navigation bar, you'll be presented with events that have been logged by the client application and server, though this data is defined by the application itself and is up to the developer to decide on customisation.


Clicking on the 'Event Insights' link will enable you to analyse events so you get an understanding of how that event changes over time.


Another useful view is the 'Slowest Requests' one. Clicking this link gives you  information on the average page load times (from the client application experience) of each page on a given date or time.


User Information

If you want to gain insight into data about the type of users that are visiting your web application, then click on the 'Users' option from the top navigation bar and select the 'Active Users' link from the left-hand side to get the following view:


From here you get information like the trend of active daily users, the frequency of their visits, the percentage of new visitors versus returning visitors and even their engagement level - which will show you how active your users are when they visit the site.

The links to the right of the 'Trend of active users by day' graph are live and you can click on them to change the data that the graph shows as below..


Clicking the 'Authenticated Active Users' link on the right will display similar information with the exception that it is targeted only at users that have been authenticated within the application.


If you want to dive into the 'Loyalty' view from the navigation bar on the left, you will be presented with a number of graphs and charts that show visitor loyalty and return trends like these examples..




Environment Types

Clicking on the 'Usage\Environment' links from the top navigation bar will take you to one of my favourite views in Application Insights.

It's here that we can see the different environment types that are being used to access our applications such as:

Operating Systems


Browsers


Global Locations


Even the language that your users are viewing in..


So that pretty much wraps up Monitoring Usage in Application Insights and in Part 7 I'll discuss working with Dashboards.