Invoke-icingacheckhttpstatus - unknown

hello,

testing with curl gives me http 200.
image

using Invoke-icingacheckhttpstatus gives me an unknown for response time.
image

any idea how to approach this issue.

tested locally

image

mj

Hi,

it looks like on your system the check can’t messure the time of the webrequest to the passed website. From the output I think you set verbose to 3. What happens if you set verbose to 1?

A look into the code of the check looks like the problem cause this if state

# Response Time
if ($HTTPData.$SingleUrl['RequestTime'] -eq $null) {
     $HTTPResponseTimeCheck = New-IcingaCheck -Name "HTTP Response Time" -Value 0 -LabelName ([string]::Format('{0}.http_response_time', $TransformedUrl)) -Unit 's' -Hidden;
      $HTTPResponseTimeCheck.SetUnknown() | Out-Null;
 } else {

That means the result of

$HTTPData.$SingleUrl['RequestTime']

is empty.

The question is now: why?

what we can also see if dig deeper in the code, the check calls the sub routine Get-IcingaCheckHTTPQuery which is calling another routine for meassure the time Start-IcingaTimer. The routine to get the time Get-IcingaTimer is only triggerd if there is a content.

Thank you. I just created the PR and fixed this issue: Fix: Invoke-IcingaCheckHTTPStatus RequestTime return value by LordHepipud · Pull Request #287 · Icinga/icinga-powershell-plugins (github.com)

It will be resolved with the v1.9.0 release in May or maybe sooner, depending if there are other issues in the meantime we can resolve.

1 Like