public void TestAzureMonitorOnRunningCluster()
        {
            TestInitialize();
            CommonData.Location = "South Central US";

            string clusterName  = TestUtilities.GenerateName("hdisdk-azuremonitor");
            var    createParams = CommonData.PrepareClusterCreateParamsForWasb();

            createParams.Properties.ClusterDefinition.Kind = "Spark";
            createParams.Properties.ClusterVersion         = "3.6";

            var cluster = HDInsightClient.Clusters.Create(CommonData.ResourceGroupName, clusterName, createParams);

            ValidateCluster(clusterName, createParams, cluster);

            var request = new AzureMonitorRequest
            {
                WorkspaceId = "00000000-0000-0000-0000-000000000000",
                PrimaryKey  = "primarykey"
            };

            HDInsightClient.Extensions.EnableAzureMonitor(CommonData.ResourceGroupName, clusterName, request);
            var azureMonitorStatus = HDInsightClient.Extensions.GetAzureMonitorStatus(CommonData.ResourceGroupName, clusterName);

            Assert.True(azureMonitorStatus.ClusterMonitoringEnabled);
            Assert.Equal(request.WorkspaceId, azureMonitorStatus.WorkspaceId);

            HDInsightClient.Extensions.DisableAzureMonitor(CommonData.ResourceGroupName, clusterName);
            azureMonitorStatus = HDInsightClient.Extensions.GetAzureMonitorStatus(CommonData.ResourceGroupName, clusterName);
            Assert.False(azureMonitorStatus.ClusterMonitoringEnabled);
            Assert.Null(azureMonitorStatus.WorkspaceId);
        }
        public override void ExecuteCmdlet()
        {
            if (this.IsParameterBound(c => c.ResourceId))
            {
                var resourceIdentifier = new ResourceIdentifier(ResourceId);
                this.ClusterName       = resourceIdentifier.ResourceName;
                this.ResourceGroupName = resourceIdentifier.ResourceGroupName;
            }

            if (this.IsParameterBound(c => c.InputObject))
            {
                this.ClusterName       = this.InputObject.Name;
                this.ResourceGroupName = this.InputObject.ResourceGroup;
            }

            if (ClusterName != null && ResourceGroupName == null)
            {
                ResourceGroupName = GetResourceGroupByAccountName(ClusterName);
            }

            var azureMonitorParams = new AzureMonitorRequest
            {
                WorkspaceId = WorkspaceId,
                PrimaryKey  = PrimaryKey
            };

            if (ShouldProcess("Enable Azure Monitor"))
            {
                HDInsightManagementClient.EnableAzureMonitor(ResourceGroupName, ClusterName, azureMonitorParams);
                WriteObject(true);
            }
        }
Exemple #3
0
 /// <summary>
 /// Enables the Azure Monitor on the HDInsight cluster.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='clusterName'>
 /// The name of the cluster.
 /// </param>
 /// <param name='parameters'>
 /// The Log Analytics workspace parameters.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task BeginEnableAzureMonitorAsync(this IExtensionsOperations operations, string resourceGroupName, string clusterName, AzureMonitorRequest parameters, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.BeginEnableAzureMonitorWithHttpMessagesAsync(resourceGroupName, clusterName, parameters, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
Exemple #4
0
 /// <summary>
 /// Enables the Azure Monitor on the HDInsight cluster.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='clusterName'>
 /// The name of the cluster.
 /// </param>
 /// <param name='parameters'>
 /// The Log Analytics workspace parameters.
 /// </param>
 public static void BeginEnableAzureMonitor(this IExtensionsOperations operations, string resourceGroupName, string clusterName, AzureMonitorRequest parameters)
 {
     operations.BeginEnableAzureMonitorAsync(resourceGroupName, clusterName, parameters).GetAwaiter().GetResult();
 }
Exemple #5
0
 public virtual void EnableAzureMonitor(string resourceGroupName, string clusterName, AzureMonitorRequest azureMonitorRequestParameters)
 {
     HdInsightManagementClient.Extensions.EnableAzureMonitor(resourceGroupName, clusterName, azureMonitorRequestParameters);
 }