Azure Web App暂存监控

时间:2015-08-30 12:08:22

标签: azure monitoring

大家。 现在我正在使用不错的nuGet package来监控我的天蓝色网页应用。代码可能看起来像这样

var certificate = BuildCertificate(StoreName.My, StoreLocation.LocalMachine, " certificate thumbprint");
string subscriptionId = "subscriptionId";
string webspace = "westuswebspace";
string website = "websitename";

using (var client = new MetricsClient(new CertificateCloudCredentials(subscriptionId, certificate)))
{
    var metricDefs = client.MetricDefinitions.List(ResourceIdBuilder.BuildWebSiteResourceId(webspace, website), null, null);

    var end = DateTime.UtcNow;
    var start = end.AddHours(-12);
    var timeGrain = TimeSpan.FromHours(1);

    var metricVals = client.MetricValues.List(ResourceIdBuilder.BuildWebSiteResourceId(webspace, website),
        metricDefs.MetricDefinitionCollection.Value.Select(md => md.DisplayName).ToList(), "",
                timeGrain, start, end);

    foreach (var metric in metricVals.MetricValueSetCollection.Value)
    {
        Console.WriteLine("Metric Name: {0}", metric.DisplayName);
        Console.WriteLine("Metric Namespace: {0}", metric.Namespace);
        foreach (var val in metric.MetricValues)
        {
            Console.WriteLine("Value: {0}", val.Average.HasValue ? val.Average.Value : 0);
        }
        Console.WriteLine("//////////////////////");
    }
}

证书检索逻辑

private static X509Certificate2 BuildCertificate(StoreName storeName, StoreLocation storeLocation, string thumbprint)
{
    var store = new X509Store(storeName, storeLocation);
    store.Open(OpenFlags.ReadOnly);

    try
    {
        var builder = new StringBuilder(thumbprint.Length);
        foreach (char c in thumbprint.Where(char.IsLetterOrDigit))
        {
            builder.Append(c);
        }

        string cleanThumbprint = builder.ToString();
        X509Certificate2Collection list = store.Certificates.Find(X509FindType.FindByThumbprint, cleanThumbprint, false);

        X509Certificate2 cert;
        if (list == null || list.Count != 1)
        {
            cert = null;
        }
        else
        {
            cert = list[0];
        }
        return cert;
    }
    finally
    {
        store.Close();
    }
}

所以,当我和prod一起工作时,一切都运行得很好,但我无法弄清楚,我如何监控我的临时环境。 拜托,帮助我。我非常感谢任何帮助。

0 个答案:

没有答案