You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/data-explorer/vnet-deployment.md
+139Lines changed: 139 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -258,3 +258,142 @@ For example, for **West US** region, the following UDRs must be defined:
258
258
To deploy Azure Data Explorer cluster into your virtual network, use the [Deploy Azure Data Explorer cluster into your VNet](https://azure.microsoft.com/resources/templates/101-kusto-vnet/) Azure Resource Manager template.
259
259
260
260
This template creates the cluster, virtual network, subnet, network security group, and public IP addresses.
261
+
262
+
## Troubleshooting
263
+
264
+
Learn how to troubleshoot connectivity, operational, cluster creation issues for a cluster that is deployed into your [Virtual Network](/azure/virtual-network/virtual-networks-overview).
265
+
266
+
## Access issues
267
+
268
+
If you have an issue while accessing cluster using the public (cluster.region.kusto.windows.net) or private (private-cluster.region.kusto.windows.net) endpoint and you suspect it is related to virtual network setup, follow these steps to troubleshoot the issue.
269
+
270
+
### Step 1: Check TCP connectivity
271
+
272
+
#### Check using Windows OS
273
+
274
+
1. Download [TCping](https://www.elifulkerson.com/projects/tcping.php) to the machine that is connecting to the cluster.
275
+
2. Ping the destination from the source machine by using the following command:
276
+
```cmd
277
+
C:\> tcping -t yourcluster.kusto.windows.net 443
278
+
279
+
** Pinging continuously. Press control-c to stop **
280
+
281
+
Probing 1.2.3.4:443/tcp - Port is open - time=100.00ms
282
+
```
283
+
#### Check using Linux OS
284
+
285
+
1. Install *netcat* to the machine that is connecting to the cluster
286
+
```bash
287
+
$ apt-get install netcat
288
+
```
289
+
2. Ping the destination from the source machine by using the following command:
290
+
291
+
```bash
292
+
$ netcat -z -v yourcluster.kusto.windows.net 443
293
+
294
+
Connection to yourcluster.kusto.windows.net 443 port [tcp/https] succeeded!
295
+
```
296
+
297
+
If the test is successful, that means that the issue is due to other issue or operational issue, please go to [operational issues](#operational-issues) section to troubleshoot, otherwise proceed with the following steps.
298
+
299
+
### Step 2: Check Network Secuirty Group (NSG)
300
+
301
+
Make sure that [Network Security Group](/azure/virtual-network/security-overview) (NSG) attached to the cluster's subnet has an inbound rule that allows the access from the client machine's IP for the port 443.
302
+
303
+
### Step 3: Check Route Table
304
+
305
+
If the cluster's subnet has force-tunneling setup to firewall (subnet with a [route table](/azure/virtual-network/virtual-networks-udr-overview) that contains the default route '0.0.0.0/0') make sure that the machine IP address has route with [next hop type](/azure/virtual-network/virtual-networks-udr-overview) to VirtualNetwork/Internet, this is required to prevent asymmetric route issues.
306
+
307
+
## Ingestion issues
308
+
309
+
If you're experiencing ingestion issues and you suspect it is related to virtual network setup, follow these steps to troubleshoot the issue.
310
+
311
+
### Step 1: Check ingestion health
312
+
313
+
Make sure that the [cluster ingestion metrics](/azure/data-explorer/using-metrics#ingestion-health-and-performance-metrics) indicate healthy state.
314
+
315
+
### Step 2: Check security rules on source resources
316
+
317
+
If you see that metrics indicate that no events were processed from data source (*'Events processed (for Event/IoT Hubs)'* metric) make sure that the data source resources (EventHub/Storage) allow access from cluster's subnet in the firewall rules or service endpoints.
318
+
<br>
319
+
320
+
### Step 3: Check security rules configured on cluster's subnet
321
+
322
+
Make sure cluster's subnet has NSG, UDR and firewall rules are properly configured.
323
+
<br>
324
+
To test network connectivty for all dependent endpoints follow the steps [here](#step-1:-diagnose-virtual-network-with-the-rest-api).
325
+
326
+
## Cluster creation and operations issues
327
+
328
+
If you're experiencing cluster creation or operateion issues and you suspect it is related to virtual network setup, follow these steps to troubleshoot the issue.
329
+
330
+
### Step 1: Diagnose virtual network with the REST API
331
+
332
+
The ARMclient is used to call the REST API using PowerShell. The ARMClient is found on chocolatey at [ARMClient on Chocolatey](https://chocolatey.org/packages/ARMClient)
333
+
334
+
### Log in with ARMClient
335
+
336
+
```powerShell
337
+
armclient login
338
+
```
339
+
340
+
### Invoke diagnose operation.
341
+
342
+
```powershell
343
+
$subscriptionId = '<subscription id>'
344
+
$clusterName = '<name of cluster>'
345
+
$resourceGroupName = '<resource group name>'
346
+
$apiversion = '2019-11-09'
347
+
348
+
armclient post "https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Kusto/clusters/$clusterName/diagnoseVirtualNetwork?api-version=$apiversion" -verbose
armclient get https://management.azure.com/subscriptions/$subscriptionId/providers/Microsoft.Kusto/locations/{location}/operationResults/{operation-id}?api-version=2019-11-09
If *Findings* property shows empty result, it means that all network tests passed and no connections are broken, otherwise it will show an error as follows *"Outbound dependency '{dependencyName}:{port}' might be not satisfied (Outbound)"* it means the cluster cannot reach the dependent service's endpoints, proceed with the following steps to troubleshoot.
388
+
389
+
### Step 2: Check Network Security Group (NSG)
390
+
391
+
Make sure that the [Network Security Group](/azure/virtual-network/security-overview) is configured properly per the instuctions in [Dependencies for VNet deployment](/azure/data-explorer/vnet-deployment#dependencies-for-vnet-deployment)
392
+
393
+
### Step 3: Check Route Table
394
+
395
+
If the cluster's subnet has force-tunneling setup to firewall (subnet with a [route table](/azure/virtual-network/virtual-networks-udr-overview) that contains the default route '0.0.0.0/0') make sure that the [management IP addresses](/azure/data-explorer/vnet-deployment#azure-data-explorer-management-ip-addresses) and [health monitoring IP addresses](/azure/data-explorer/vnet-deployment#health-monitoring-ip-addresses) has route with [next hop type](/azure/virtual-network/virtual-networks-udr-overview##next-hop-types-across-azure-tools) *Internet*, and [source address prefix](/azure/virtual-network/virtual-networks-udr-overview#how-azure-selects-a-route) to *'management-ip/32'* and *'health-monitoring-ip/32'*, this is required to prevent asymmetric route issues.
396
+
397
+
### Step 4: Check firewall rules
398
+
399
+
If you force tunnel subnet outbound traffic to a firewall, make sure all dependencies FQDN (e.g. **.blob.core.windows.net*) are allowed in the firewall configuration as described in [Securing outbound traffic with firewall](/azure/data-explorer/vnet-deployment#securing-outbound-traffic-with-firewall).
0 commit comments