Check_http2 Support

Hello,

with the current “check_http” no HTTP/2 can be checked (TIMEOUT), with “check_curl” you don’t get clean performance data.

There is already “check_http2” here - https://github.com/kazeburo/check_http2

The parameters are a bit different between “check_http2” and “check_http” so you can’t just swap the file.

Could the @Checkmk_tribe team take care of this issue? Because HTTP/2 is becoming more and more widespread and without a clean check facility we have a problem.

Regards

2 Likes

Put check_http2 in $OMD_ROOT/local/lib/nagios/plugins and use the ruleset “Integrate Nagios plugins” to configure it.

we use Check_MK 1.6 (upgrade to 2.0 is planed), i didn’t find the Ruleset “Integrate Nagios plugins”.

UPDATE: Used " Classical active and passive Monitoring checks"

The ruleset is called “Classical active and passive monitoring checks” there.

2 Likes

With this I was able to install the “foreign” check_http2, thank you.
Nevertheless, in the future a HTTP/2 check must also be included in the Check_MK standard.

1 Like

@Checkmk_tribe Is an http2 check now possible in the standard? I haven’t found anything about it in the release notes.

I would like to rebuild the “own plugin solution” and use the standard.

If i read the documentation correctly at the “monitoring-plugins” web page then the “check_curl” is the replacement for “check_http” if you need to check HTTP/2.
The release notes to the version 2.3.1 of the monitoring plugins are mostly check_curl specific :slight_smile:

Now the question for @robin.gierse or some one else from the Tribe team - why is check_curl missing inside the CMK installation?

1 Like

I wonder why there are no statements from the manufacturer or the responsible persons. That is a bit of a pity.

@Checkmk_tribe

Can only try to ping @robin.gierse or @LaMi :slight_smile:

Hello everyone.
We discussed this internally and currently there is no capacity to implement this in Checkmk.
Technical solutions have already been discussed here.

You could ask one of the checkmk partners to develop an extension for check_curl or a similar Nagios plugin.

This would then be integrated with its own ruleset in the checkmk setup.

You don’t need to implement anything here. The “check_curl” is included inside the deployed monitoring plugins. But don’t show up inside “~/lib/nagios/plugins/”
Is there a reason why this plugin gets not build?

monitoring plugins inside CMK 2.1 → v2.3.1

Release notes from monitoring plugins 2.3

Version 2.3 Released
Jan Wagner, December 10, 2020

The Monitoring Plugins Development Team is proud to announce version 2.3 of the Monitoring Plugins! This release comes with various enhancements and fixes provided by more than thirty contributors, a highlight might be the inclusion of check_curl. Many thanks to all of you!

For the list of notable changes in this release, see below.

You can get the tarball from our download page.

Enhancements
check_curl: check_http replacement based on libcurl
2 Likes

@robin.gierse it would be nice if that could be implemented. Otherwise we also need here a further workaround only for http2. All others can be added in “active_checks:http” but only for http2 we would add a own script and add it to “custom_checks”.

At compiling you probably forget the requirements for check_curl. At your build server the following 2 packages habe to be installed (example for Ubuntu 20.04):

  • liburiparser-dev
  • libcurl4-openssl-dev

Have a look in REQUIREMENTS file of the monitoring-plugins. If you have those installed then make && make install will also build the check_curl.
Like @andreas-doehler already mentioned the check_curl is the replacement for check_http and it gots the same options. So imho you “only” need to add this new option to the “active_checks:http”:

 --http-version=VERSION
    Connect via specific HTTP protocol.
    1.0 = HTTP/1.0, 1.1 = HTTP/1.1, 2.0 = HTTP/2 (HTTP/2 will fail without -S)
2 Likes

any news about this?

We are now on 2.2p6 and still no built-in HTTP/2 check is possible?

Hello @CoLa ,

There are no news for now but there seems to be a feature request for this: Implement check_curl for http2 support - Checkmk

Please consider voting for it – votes show the interest of the community and are considered during planning.

The problem is that check_curl must be available also now as it is part of the installed monitoring plugins package. But it is missing inside CMK. The question is why?

1 Like

And what about if CheckMK would just support/fork and include this project - GitHub - kazeburo/check_http2: Nagios check_http plugin alternative powered by Go? Does exactly what it should and works. But many would rather have something like this “built in” instead of added.

Hi @CoLa and hi @andreas-doehler,

there are several goals, we want to achieve:

  • Get the basic http checks maintainable. This is currently not the case it most likely will not be the case for check_curl as it is not under our control.
  • We want to be able to add support for current developments (e.g. TLS 1.3) or add new features. This is also not possible by changing the upstream source. Regarding this alternative, having no strong knowledge in Go is added to this.
  • We need to have this plugin fast and durable. Therefore, we cannot just simply convert the check_http (or check_curl) into a python script.
  • Additionally, as this is a very important plugin (if not the most in active checks) we want to be able to align the handling and output with our vision of helpful and understandable results (summary / details)

With this written, we will put quite some effort during the current development cycle to tackle at least some of the upper requirements. In the future, we will then be able to further improve the use cases of simple checks for http (certificates, availability, performance, simple content checks, etc.).

But, at the same time, I hear you! Maybe we should consider to make check_curl available in the meantime. We will evaluate our options and how to balance that between “helpful” and “avoid confusion”. Especially, because we’re possibly changing again in 2.3.0.

Speaking of “avoid confusion”: We want to avoid any further confusion as best as possible. Changing upstream source quite often (with subtle different behavior of the plugins) should be avoided.

I hope, this answer brings more light into this topic and our point of view. We’re working hard on ease the situation asap.

3 Likes

@robin.gierse @marcel.arentz

It seems to me that the question from @andreas-doehler was not fully understood or you simply did not address it.

The question was why the check_curl plug-in, which is part of the plug-in collection from monitoring-plugins.org, is not shipped together with the other plug-ins from monitoring-plugins.org that are included in Checkmk Package.

Nothing needs to be replaced, adapted or rewritten for this. However, it would allow us customers to use the “check_curl” plugin from monitoring-plugins.org in the “Integrate Nagios plugins” ruleset without disrupting any of the checkmk development and release plans.

3 Likes

Okay, then regarding to that question explicitly: I’m pretty sure, there is no specific reason, why check_curl is not built.

Additionally: We do not build any plugins from monitoring-plugins which have dependencies we do not already covered by other reasons. In this case, we do not have libcurl as a dependency for the packages.

I’m also unsure, if we should add this dependency as we use it for this plugin, only. Which is only configurable through “Integrate Nagios plugins”.