/// <summary>
        /// Runs the healthcheck.
        /// </summary>
        public override void RunHealthcheck()
        {
            var dateTime = DateTime.UtcNow;

            this.SaveRemoteCheckStarted(dateTime);

            var parameters = string.Join("&", Array.ConvertAll(this.Parameters.AllKeys, key => string.Format("{0}={1}", key, this.Parameters[key])));

            var message = new OutGoingMessage
            {
                Parameters = new System.Collections.Generic.Dictionary <string, string>
                {
                    { "Type", this.Type },
                    { "Parameters", this.InnerItem["Parameters"] }
                },
                TargetInstance = this.TargetInstance,
                ComponentId    = this.InnerItem.ID.Guid,
                EventRaised    = dateTime
            };

            if (Settings.GetSetting("Healthcheck.Remote.Mode").Equals("eventqueue", StringComparison.OrdinalIgnoreCase))
            {
                EventQueueSender.Send(Constants.TemplateNames.RemoteCustomHealthcheckTemplateName, message);
            }
            else
            {
                MessageBusSender.Send(Constants.TemplateNames.RemoteCustomHealthcheckTemplateName, message);
            }
        }
        /// <summary>
        /// Runs the healthcheck.
        /// </summary>
        public override void RunHealthcheck()
        {
            var dateTime = DateTime.UtcNow;

            this.SaveRemoteCheckStarted(dateTime);

            if (this.LastCheckTime == DateTime.MinValue)
            {
                this.LastCheckTime = DateTime.Now.AddDays(-this.NumberOfDaysToCheck);
            }
            var message = new OutGoingMessage
            {
                Parameters = new System.Collections.Generic.Dictionary <string, string>
                {
                    { "FileNameFormat", this.FileNameFormat },
                    { "ItemCreationDate", this.ItemCreationDate.ToString("yyyyMMddTHHmmss") },
                    { "NumberOfDaysToCheck", this.NumberOfDaysToCheck.ToString() },
                    { "LastCheckTime", this.LastCheckTime.ToString("yyyyMMddTHHmmss") }
                },
                TargetInstance = this.TargetInstance,
                ComponentId    = this.InnerItem.ID.Guid,
                EventRaised    = dateTime
            };

            if (Settings.GetSetting("Healthcheck.Remote.Mode").Equals("eventqueue", StringComparison.OrdinalIgnoreCase))
            {
                EventQueueSender.Send(Constants.TemplateNames.RemoteLogFileCheckTemplateName, message);
            }
            else
            {
                MessageBusSender.Send(Constants.TemplateNames.RemoteLogFileCheckTemplateName, message);
            }
        }
        /// <summary>
        /// Runs the healthcheck.
        /// </summary>
        public override void RunHealthcheck()
        {
            var dateTime = DateTime.UtcNow;

            this.SaveRemoteCheckStarted(dateTime);

            var message = new OutGoingMessage
            {
                Parameters = new System.Collections.Generic.Dictionary <string, string>
                {
                    { "XConnectApiConnectionStringKey", this.XConnectApiConnectionStringKey },
                    { "XConnectApiCertificateConnectionStringKey", this.XConnectApiCertificateConnectionStringKey },
                    { "Warn Before", this.WarnBefore.ToString() }
                },
                TargetInstance = this.TargetInstance,
                ComponentId    = this.InnerItem.ID.Guid,
                EventRaised    = dateTime
            };

            if (Settings.GetSetting("Healthcheck.Remote.Mode").Equals("eventqueue", StringComparison.OrdinalIgnoreCase))
            {
                EventQueueSender.Send(Constants.TemplateNames.RemoteXConnectApiCheckTemplateName, message);
            }
            else
            {
                MessageBusSender.Send(Constants.TemplateNames.RemoteXConnectApiCheckTemplateName, message);
            }
        }
Exemplo n.º 4
0
        /// <summary>Runs the local disk space healthcheck.</summary>
        public override void RunHealthcheck()
        {
            var dateTime = DateTime.UtcNow;

            this.SaveRemoteCheckStarted(dateTime);

            var message = new OutGoingMessage
            {
                Parameters = new System.Collections.Generic.Dictionary <string, string>
                {
                    { "DriveName", this._driveName },
                    { "ErrorPercentageThreshold", this._errorPercentageThreshold.ToString() },
                    { "WarningPercentageThreshold", this._warningPercentageThreshold.ToString() }
                },
                TargetInstance = this.TargetInstance,
                ComponentId    = this.InnerItem.ID.Guid,
                EventRaised    = dateTime
            };

            if (Settings.GetSetting("Healthcheck.Remote.Mode").Equals("eventqueue", StringComparison.OrdinalIgnoreCase))
            {
                EventQueueSender.Send(Constants.TemplateNames.RemoteDiskSpaceCheckTemplateName, message);
            }
            else
            {
                MessageBusSender.Send(Constants.TemplateNames.RemoteDiskSpaceCheckTemplateName, message);
            }
        }
        /// <summary>
        /// Runs the healthcheck.
        /// </summary>
        public override void RunHealthcheck()
        {
            var dateTime = DateTime.UtcNow;

            this.SaveRemoteCheckStarted(dateTime);

            var message = new OutGoingMessage
            {
                Parameters = new System.Collections.Generic.Dictionary <string, string>
                {
                    { "Url", this.Url },
                    { "RequestHeaders", this.InnerItem    ["Request Headers"] },

                    { "Method", this.Method },
                    { "PostBody", this.PostBody },
                    { "ExpectedResponseCode", this.ExpectedResponseCode.ToString() },

                    { "ExpectedResponseBody", this.ExpectedResponseBody },
                    { "usingBasicAuthentication", this.usingBasicAuthentication.ToString() },
                    { "usingJwtAuthentication", this.usingJwtAuthentication.ToString() },
                    { "usingCertificateAuthentication", this.usingCertificateAuthentication.ToString() },
                    { "Username", this.Username },

                    { "Password", this.Password },
                    { "JwtToken", this.JwtToken },
                    { "GenerateTokenUrl", this.GenerateTokenUrl },
                    { "generateTokenEndpointMetho", this.GenerateTokenEndpointMethod },
                    { "storeName", this.StoreName },

                    { "location", this.Location },
                    { "findByTypeName", this.FindByType },
                    { "value", this.Value }
                },
                TargetInstance = this.TargetInstance,
                ComponentId    = this.InnerItem.ID.Guid,
                EventRaised    = dateTime
            };

            if (Settings.GetSetting("Healthcheck.Remote.Mode").Equals("eventqueue", StringComparison.OrdinalIgnoreCase))
            {
                EventQueueSender.Send(Constants.TemplateNames.RemoteApiHealthcheckTemplateName, message);
            }
            else
            {
                MessageBusSender.Send(Constants.TemplateNames.RemoteApiHealthcheckTemplateName, message);
            }
        }