Skip to content

Commit

Permalink
fix build warnings ops-build-warnings-dunn-batch01
Browse files Browse the repository at this point in the history
  • Loading branch information
Ja-Dunn committed Nov 7, 2016
1 parent 9dea20d commit b70c8ba
Show file tree
Hide file tree
Showing 7 changed files with 227 additions and 226 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ You can instrument a live web app with Visual Studio Application Insights, witho

You have a choice of three routes to apply Application Insights to your .NET web applications:

* **Build time:** [Add the Application Insights SDK][greenbrown] to your web app code.
* **Build time:** [Add the Application Insights SDK][greenbrown] to your web app code.
* **Run time:** Instrument your web app on the server, as described below, without rebuilding and redeploying the code.
* **Both:** Build the SDK into your web app code, and also apply the run-time extensions. Get the best of both options.
* **Both:** Build the SDK into your web app code, and also apply the run-time extensions. Get the best of both options.

Here's a summary of what you get by each route:

Expand All @@ -46,34 +46,34 @@ Here's a summary of what you get by each route:
You need a [Microsoft Azure](http://azure.com) subscription.

### If your app is an Azure web app or Cloud Service
* Select Application Insights on the app's control panel in Azure.
* Select Application Insights on the app's control panel in Azure.

[Learn more](app-insights-azure.md).

### If your app is hosted on your IIS server
1. On your IIS web server, sign in with administrator credentials.
2. Download and run the [Status Monitor installer](http://go.microsoft.com/fwlink/?LinkId=506648).
3. In the installation wizard, sign in to Microsoft Azure.

![Sign into Azure with your Microsoft account credentials](./media/app-insights-monitor-performance-live-website-now/appinsights-035-signin.png)

*Connection errors? See [Troubleshooting](#troubleshooting).*
4. Pick the installed web application or website that you want to monitor, then configure the resource in which you want to see the results in the Application Insights portal.

![Choose an app and a resource.](./media/app-insights-monitor-performance-live-website-now/appinsights-036-configAIC.png)

Normally, you choose to configure a new resource and [resource group][roles].

Otherwise, use an existing resource if you already set up [web tests][availability] for your site, or [web client monitoring][client].
5. Restart IIS.

![Choose Restart at the top of the dialog.](./media/app-insights-monitor-performance-live-website-now/appinsights-036-restart.png)

Your web service will be interrupted for a short while.
6. Notice that ApplicationInsights.config has been inserted into the web apps that you want to monitor.

![Find the .config file alongside the code files of the web app.](./media/app-insights-monitor-performance-live-website-now/appinsights-034-aiconfig.png)

There are also some changes to web.config.

#### Want to (re)configure later?
Expand Down Expand Up @@ -108,7 +108,7 @@ If you have several server instances, you might want to edit the charts to group

![Servers](./media/app-insights-monitor-performance-live-website-now/22-servers.png)

You can also [change the set of performance counters that are reported by the SDK](app-insights-configuration-with-applicationinsights-config.md#nuget-package-3).
You can also change the set of performance counters that are reported by the SDK.

## Exceptions
![Click through the server exceptions chart](./media/app-insights-monitor-performance-live-website-now/appinsights-039-1exceptions.png)
Expand All @@ -127,7 +127,7 @@ You need to open [some outgoing ports](app-insights-ip-addresses.md#outgoing-por
* Wait a few minutes to let the data arrive, then click **Refresh**.
* Open Diagnostic Search (the Search tile) to see individual events. Events are often visible in Diagnostic Search before aggregate data appears in the charts.
* Open Status Monitor and select your application on left pane. Check if there are any diagnostics messages for this application in the "Configuration notifications" section:

![Open the Performance blade to see request, response time, dependency and other data](./media/app-insights-monitor-performance-live-website-now/appinsights-status-monitor-diagnostics-message.png)
* Make sure your server firewall allows outgoing traffic on the ports listed above.
* On the server, if you see a message about "insufficient permissions", try the following:
Expand Down Expand Up @@ -165,7 +165,7 @@ Find out which apps are being monitored:
* `-Name` (Optional) The name of a web app.
* Displays the Application Insights monitoring status for each web app (or the named app) in this IIS server.
* Returns `ApplicationInsightsApplication` for each app:

* `SdkState==EnabledAfterDeployment`: App is being monitored, and was instrumented at run time, either by the Status Monitor tool, or by `Start-ApplicationInsightsMonitoring`.
* `SdkState==Disabled`: The app is not instrumented for Application Insights. Either it was never instrumented, or run-time monitoring was disabled with the Status Monitor tool or with `Stop-ApplicationInsightsMonitoring`.
* `SdkState==EnabledByCodeInstrumentation`: The app was instrumented by adding the SDK to the source code. Its SDK cannot be updated or stopped.
Expand All @@ -177,11 +177,11 @@ Find out which apps are being monitored:
* `-Name` The name of the app in IIS
* `-InstrumentationKey` The ikey of the Application Insights resource where you want the results to be displayed.
* This cmdlet only affects apps that are not already instrumented - that is, SdkState==NotInstrumented.

The cmdlet does not affect an app that is already instrumented, either at build time by adding the SDK to the code, or at run time by a previous use of this cmdlet.

The SDK version used to instrument the app is the version that was most recently downloaded to this server.

To download the latest version, use Update-ApplicationInsightsVersion.
* Returns `ApplicationInsightsApplication` on success. If it fails, it logs a trace to stderr.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,14 @@ In your Application Insights resource, look for the Availability tile. Click it
* **Test frequency**: Sets how often the test is run from each test location. With a frequency of five minutes and five test locations, your site is tested on average every minute.
* **Test locations** are the places from where our servers send web requests to your URL. Choose more than one so that you can distinguish problems in your website from network issues. You can select up to 16 locations.
* **Success criteria**:

**Test timeout**: Decrease this value to be alerted about slow responses. The test is counted as a failure if the responses from your site have not been received within this period. If you selected **Parse dependent requests**, then all the images, style files, scripts, and other dependent resources must have been received within this period.

**HTTP response**: The returned status code that is counted as a success. 200 is the code that indicates that a normal web page has been returned.

**Content match**: a string, like "Welcome!" We test that it occurs in every response. It must be a plain string, without wildcards. Don't forget that if your page content changes you might have to update it.
* **Alerts** are, by default, sent to you if there are failures in three locations over five minutes. A failure in one location is likely to be a network problem, and not a problem with your site. But you can change the threshold to be more or less sensitive, and you can also change who the emails should be sent to.

You can set up a [webhook](../monitoring-and-diagnostics/insights-webhooks-alerts.md) that is called when an alert is raised. (But note that, at present, query parameters are not passed through as Properties.)

### Test more URLs
Expand Down Expand Up @@ -110,36 +110,36 @@ Note that you can't use coded functions in your tests: the scenario steps must b
Use Visual Studio Enterprise or Ultimate to record a web session.

1. Create a web performance test project.

![In Visual Studio, create a project from the Web Performance and Load Test template.](./media/app-insights-monitor-web-app-availability/appinsights-71webtest-multi-vs-create.png)
2. Open the .webtest file and start recording.

![Open the .webtest file and click Record.](./media/app-insights-monitor-web-app-availability/appinsights-71webtest-multi-vs-start.png)
3. Do the user actions you want to simulate in your test: open your website, add a product to the cart, and so on. Then stop your test.

![The web test recorder runs in Internet Explorer.](./media/app-insights-monitor-web-app-availability/appinsights-71webtest-multi-vs-record.png)

Don't make a long scenario. There's a limit of 100 steps and 2 minutes.
4. Edit the test to:

* Add validations to check the received text and response codes.
* Remove any superfluous interactions. You could also remove dependent requests for pictures or to ad or tracking sites.

Remember that you can only edit the test script - you can't add custom code or call other web tests. Don't insert loops in the test. You can use standard web test plug-ins.
5. Run the test in Visual Studio to make sure it works.

The web test runner opens a web browser and repeats the actions you recorded. Make sure it works as you expect.

![In Visual Studio, open the .webtest file and click Run.](./media/app-insights-monitor-web-app-availability/appinsights-71webtest-multi-vs-run.png)

#### 2. Upload the web test to Application Insights
1. In the Application Insights portal, create a new web test.

![On the web tests blade, choose Add.](./media/app-insights-monitor-web-app-availability/16-another-test.png)
2. Select multi-step test, and upload the .webtest file.

![Select multi-step webtest.](./media/app-insights-monitor-web-app-availability/appinsights-71webtestUpload.png)

Set the test locations, frequency, and alert parameters in the same way as for ping tests.

View your test results and any failures in the same way as for single-url tests.
Expand All @@ -160,15 +160,15 @@ When you run the test, you'd like EndTime always to be the present time, and Sta
Web Test Plug-ins provide the way to do parameterize times.

1. Add a web test plug-in for each variable parameter value you want. In the web test toolbar, choose **Add Web Test Plugin**.

![Choose Add Web Test Plugin and select a type.](./media/app-insights-monitor-web-app-availability/appinsights-72webtest-plugins.png)

In this example, we use two instances of the Date Time Plug-in. One instance is for "15 minutes ago" and another for "now."
2. Open the properties of each plug-in. Give it a name and set it to use the current time. For one of them, set Add Minutes = -15.

![Set name, Use Current Time, and Add Minutes.](./media/app-insights-monitor-web-app-availability/appinsights-72webtest-plugin-parameters.png)
3. In the web test parameters, use {{plug-in name}} to reference a plug-in name.

![In the test parameter, use {{plug-in name}}.](./media/app-insights-monitor-web-app-availability/appinsights-72webtest-plugin-name.png)

Now, upload your test to the portal. It uses the dynamic values on every run of the test.
Expand Down Expand Up @@ -229,40 +229,40 @@ When the test is complete, you are shown response times and success rates.

## Questions? Problems?
* *Can I call code from my web test?*

No. The steps of the test must be in the .webtest file. And you can't call other web tests or use loops. But there are several plug-ins that you might find helpful.
* *Is HTTPS supported?*

We support TLS 1.1 and TLS 1.2.
* *Is there a difference between "web tests" and "availability tests"?*

We use the two terms interchangeably.
* *I'd like to use availability tests on our internal server that runs behind a firewall.*

Configure your firewall to permit requests from the [IP addresses
of web test agents](app-insights-ip-addresses.md#availability).
of web test agents](app-insights-ip-addresses.md).
* *Uploading a multi-step web test fails*

There's a size limit of 300 K.

Loops aren't supported.

References to other web tests aren't supported.

Data sources aren't supported.
* *My multi-step test doesn't complete*

There's a limit of 100 requests per test.

The test is stopped if it runs longer than two minutes.
* *How can I run a test with client certificates?*

We don't support that, sorry.

## <a name="video"></a>Video
> [!VIDEO https://channel9.msdn.com/Series/Application-Insights-on-Azure-Preview-Portal/Monitoring-Availability-with-Application-Insights/player]
>
>
>
>
## <a name="next"></a>Next steps
[Search diagnostic logs][diagnostic]
Expand Down
Loading

0 comments on commit b70c8ba

Please sign in to comment.