sni / Thruk

Thruk is a multibackend monitoring webinterface for Naemon, Nagios, Icinga and Shinken using the Livestatus API.
http://www.thruk.org
Other
408 stars 148 forks source link

Upgrading to 3.08.3-12419.1 leads to a Livestatus error on Landing Page #1299

Closed riton closed 1 year ago

riton commented 1 year ago

Describe the bug On a CentOS 7 server, we've upgraded our thuk package from 3.08.2-12404.1 to 3.08.3-12419.1.

Many of our users now see a No Backend available: Naemon : OK ERROR: 400: The request contains an invalid header. - cannot create filter on table hosts (addr: /var/cache/naemon/live) error on the Landing Page (see ScreenShot )

I say Many of our users , cause they don't all face this error and we still don't understand why.

Thruk Version

$ rpm -qa '*thruk*' | sort
libthruk-2.44.2-0.x86_64
naemon-thruk-1.3.0-0.noarch
thruk-3.08.3-12419.1.x86_64
thruk-base-3.08.3-12419.1.x86_64
thruk-plugin-reporting-3.08.3-12419.1.x86_64
$ rpm -qa '*naemon*' | sort
libnaemon-1.3.0-0.x86_64
naemon-core-1.3.0-0.x86_64
naemon-livestatus-1.3.0-0.x86_64
naemon-thruk-1.3.0-0.noarch
$ puppet facts | jq .os
{
  "name": "CentOS",
  "release": {
    "full": "7.9.2009",
    "major": "7",
    "minor": "9"
  },
  "distro": {
    "release": {
      "full": "7.9.2009",
      "major": "7",
      "minor": "9"
    },
    "codename": "Core",
    "id": "CentOS",
    "description": "CentOS Linux release 7.9.2009 (Core)",
    "specification": ":core-4.1-amd64:core-4.1-noarch"
  },
  "family": "RedHat",
  "architecture": "x86_64",
  "hardware": "x86_64",
  "selinux": {
    "enabled": false
  }
}

To Reproduce

Upgrade to latest 3.08.3-12419.1 version from 3.08.2-12404.1.

A simple yum downgrade thruk thruk-base thruk-plugin-reporting to revert to 3.08.2-12404.1 solves the problem for all our users.

Expected behavior

The actual Landing Page as we're used to :-)

Screenshots

no_backend_landing_page

Desktop (please complete the following information): The problem can be reproduced with all browsers, even in private browsing mode.

Additional context

I'm not sure that this is related, bu I see a livestatus query such as:

GET hosts
Columns: name groups
Filter: >= = REDACTED_FIRSTNAME REDACTED_LASTNAME
Filter: groups != 
OutputFormat: wrapped_json
ResponseHeader: fixed16

when a user that faces the problem tries to load the Landing Page . The groups != Filter seems strange, isn't it ?

We do have a test infrastructure than can easily reproduce the problem, feel free to ask us extra information.

Regards

Rémi

sni commented 1 year ago

The groups filter is fine, this simply filters out all hosts without any group. The line above seems wrong. There should be something before the >=.

sni commented 1 year ago

should be fixed with ebba1e6baa1f42d0449235a3d16c6a4f92645f86