Skip to content

Commit 71387c1

Browse files
committed
Merge branch 'release-ignite-frontdoor' of https://github.com/MicrosoftDocs/azure-docs-pr into release-ignite-frontdoor
2 parents f75c72b + 890e6dd commit 71387c1

File tree

395 files changed

+5412
-3767
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

395 files changed

+5412
-3767
lines changed

.openpublishing.redirection.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,11 @@
170170
"redirect_url": "/azure/active-directory/users-groups-roles/domains-manage",
171171
"redirect_document_id": true
172172
},
173+
{
174+
"source_path": "articles/cognitive-services/Bing-Image-Search/tutorial-image-post-source.md",
175+
"redirect_url": "/azure/cognitive-services/bing-image-search/tutorial-image-post",
176+
"redirect_document_id": true
177+
},
173178
{
174179
"source_path": "articles/iot-edge/how-to-create-transparent-gateway.md",
175180
"redirect_url": "/azure/iot-edge/how-to-create-transparent-gateway-linux",
@@ -23472,6 +23477,11 @@
2347223477
"redirect_url": "/azure/cognitive-services/bing-image-search",
2347323478
"redirect_document_id": false
2347423479
},
23480+
{
23481+
"source_path": "articles/cognitive-services/Bing-Image-Search/tutorial-bing-image-search-single-page-app-source.md",
23482+
"redirect_url": "/azure/cognitive-services/bing-image-search/tutorial-bing-image-search-single-page-app",
23483+
"redirect_document_id": false
23484+
},
2347523485
{
2347623486
"source_path": "articles/cognitive-services/Bing-Web-Search/search-the-web.md",
2347723487
"redirect_url": "/azure/cognitive-services/bing-web-search",
@@ -28180,6 +28190,21 @@
2818028190
"source_path": "articles/log-analytics/log-analytics-log-search-log-search-portal.md",
2818128191
"redirect_url": "/azure/log-analytics/query-language/get-started-analytics-portal",
2818228192
"redirect_document_id" : true
28193+
},
28194+
{
28195+
"source_path": "articles/azure-stack/azure-stack-tools-paas-services.md",
28196+
"redirect_url": "/azure/azure-stack/azure-stack-offer-services-overview",
28197+
"redirect_document_id": false
28198+
},
28199+
{
28200+
"source_path": "articles/application-insights/local-forwarder.md",
28201+
"redirect_url": "/azure/application-insights/app-insights-overview",
28202+
"redirect_document_id" : false
28203+
},
28204+
{
28205+
"source_path": "articles/application-insights/open-census-python.md",
28206+
"redirect_url": "/azure/application-insights/app-insights-overview",
28207+
"redirect_document_id" : false
2818328208
}
2818428209
]
2818528210
}

articles/aks/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@
137137
items:
138138
- name: Common issues
139139
href: troubleshooting.md
140+
- name: Checking for best practices
141+
href: kube-advisor-tool.md
140142
- name: SSH node access
141143
href: ssh.md
142144
- name: Reference

articles/aks/kube-advisor-tool.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
title: Check your Kubernetes deployments on Azure for implementation of best practices
3+
description: Learn how to check for implementation of best practices in your deployments on Azure Kubernetes Service using kube-advisor
4+
services: container-service
5+
author: seanmck
6+
7+
ms.service: container-service
8+
ms.topic: troubleshooting
9+
ms.date: 09/13/2018
10+
ms.author: seanmck
11+
---
12+
13+
14+
# Checking for Kubernetes best practices in your cluster
15+
16+
There are several best practices that you should follow on your Kubernetes deployments to ensure the best performance and resilience for your applications. You can use the kube-advisor tool to look for deployments that aren't following those suggestions.
17+
18+
## About kube-advisor
19+
20+
The [kube-advisor tool][kube-advisor-github] is a single container designed to be run on your cluster. It queries the Kubernetes API server for information about your deployments and returns a set of suggested improvements.
21+
22+
> [!NOTE]
23+
> The kube-advisor tool is supported by Microsoft on a best-effort basis. Issues and suggestions should be filed on GitHub.
24+
25+
## Running kube-advisor
26+
27+
To run the tool on a cluster that is configured for [role-based access control (RBAC)](aad-integration.md), using the following commands. The first command creates a Kubernetes service account. The second command runs the tool in a pod using that service account and configures the pod for deletion after it exits.
28+
29+
```bash
30+
kubectl apply -f https://raw.githubusercontent.com/Azure/kube-advisor/master/sa.yaml?token=ABLLDrNcuHMro9jQ0xduCaEbpzLupzQUks5bh3RhwA%3D%3D
31+
32+
kubectl run --rm -i -t kubeadvisor --image=mcr.microsoft.com/aks/kubeadvisor --restart=Never --overrides="{ \"apiVersion\": \"v1\", \"spec\": { \"serviceAccountName\": \"kube-advisor\" } }"
33+
```
34+
35+
If you aren't using RBAC, you can run the command as follows:
36+
37+
```bash
38+
kubectl run --rm -i -t kubeadvisor --image=mcr.microsoft.com/aks/kubeadvisor --restart=Never
39+
```
40+
41+
Within a few seconds, you should see a table describing potential improvements to your deployments.
42+
43+
![Kube-advisor output](media/kube-advisor-tool/kube-advisor-output.png)
44+
45+
## Checks performed
46+
47+
The tool validates several Kubernetes best practices, each with their own suggested remediation.
48+
49+
### Resource requests and limits
50+
51+
Kubernetes supports defining [resource requests and limits on pod specifications][kube-cpumem]. The request defines the minimum CPU and memory required to run the container. The limit defines the maximum CPU and memory that should be allowed.
52+
53+
By default, no requests or limits are set on pod specifications. This can lead to nodes being overscheduled and containers being starved. The kube-advisor tool highlights pods without requests and limits set.
54+
55+
## Cleaning up
56+
57+
If your cluster has RBAC enabled, you can clean up the `ClusterRoleBinding` after you've run the tool using the following command:
58+
59+
```bash
60+
kubectl delete -f https://raw.githubusercontent.com/Azure/kube-advisor/master/sa.yaml?token=ABLLDrNcuHMro9jQ0xduCaEbpzLupzQUks5bh3RhwA%3D%3D
61+
```
62+
63+
If you are running the tool against a cluster that is not RBAC-enabled, no cleanup is required.
64+
65+
## Next steps
66+
67+
- [Troubleshoot issues with Azure Kubernetes Service](troubleshooting.md)
68+
69+
<!-- RESOURCES -->
70+
71+
[kube-cpumem]: https://github.com/Azure/azure-quickstart-templates
72+
[kube-advisor-github]: https://github.com/azure/kube-advisor
18.7 KB
Loading

articles/aks/tutorial-kubernetes-prepare-app.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ In subsequent tutorials, the container image is uploaded to an Azure Container R
3333

3434
This tutorial assumes a basic understanding of core Docker concepts such as containers, container images, and `docker` commands. For a primer on container basics, see [Get started with Docker][docker-get-started].
3535

36-
To complete this tutorial, you need a local Docker development environment. Docker provides packages that configure Docker on a [Mac][docker-for-mac], [Windows][docker-for-windows], or [Linux][docker-for-linux] system.
36+
To complete this tutorial, you need a local Docker development environment running Linux containers. Docker provides packages that configure Docker on a [Mac][docker-for-mac], [Windows][docker-for-windows], or [Linux][docker-for-linux] system.
3737

3838
Azure Cloud Shell does not include the Docker components required to complete every step in these tutorials. Therefore, we recommend using a full Docker development environment.
3939

articles/analysis-services/analysis-services-scale-out.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: minewiskan
55
manager: kfile
66
ms.service: azure-analysis-services
77
ms.topic: conceptual
8-
ms.date: 09/13/2018
8+
ms.date: 09/18/2018
99
ms.author: owend
1010
ms.reviewer: minewiskan
1111

@@ -22,7 +22,7 @@ With scale-out, you can create a query pool with up to seven additional query re
2222

2323
Regardless of the number of query replicas you have in a query pool, processing workloads are not distributed among query replicas. A single server serves as the processing server. Query replicas serve only queries against the models synchronized between each query replica in the query pool.
2424

25-
When scaling out, new query replicas are added to the query pool incrementally. It can take up to five minutes for new query replica resources to be included in the query pool; ready to receive client connections and queries. When all new query replicas are up and running, new client connections are load balanced across all query pool resources. Existing client connections are not changed from the resource they are currently connected to. When scaling in, any existing client connections to a query pool resource that is being removed from the query pool are terminated. They are reconnected to a remaining query pool resource when the scale in operation has completed, which can take up to five minutes.
25+
When scaling out, new query replicas are added to the query pool incrementally. It can take up to five minutes for new query replica resources to be included in the query pool. When all new query replicas are up and running, new client connections are load balanced across all query pool resources. Existing client connections are not changed from the resource they are currently connected to. When scaling in, any existing client connections to a query pool resource that is being removed from the query pool are terminated. They are reconnected to a remaining query pool resource when the scale in operation has completed, which can take up to five minutes.
2626

2727
When processing models, after processing operations are completed, a synchronization must be performed between the processing server and the query replicas. When automating processing operations, it's important to configure a synchronization operation upon successful completion of processing operations. Synchronization can be performed manually in the portal, or by using PowerShell or REST API.
2828

@@ -58,7 +58,6 @@ The number of query replicas you can configure are limited by the region your se
5858

5959
Tabular models on your primary server are synchronized with the replica servers. When synchronization is complete, the query pool begins distributing incoming queries among the replica servers.
6060

61-
6261
## Synchronization
6362

6463
When you provision new query replicas, Azure Analysis Services automatically replicates your models across all replicas. You can also perform a manual synchronization by using the portal or REST API. When you process your models, you should perform a synchronization so updates are synchronized among your query replicas.
@@ -85,8 +84,6 @@ To set the number of query replicas, use [Set-AzureRmAnalysisServicesServer](htt
8584

8685
To run sync, use [Sync-AzureAnalysisServicesInstance](https://docs.microsoft.com/powershell/module/azurerm.analysisservices/sync-azureanalysisservicesinstance).
8786

88-
89-
9087
## Connections
9188

9289
On your server's Overview page, there are two server names. If you haven't yet configured scale-out for a server, both server names work the same. Once you configure scale-out for a server, you need to specify the appropriate server name depending on the connection type.
@@ -103,7 +100,6 @@ For SSMS, SSDT, and connection strings in PowerShell, Azure Function apps, and A
103100

104101
**Solution:** When selecting the **Separate the processing server from the querying pool** option, client connections using the default connection string (without :rw) are redirected to query pool replicas. If replicas in the query pool are not yet online because synchronization has not yet been completed, redirected client connections can fail. To prevent failed connections, choose not to separate the processing server from the querying pool until a scale-out and synchronization operation are complete. You can use the Memory and QPU metrics to monitor synchronization status.
105102

106-
107103
## Related information
108104

109105
[Monitor server metrics](analysis-services-monitor.md)

articles/application-insights/app-insights-api-custom-events-metrics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ ms.author: mbullwin
2020
Insert a few lines of code in your application to find out what users are doing with it, or to help diagnose issues. You can send telemetry from device and desktop apps, web clients, and web servers. Use the [Azure Application Insights](app-insights-overview.md) core telemetry API to send custom events and metrics, and your own versions of standard telemetry. This API is the same API that the standard Application Insights data collectors use.
2121

2222
> [!NOTE]
23-
> `TrackMetric()` is no longer the preferred method of sending custom metrics for your C# based applications. In [version 2.60-beta 3](https://github.com/Microsoft/ApplicationInsights-dotnet/blob/develop/CHANGELOG.md#version-260-beta3) of the Application Insights .NET SDK a new method, [`TelemetryClient.GetMetric()`](https://docs.microsoft.com/dotnet/api/microsoft.applicationinsights.telemetryclient.getmetric?view=azure-dotnet) was introduced. As of the Application Insights .NET SDK [version 2.72](https://docs.microsoft.com/en-us/dotnet/api/microsoft.applicationinsights.telemetryclient.getmetric?view=azure-dotnet) this functionality is now part of the stable release.
23+
> `TrackMetric()` is no longer the preferred method of sending custom metrics for your .NET based applications. In [version 2.60-beta 3](https://github.com/Microsoft/ApplicationInsights-dotnet/blob/develop/CHANGELOG.md#version-260-beta3) of the Application Insights .NET SDK a new method, [`TelemetryClient.GetMetric()`](https://docs.microsoft.com/dotnet/api/microsoft.applicationinsights.telemetryclient.getmetric?view=azure-dotnet) was introduced. As of the Application Insights .NET SDK [version 2.72](https://docs.microsoft.com/en-us/dotnet/api/microsoft.applicationinsights.telemetryclient.getmetric?view=azure-dotnet) this functionality is now part of the stable release.
2424
2525
## API summary
2626
The core API is uniform across all platforms, apart from a few variations like `GetMetric`(C# only).

articles/application-insights/application-insights-correlation.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,34 @@ The standard also defines two schemas of `Request-Id` generation - flat and hier
7171

7272
Application Insights defines the [extension](https://github.com/lmolkova/correlation/blob/master/http_protocol_proposal_v2.md) for the correlation HTTP protocol. It uses `Request-Context` name value pairs to propagate the collection of properties used by the immediate caller or callee. Application Insights SDK uses this header to set `dependency.target` and `request.source` fields.
7373

74+
### W3C Distributed Tracing
75+
76+
We are transitioning to (W3C Distributed tracing format)[https://w3c.github.io/distributed-tracing/report-trace-context.html]. It defines:
77+
- `traceparent` - carries globally unique operation id and unique identifier of the call
78+
- `tracestate` - carries tracing system specific context.
79+
80+
#### Enable W3C distributed tracing support for ASP.NET Classic apps
81+
82+
This feature is available in Microsoft.ApplicationInsights.Web and Microsoft.ApplicationInsights.DependencyCollector packages starting with version 2.8.0-beta1.
83+
It is **off** by default, to enable it, change `ApplicationInsights.config`:
84+
85+
* under `RequestTrackingTelemetryModule` add `EnableW3CHeadersExtraction` element with value set to `true`
86+
* under `DependencyTrackingTelemetryModule` add `EnableW3CHeadersInjection` element with value set to `true`
87+
88+
#### Enable W3C distributed tracing support for ASP.NET Core apps
89+
90+
This feature is in Microsoft.ApplicationInsights.AspNetCore with version 2.5.0-beta1 and Microsoft.ApplicationInsights.DependencyCollector version 2.8.0-beta1.
91+
It is **off** by default, to enable it set `ApplicationInsightsServiceOptions.RequestCollectionOptions.EnableW3CDistributedTracing` to `true`:
92+
93+
```csharp
94+
public void ConfigureServices(IServiceCollection services)
95+
{
96+
services.AddApplicationInsightsTelemetry(o =>
97+
o.RequestCollectionOptions.EnableW3CDistributedTracing = true );
98+
// ....
99+
}
100+
```
101+
74102
## Open tracing and Application Insights
75103

76104
[Open Tracing](http://opentracing.io/) and Application Insights data models looks
@@ -133,3 +161,5 @@ telemetry.getContext().getDevice().setRoleName("My Component Name");
133161
- Onboard all components of your micro service on Application Insights. Check out [supported platforms](app-insights-platforms.md).
134162
- See [data model](application-insights-data-model.md) for Application Insights types and data model.
135163
- Learn how to [extend and filter telemetry](app-insights-api-filtering-sampling.md).
164+
- [Application Insights confg reference](app-insights-configuration-with-applicationinsights-config.md)
165+

0 commit comments

Comments
 (0)