示例#1
0
        /// <summary>
        /// 添加监控数据
        /// </summary>
        public async Task <CreateMetricDataResponse> CreateMetricDataAsync(CreateMetricDataRequest createMetricDataRequest)
        {
            Dictionary <string, string> urlParam = new Dictionary <string, string>();
            string              urlPath          = HttpUtils.AddUrlPath("/V1.0/{project_id}/metric-data", urlParam);
            SdkRequest          request          = HttpUtils.InitSdkRequest(urlPath, "application/json;charset=UTF-8", createMetricDataRequest);
            HttpResponseMessage response         = await DoHttpRequestAsync("POST", request);

            return(JsonUtils.DeSerializeNull <CreateMetricDataResponse>(response));
        }
        /// <summary>
        /// 添加一条或多条自定义指标监控数据,解决系统监控指标不能满足具体业务需求的场景。
        /// </summary>
        /// <param name="cesV1Client"></param>
        private static void CreateMetricData(CesClient cesClient)
        {
            CreateMetricDataRequest createMetricDataRequest = new CreateMetricDataRequest()
            {
                Body = new List <MetricDataItem>()
                {
                    new MetricDataItem()
                    {
                        Metric = new MetricInfo()
                        {
                            Namespace  = "AGT.ECS",
                            Dimensions = new List <MetricsDimension>()
                            {
                                new MetricsDimension()
                                {
                                    Name  = "instance_id",
                                    Value = "1639371e-066f-4782-924c-40bd2db3ba07"
                                }
                            },
                            MetricName = "mem_usedPercent"
                        },
                        Ttl         = 172800,
                        CollectTime = 1587017957000,
                        Type        = "float",
                        Value       = 10.45,
                        Unit        = "%"
                    }
                }
            };

            try
            {
                CreateMetricDataResponse createMetricDataResponse = cesClient.CreateMetricData(createMetricDataRequest);
                Console.WriteLine(createMetricDataResponse.HttpStatusCode);
            }
            catch (RequestTimeoutException requestTimeoutException)
            {
                Console.WriteLine(requestTimeoutException.ErrorMessage);
            }
            catch (ServiceResponseException clientRequestException)
            {
                Console.WriteLine(clientRequestException.HttpStatusCode);
                Console.WriteLine(clientRequestException.ErrorCode);
                Console.WriteLine(clientRequestException.ErrorMsg);
            }
            catch (ConnectionException connectionException)
            {
                Console.WriteLine(connectionException.ErrorMessage);
            }
        }