Ejemplo n.º 1
0
        public static AddMonitorResponse Unmarshall(UnmarshallerContext context)
        {
            AddMonitorResponse addMonitorResponse = new AddMonitorResponse();

            addMonitorResponse.HttpResponse = context.HttpResponse;
            addMonitorResponse.RequestId    = context.StringValue("AddMonitor.RequestId");
            addMonitorResponse.Code         = context.StringValue("AddMonitor.Code");
            addMonitorResponse.Message      = context.StringValue("AddMonitor.Message");
            addMonitorResponse.Data         = context.StringValue("AddMonitor.Data");

            return(addMonitorResponse);
        }
Ejemplo n.º 2
0
        public static AddMonitorResponse Unmarshall(UnmarshallerContext _ctx)
        {
            AddMonitorResponse addMonitorResponse = new AddMonitorResponse();

            addMonitorResponse.HttpResponse = _ctx.HttpResponse;
            addMonitorResponse.RequestId    = _ctx.StringValue("AddMonitor.RequestId");
            addMonitorResponse.Code         = _ctx.StringValue("AddMonitor.Code");
            addMonitorResponse.Message      = _ctx.StringValue("AddMonitor.Message");

            AddMonitorResponse.AddMonitor_Data data = new AddMonitorResponse.AddMonitor_Data();
            data.TaskId             = _ctx.StringValue("AddMonitor.Data.TaskId");
            addMonitorResponse.Data = data;

            return(addMonitorResponse);
        }
        /// <summary>
        /// Use to add a new Custom monitor.
        /// </summary>
        /// <param name="apiKey"></param>
        /// <param name="authToken"></param>
        /// <param name="descriptor">Configuration of monitor for add</param>
        /// <returns></returns>
        public AddMonitorResponse AddMonitor(String authToken, MonitorDescriptor descriptor)
        {
            if (descriptor == null)
            {
                throw new ArgumentNullException("descriptor");
            }

            APIClient apiClient = GetApiClient(ActionNames.AddMonitor, authToken);

            String resultParams = Utils.JoinMonitorResultParams(descriptor.ResultParams);

            apiClient.AddParam(ParamNames.ResultParams, resultParams);
            apiClient.AddParam(ParamNames.Name, descriptor.Name);
            apiClient.AddParam(ParamNames.Tag, descriptor.Tag);
            AddMonitorResponse addMonitorResponse = apiClient.InvokePost <AddMonitorResponse>();

            return(addMonitorResponse);
        }
        /// <summary>
        /// Create monitors for Azure metrics and counters in Monitis service
        /// </summary>
        public List <string> CreateAzureMonitors()
        {
            CustomMonitorAPI customMonitorAPI = new CustomMonitorAPI(this.APIKey, this.APIType);

            List <String>         notAddedMonitors = new List <String>();
            IEnumerable <Monitor> monitorList      = customMonitorAPI.GetMonitorList();

            foreach (var monitorName in CustomMonitorList.Singleton.MonitorNames.Except(monitorList.Select(f => f.Name)))
            {
                AddMonitorResponse addMonitorResponse = customMonitorAPI.AddMonitor(CurrentAuthToken,
                                                                                    CustomMonitorList.Singleton.GetConfigByMonitorName(monitorName).Descriptor);

                if (!addMonitorResponse.IsOk)
                {
                    notAddedMonitors.Add(monitorName);
                }
            }
            return(notAddedMonitors);
        }