Exemplo n.º 1
0
        //Azure日志服务
        public async Task <object> ExcuteLogQuery(AKSExcuteLogQuery logquery, string access_token)
        {
            //timespan="P1D"
            //string query = string.Format("set query_take_max_records=10001;set truncationmaxsize=67108864;InsightsMetrics| limit 50");
            CreateQueryString createQuery = new CreateQueryString();
            var requestmodel = new JObject
            {
                { "query", createQuery.ExcuteAKSLogQuery(logquery) }
            };
            string requestbody = JsonConvert.SerializeObject(requestmodel);
            string url         = string.Format("/v1/subscriptions/{0}/resourceGroups/{1}/providers/" +
                                               "Microsoft.ContainerService/managedClusters/{2}/query?scope=hierarchy&timespan={3}",
                                               logquery.subid, logquery.resourceGroupName, logquery.resourceName, logquery.timespan);
            var request = new HttpRequestMessage(HttpMethod.Post, url);
            var client  = this._clientFactory.CreateClient("LogAnalyResource");

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", access_token);
            request.Content = new StringContent(requestbody, UnicodeEncoding.UTF8, "application/json");
            var response = await client.SendAsync(request);

            string result = await response.Content.ReadAsStringAsync();

            if (response.IsSuccessStatusCode)
            {
                JObject job = (JObject)JsonConvert.DeserializeObject(result);
                return(job);
            }
            else
            {
                return(response.ReasonPhrase);
            }
        }
Exemplo n.º 2
0
        public async Task <object> LogQuery(string email, AKSExcuteLogQuery logQuery)
        {
            string access_token = _tokenDto.GetTokenString(email, _tokenResource.Value.apilog);

            return(await _monitorDto.ExcuteLogQuery(logQuery, access_token));
        }
Exemplo n.º 3
0
 public async Task <object> LogQuery(string email, [FromBody] AKSExcuteLogQuery logQuery)
 {
     return(await _monitorBus.LogQuery(email, logQuery));
 }