Skip to content

Commit dd7596c

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into upgradecircuit
2 parents a746d60 + 808466c commit dd7596c

File tree

231 files changed

+3110
-694
lines changed

Some content is hidden

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

231 files changed

+3110
-694
lines changed

articles/automation/troubleshoot/extension-based-hybrid-runbook-worker.md

Lines changed: 1 addition & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Troubleshoot extension-based Hybrid Runbook Worker issues in Azure Automation
33
description: This article tells how to troubleshoot and resolve issues that arise with Azure Automation extension-based Hybrid Runbook Workers.
44
services: automation
5-
ms.date: 01/03/2024
5+
ms.date: 08/26/2024
66
ms.topic: troubleshooting
77
ms.custom:
88
---
@@ -73,34 +73,6 @@ To help troubleshoot issues with extension-based Hybrid Runbook Workers:
7373
/home/hweautomation
7474
```
7575
76-
77-
### Unable to update Az modules while using the Hybrid Worker
78-
79-
#### Issue
80-
81-
The Hybrid Runbook Worker jobs failed as it was unable to import Az modules.
82-
83-
#### Resolution
84-
85-
As a workaround, you can follow these steps:
86-
87-
1. Navigate to the folder:
88-
> [!TIP]
89-
> Replace `*` in the below path with the specific version that is installed if you know it.
90-
```
91-
C:\Program Files\Microsoft Monitoring Agent\Agent\AzureAutomation\*\HybridAgent
92-
```
93-
94-
1. Edit the file with the name `Orchestrator.Sandbox.exe.config`
95-
96-
1. Add the following lines inside the `<assemblyBinding>` tag:
97-
```xml
98-
<dependentAssembly>
99-
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
100-
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
101-
</dependentAssembly>
102-
```
103-
10476
### Scenario: Runbooks go into a suspended state on a Hybrid Runbook Worker when using a custom account on a server with User Account Control (UAC) enabled
10577
10678
#### Issue
@@ -411,38 +383,6 @@ This error occurs when you attempt to use a Run As account in a runbook that run
411383
If your Hybrid Runbook Worker is an Azure VM, you can use [runbook authentication with managed identities](../automation-hrw-run-runbooks.md#runbook-auth-managed-identities) instead. This scenario simplifies authentication by allowing you to authenticate to Azure resources using the managed identity of the Azure VM instead of the Run As account. When the Hybrid Runbook Worker is an on-premises machine, you need to install the Run As account certificate on the machine. To learn how to install the certificate, see the steps to run the PowerShell runbook **Export-RunAsCertificateToHybridWorker** in [Run runbooks on a Hybrid Runbook Worker](../automation-hrw-run-runbooks.md).
412384

413385

414-
### Scenario: Set-AzStorageBlobContent fails on a Hybrid Runbook Worker
415-
416-
#### Issue
417-
418-
Runbook fails when it tries to execute `Set-AzStorageBlobContent`, and you receive the following error message:
419-
420-
`Set-AzStorageBlobContent : Failed to open file xxxxxxxxxxxxxxxx: Illegal characters in path`
421-
422-
#### Cause
423-
424-
This error is caused by the long file name behavior of calls to `[System.IO.Path]::GetFullPath()`, which adds UNC paths.
425-
426-
#### Resolution
427-
428-
As a workaround, you can create a configuration file named `OrchestratorSandbox.exe.config` with the following content:
429-
430-
```azurecli
431-
<configuration>
432-
<runtime>
433-
<AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false" />
434-
</runtime>
435-
</configuration>
436-
```
437-
438-
Place this file in the same folder as the executable file `OrchestratorSandbox.exe`. For example:
439-
> [!TIP]
440-
> Replace `*` in the below path with the specific version that is installed if you know it.
441-
```
442-
%ProgramFiles%\Microsoft Monitoring Agent\Agent\AzureAutomation\*\HybridAgent
443-
```
444-
445-
446386
### Scenario: Microsoft Azure VMs automatically dropped from a hybrid worker group
447387

448388
#### Issue

articles/azure-arc/resource-bridge/overview.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,8 @@ Arc resource bridge supports the following Azure regions:
107107
* South Central US
108108
* Canada Central
109109
* Australia East
110+
* Australia SouthEast
111+
110112
* West Europe
111113
* North Europe
112114
* UK South

articles/azure-maps/how-to-dev-guide-csharp-sdk.md

Lines changed: 130 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ titleSuffix: Azure Maps
44
description: How to develop applications that incorporate Azure Maps using the C# SDK Developers Guide.
55
author: sinnypan
66
ms.author: sipa
7-
ms.date: 11/11/2021
7+
ms.date: 08/27/2024
88
ms.topic: how-to
99
ms.service: azure-maps
1010
ms.subservice: rest-sdk
@@ -139,6 +139,11 @@ var client = new MapsSearchClient(credential);
139139
Call the `GetGeocoding` method to get the coordinate of an address.
140140

141141
```csharp
142+
using System;
143+
using Azure;
144+
using Azure.Maps.Search;
145+
using Azure.Maps.Search.Models;
146+
142147
// Use Azure Maps subscription key authentication
143148
var subscriptionKey = Environment.GetEnvironmentVariable("SUBSCRIPTION_KEY") ?? string.Empty;
144149
var credential = new AzureKeyCredential(subscriptionKey);
@@ -147,19 +152,90 @@ var client = new MapsSearchClient(credential);
147152
Response<GeocodingResponse> searchResult = client.GetGeocoding(
148153
"1 Microsoft Way, Redmond, WA 98052");
149154

150-
Console.WriteLine($"The Coordinate: ({searchResult.Value.Features[0].Geometry.Coordinates})");
155+
for (int i = 0; i < searchResult.Value.Features.Count; i++)
156+
{
157+
Console.WriteLine("Coordinate:" + string.Join(",", searchResult.Value.Features[i].Geometry.Coordinates));
158+
}
159+
```
160+
161+
## Batch geocode addresses
162+
163+
This sample demonstrates how to perform batch search address.
164+
165+
```csharp
166+
using System;
167+
using Azure;
168+
using Azure.Maps.Search;
169+
using System.Collections.Generic;
170+
using Azure.Maps.Search.Models;
171+
using Azure.Maps.Search.Models.Queries;
172+
173+
// Use Azure Maps subscription key authentication
174+
var subscriptionKey = Environment.GetEnvironmentVariable("SUBSCRIPTION_KEY") ?? string.Empty;
175+
var credential = new AzureKeyCredential(subscriptionKey);
176+
var client = new MapsSearchClient(credential);
177+
178+
List<GeocodingQuery> queries = new List<GeocodingQuery>
179+
{
180+
new GeocodingQuery()
181+
{
182+
Query ="15171 NE 24th St, Redmond, WA 98052, United States"
183+
},
184+
new GeocodingQuery()
185+
{
186+
AddressLine = "400 Broad St"
187+
},
188+
};
189+
Response<GeocodingBatchResponse> results = client.GetGeocodingBatch(queries);
190+
191+
//Print coordinates
192+
for (var i = 0; i < results.Value.BatchItems.Count; i++)
193+
{
194+
for (var j = 0; j < results.Value.BatchItems[i].Features.Count; j++)
195+
{
196+
Console.WriteLine("Coordinates: " + string.Join(",", results.Value.BatchItems[i].Features[j].Geometry.Coordinates));
197+
}
198+
}
199+
```
200+
201+
## Reverse geocode a coordinates
202+
203+
You can translate coordinates into human-readable street addresses. This process is also called reverse geocoding.
204+
205+
```csharp
206+
using System;
207+
using Azure;
208+
using Azure.Maps.Search;
209+
using Azure.Core.GeoJson;
210+
using Azure.Maps.Search.Models;
211+
212+
// Use Azure Maps subscription key authentication
213+
var subscriptionKey = Environment.GetEnvironmentVariable("SUBSCRIPTION_KEY") ?? string.Empty;
214+
var credential = new AzureKeyCredential(subscriptionKey);
215+
var client = new MapsSearchClient(credential);
216+
217+
GeoPosition coordinates = new GeoPosition(-122.138685, 47.6305637);
218+
Response<GeocodingResponse> result = client.GetReverseGeocoding(coordinates);
219+
220+
//Print addresses
221+
for (int i = 0; i < result.Value.Features.Count; i++)
222+
{
223+
Console.WriteLine(result.Value.Features[i].Properties.Address.FormattedAddress);
224+
}
151225
```
152226

153227
## Batch reverse geocode a set of coordinates
154228

155229
Azure Maps Search also provides some batch query APIs. The Reverse Geocoding Batch API sends batches of queries to [Reverse Geocoding API](/rest/api/maps/search/get-reverse-geocoding) using just a single API call. The API allows caller to batch up to **100** queries.
156230

157231
```csharp
158-
using system;
159-
using Azure;
232+
using System;
233+
using Azure;
234+
using Azure.Maps.Search;
235+
using System.Collections.Generic;
160236
using Azure.Core.GeoJson;
161-
using Azure.Maps.Search;
162237
using Azure.Maps.Search.Models;
238+
using Azure.Maps.Search.Models.Queries;
163239

164240
// Use Azure Maps subscription key authentication
165241
var subscriptionKey = Environment.GetEnvironmentVariable("SUBSCRIPTION_KEY") ?? string.Empty;
@@ -170,16 +246,62 @@ List<ReverseGeocodingQuery> items = new List<ReverseGeocodingQuery>
170246
{
171247
new ReverseGeocodingQuery()
172248
{
173-
Coordinates = new GeoPosition(-122.34255, 47.0)
249+
Coordinates = new GeoPosition(-122.349309, 47.620498)
174250
},
175251
new ReverseGeocodingQuery()
176252
{
177-
Coordinates = new GeoPosition(-122.34255, 47.0)
253+
Coordinates = new GeoPosition(-122.138679, 47.630356),
254+
ResultTypes = new List<ReverseGeocodingResultTypeEnum>(){ ReverseGeocodingResultTypeEnum.Address, ReverseGeocodingResultTypeEnum.Neighborhood }
178255
},
179256
};
180-
Response<GeocodingBatchResponse> = client.GetReverseGeocodingBatch(items);
257+
Response<GeocodingBatchResponse> result = client.GetReverseGeocodingBatch(items);
258+
//Print addresses
259+
for (var i = 0; i < result.Value.BatchItems.Count; i++)
260+
{
261+
Console.WriteLine(result.Value.BatchItems[i].Features[0].Properties.Address.AddressLine);
262+
Console.WriteLine(result.Value.BatchItems[i].Features[0].Properties.Address.Neighborhood);
263+
}
181264
```
182265

266+
## Get polygons for a given location
267+
268+
This sample demonstrates how to search polygons.
269+
270+
```csharp
271+
using System;
272+
using Azure;
273+
using Azure.Maps.Search;
274+
using Azure.Core.GeoJson;
275+
using Azure.Maps.Search.Models;
276+
using Azure.Maps.Search.Models.Options;
277+
278+
// Use Azure Maps subscription key authentication
279+
var subscriptionKey = Environment.GetEnvironmentVariable("SUBSCRIPTION_KEY") ?? string.Empty;
280+
var credential = new AzureKeyCredential(subscriptionKey);
281+
var client = new MapsSearchClient(credential);
282+
283+
GetPolygonOptions options = new GetPolygonOptions()
284+
{
285+
Coordinates = new GeoPosition(-122.204141, 47.61256),
286+
ResultType = BoundaryResultTypeEnum.Locality,
287+
Resolution = ResolutionEnum.Small,
288+
};
289+
Response<Boundary> result = client.GetPolygon(options);
290+
291+
var count = ((GeoJsonPolygon)((GeoJsonGeometryCollection)result.Value.Geometry).Geometries[0]).Coordinates.Count;
292+
for (var i = 0; i < count; i++)
293+
{
294+
var coorCount = ((GeoJsonPolygon)((GeoJsonGeometryCollection)result.Value.Geometry).Geometries[0]).Coordinates[i].Count;
295+
for (var j = 0; j < coorCount; j++)
296+
{
297+
Console.WriteLine(string.Join(",",((GeoJsonPolygon)((GeoJsonGeometryCollection)result.Value.Geometry).Geometries[0]).Coordinates[i][j]));
298+
}
299+
}
300+
```
301+
302+
## Using V1 SDKs for Search and Render
303+
304+
For more information on using Search v1, see [Azure Maps Search client library for .NET](https://www.nuget.org/packages/Azure.Maps.Search/1.0.0-beta.5). For more information on using Render v1, see [Azure Maps Render client library for .NET](https://www.nuget.org/packages/Azure.Maps.Rendering/1.0.0-beta.3).
183305

184306
## Additional information
185307

articles/azure-monitor/agents/data-collection-log-json.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Collect logs from a JSON file with Azure Monitor Agent
33
description: Configure a data collection rule to collect log data from a JSON file on a virtual machine using Azure Monitor Agent.
44
ms.topic: conceptual
5-
ms.date: 07/12/2024
5+
ms.date: 08/23/2024
66
author: guywi-ms
77
ms.author: guywild
88
ms.reviewer: jeffwo
@@ -88,6 +88,10 @@ $tableParams = @'
8888
{
8989
"name": "FilePath",
9090
"type": "string"
91+
},
92+
{
93+
"name": "Computer",
94+
"type": "string"
9195
}
9296
]
9397
}
@@ -117,6 +121,7 @@ JSON files include a property name with each value, and the incoming stream in t
117121
|:---|:---|:---|
118122
| `TimeGenerated` | datetime | The time the record was generated. This value will be automatically populated with the time the record is added to the Log Analytics workspace if it's not included in the incoming stream. |
119123
| `FilePath` | string | If you add this column to the incoming stream in the DCR, it will be populated with the path to the log file. This column is not created automatically and can't be added using the portal. You must manually modify the DCR created by the portal or create the DCR using another method where you can explicitly define the incoming stream. |
124+
| `Computer` | string | If you add this column to the incoming stream in the DCR, it will be populated with the name of the computer with the log file. This column is not created automatically and can't be added using the portal. You must manually modify the DCR created by the portal or create the DCR using another method where you can explicitly define the incoming stream. |
120125

121126
### Transformation
122127
The [transformation](../essentials/data-collection-transformations.md) potentially modifies the incoming stream to filter records or to modify the schema to match the target table. If the schema of the incoming stream is the same as the target table, then you can use the default transformation of `source`. If not, then modify the `transformKql` section of tee ARM template with a KQL query that returns the required schema.

articles/azure-monitor/agents/data-collection-log-text.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Collect logs from a text file with Azure Monitor Agent
33
description: Configure a data collection rule to collect log data from a text file on a virtual machine using Azure Monitor Agent.
44
ms.topic: conceptual
5-
ms.date: 07/12/2024
5+
ms.date: 08/23/2024
66
author: guywi-ms
77
ms.author: guywild
88
ms.reviewer: jeffwo
@@ -29,7 +29,7 @@ The following diagram shows the basic operation of collecting log data from a te
2929
4. If a custom transformation is used, the log entry can be parsed into multiple columns in the target table.
3030

3131

32-
:::image type="content" source="media/data-collection-log-text/text-log-collection.png" lightbox="media/data-collection-log-text/text-log-collection.png" alt-text="Diagram showing collection of a text log by the Azure Monitor agent, showing both simple collection and a transformation for a comma-delimited file.":::
32+
:::image type="content" source="media/data-collection-log-text/text-log-collection.png" lightbox="media/data-collection-log-text/text-log-collection.png" alt-text="Diagram showing collection of a text log by the Azure Monitor agent, showing both simple collection and a transformation for a comma-delimited file." border="false":::
3333

3434

3535
## Text file requirements and best practices
@@ -60,6 +60,7 @@ The incoming stream of data includes the columns in the following table.
6060
| `TimeGenerated` | datetime | The time the record was generated. This value will be automatically populated with the time the record is added to the Log Analytics workspace. You can override this value using a transformation to set `TimeGenerated` to another value. |
6161
| `RawData` | string | The entire log entry in a single column. You can use a transformation if you want to break down this data into multiple columns before sending to the table. |
6262
| `FilePath` | string | If you add this column to the incoming stream in the DCR, it will be populated with the path to the log file. This column is not created automatically and can't be added using the portal. You must manually modify the DCR created by the portal or create the DCR using another method where you can explicitly define the incoming stream. |
63+
| `Computer` | string | If you add this column to the incoming stream in the DCR, it will be populated with the name of the computer with the log file. This column is not created automatically and can't be added using the portal. You must manually modify the DCR created by the portal or create the DCR using another method where you can explicitly define the incoming stream. |
6364

6465

6566
## Custom table
@@ -69,7 +70,7 @@ Before you can collect log data from a text file, you must create a custom table
6970
> You shouldn’t use an existing custom log table used by MMA agents. Your MMA agents won't be able to write to the table once the first AMA agent writes to the table. You should create a new table for AMA to use to prevent MMA data loss.
7071
7172

72-
For example, you can use the following PowerShell script to create a custom table with `RawData` and `FilePath`. You wouldn't need a transformation for this table because the schema matches the default schema of the incoming stream.
73+
For example, you can use the following PowerShell script to create a custom table with `RawData`, `FilePath`, and `Computer`. You wouldn't need a transformation for this table because the schema matches the default schema of the incoming stream.
7374

7475

7576
```powershell
@@ -90,6 +91,10 @@ $tableParams = @'
9091
{
9192
"name": "FilePath",
9293
"type": "String"
94+
},
95+
{
96+
"name": "Computer",
97+
"type": "String"
9398
}
9499
]
95100
}
@@ -187,6 +192,10 @@ Use the following ARM template to create or modify a DCR for collecting text log
187192
{
188193
"name": "FilePath",
189194
"type": "string"
195+
},
196+
{
197+
"name": "Computer",
198+
"type": "string"
190199
}
191200
]
192201
}
-603 Bytes
Loading
4.77 KB
Loading

articles/azure-monitor/vm/monitor-virtual-machine.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ The following table lists the different steps for configuration of VM monitoring
4444
| Step | Description |
4545
|:---|:---|
4646
| [Deploy Azure Monitor agent](monitor-virtual-machine-agent.md) | Deploy the Azure Monitor agent to your Azure and hybrid virtual machines to collect data from the guest operating system and workloads. |
47-
| [Configure data collection](monitor-virtual-machine-data-collection.md)) | Create data collection rules to instruct the Azure Monitor agent to collect telemetry from the guest operating system. |
48-
| [Analyze collect data](monitor-virtual-machine-analyze.md) | Analyze monitoring data collected by Azure Monitor from virtual machines and their guest operating systems and applications to identify trends and critical information. |
47+
| [Configure data collection](monitor-virtual-machine-data-collection.md) | Create data collection rules to instruct the Azure Monitor agent to collect telemetry from the guest operating system. |
48+
| [Analyze collected data](monitor-virtual-machine-analyze.md) | Analyze monitoring data collected by Azure Monitor from virtual machines and their guest operating systems and applications to identify trends and critical information. |
4949
| [Create alert rules](monitor-virtual-machine-alerts.md) | Create alerts to proactively identify critical issues in your monitoring data. |
5050
| [Migrate management pack logic](monitor-virtual-machine-management-packs.md) | General guidance for translation the logic from your System Center Operations Manager management packs to Azure Monitor. |
5151

@@ -90,4 +90,4 @@ See [Design a Log Analytics workspace architecture](../logs/workspace-design.md)
9090

9191
## Next steps
9292

93-
[Deploy the Azure Monitor agent to your virtual machines](monitor-virtual-machine-agent.md)
93+
[Deploy the Azure Monitor agent to your virtual machines](monitor-virtual-machine-agent.md)

0 commit comments

Comments
 (0)