/// <summary> /// Set status warning only if previous status is OK /// </summary> public void SetWarning() { if (NagiosStatusMessage == NagiosStatusEnum.Ok) { NagiosStatusMessage = NagiosStatusEnum.Warning; } }
/// <summary> /// Change performance counter status according to Nagios / Icinga format. /// Saves error in ResultString /// </summary> /// <param name="nagiosStatusEnum"></param> private void RegisterStatusOnCounter(NagiosStatusEnum nagiosStatusEnum) { // Set status warning if (nagiosStatusEnum == NagiosStatusEnum.Warning) { CounterStatus.SetWarning(); WriteVerbose($"Performance counter on counter {_performanceCounterString} = {_result} >= {_warning} -> status warning"); } // Set status critical else { CounterStatus.SetCritical(); WriteVerbose($"Performance counter on counter {_performanceCounterString} = {_result} >= {_critical} -> status critical"); } // Store result and message in ResultString ResultString = $"{_friendlyName} = {Math.Round(_result, 4, MidpointRounding.AwayFromZero).ToString(FormatFloat)} {nagiosStatusEnum.ToString().ToLower()}."; }
/// <summary> /// Set status OK /// </summary> public void Initialize() { NagiosStatusMessage = NagiosStatusEnum.Ok; }
/// <summary> /// Set status critical /// </summary> public void SetCritical() { NagiosStatusMessage = NagiosStatusEnum.Critical; }
public NagiosStatus(NagiosStatusEnum nagiosStatusEnum) { NagiosStatusMessage = nagiosStatusEnum; }
/// <summary> /// Set status to OK /// </summary> public NagiosStatus() { NagiosStatusMessage = NagiosStatusEnum.Ok; }