//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×pan={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); } }
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)); }
public async Task <object> LogQuery(string email, [FromBody] AKSExcuteLogQuery logQuery) { return(await _monitorBus.LogQuery(email, logQuery)); }